So there is a slight glitch with the reflection but ALMOST there.
So for those of you curious I’m throwing down some water rendering magic. Not to mention real-time environment cube mapping. Behold the result. So it’s broken and the ocean needs some motion ( pun fully intended ). I also may be slightly sleep deprived… but onwards and upwards.
Okay above you see rough and blurred. The rough pass uses a single sample against the depth buffer. Those bloody pixels are a result of the resolution of the shadow map.
Many people will tell you this but whenever you have a problem try to visualise it. This can be applied to almost everything (except cases where visualisation is a constraint, think advanced maths and quantum). So above you see the debug frustum.
Wooot! Progress, the shadow is low quality due to PC card limits. I need to add some bias to avoid flicker, and smooth off the edges to get soft shadows.
So climbing into bed last night I got a great idea. Debug the Light ViewProjection matrix by using a camera with the same matrix. Well you know how I managed to knock together that skybox so quickly. Well I dug into it…. YIKES.
Full Screen shadows almost done. Had to run. Just caught last bus home. Some weird filming on the lot. More tomorrow.
So after a lot of thought and planning yesterday I set about implementing soft shadows using shaders tonight. Sadly this meant I needed to re-haul the entire scene manager and packer to support texture swapping, and effect management.
Animation test for Hand
Well lighting & shadows are a complex bag of trickery and maths. Basic Lighting is simple. Take a book outside into the sun now rotate the bugger around and throw it.
Day & Night Cycle. Woot! Not only did I get a pretty awesome Sky-Sphere in place but I also managed to knock up a day/night cycle. I also cleaned up the shaders and have global lighting in place. Found an awesome tut, and manage to knock the shader up from that.
Ye gods captain, PROGRESS. After the dismal run around the pointlessness I have actually made some progress last night and today. Coupling Issue solved with Interface. Island has day/night cycle. Shop Blimp interior & exterior modelled. Blimp added to world.
My Kingdom for a Team. What’s the best tool to explore and solve problems? Explain it to someone else. It’s good enough for Sherlock Holmes and its good enough for me. I hate working in isolation because you don’t need to justify or explain yourself to people.
GUI Work. The big choices I’m facing at the moment and playing around is on two fronts, GUI Behaviour and Render Pipeline. Fighting through some choices… will post more shortly
So no progress yesterday as it took me forever to vote, and then I got lost in endless election cover and got no sleep, zombied through work today. Anyway got back and looking mostly at setting up the menu and gui system for buying and setting up stuff.
Island Scale. Staying late at work to do university work is REALLY awesome, and so works. My work setup is just so much better for coding. Pro vs Express. Two Screens desktop vs Laptop. Work vs Bedroom. Anyway, getting the island render stuff in.
Output Log. Created World[Game World] Building Basic Prop [Template] Frank.Island.WorldProp Building Basic Prop [Building Template] Frank.Island.Building Building Container Prop [Container Template] Frank.Island.Container Building Inventory Prop [Inventory Template] Frank.Island.Inventory Building...
Hitting a massive break trying to get Model-View-Controller to work with Data Driven model. I’ve found out some nice stuff about C# activator but it gets messy. Ultimately I think I’m going to have to through a few engineering scruples out the window and hack it if I want to stay on track.
AAAARGH!!!! Really slow progress, here are some of the hurdles I’ve been hitting. Baking Shadow Maps in 3D Studio Max while maintaining the UV (a bad tangent). Confusion between ActiveTransform and Transform. Renamed them to WorldTransform and RelativeTransform. Broken input needed fixing.
I really wish I had a pretty picture but I don’t. Sadly it’s a problem with grunt coding tasks is there is very little pretty to show for it. In fact most of my work today has been in the Content Pipeline which runs at build time. So its not even runtime code. XML Data.
Updated the document from my notes, and a few use cases. Clean Version Here. The main break throughs and choices are below. Prop Code. All the prop data will be created from an XML file and parsed into a dictionary which is indexed by Prop Code.
Cooking Calamity Use cases, defining more stuff. Well I suggest following the link for loads of stuff but the biggest thing is cooking. I knew some simple things were core to the game. Time Based Interactions - Farming. Activities - Fishing, Fairy, Milling. Coins & Customisation.
So after the coupling issue I’ve been looking at Object Factories and inventories. Now something I learn to love more and more is Data-Driven development. I cannot express my love for it highly enough.
Coupling and Forethought. So last night I started looking at setting up the game elements and save data. The moment I started I saw coupling issues rise up like the ugly beast. Thankfully I’ve seen this monster and I know how to deal with it. I went to bed with pen & paper.
More notes on Game-Play. So I’ve been at Uni and running around town so most of my work was in my note-book but it gave me some time to form some thoughts, and define some game-play. Also after much thought a stunning thought came to me. NO VIOLENCE!!! Player Actions. Frank Pet / Scold.
Stupid Artist!! Oh no wait… that’s me. As far back as Wednesday last week when I was working my way through this problem I joked about the artist being stupid.
Right I’ve moved over most the nice LD code into the Frank project, cleaned up a few things here and there. Made it play nice with the World Manager system. First thing I did after getting the camera controls in was apply the debug renderer to the stupid animation problem I’m having.
Brick wall. Importing really simple models with a low bone count with no issue. The hand has been glitching all day. Still no closer to solver the problem. Unfortunately I’m working with Visual Express C# and my old Visual Studio Pro 2005.
The last roadblock I hit was tagging animations for export. Well after talking to the artists at work no-one knows how to do it in 3ds Max 2009 (or any version of Maya). So after some digging I found this post on the XNA forums.
Small Progress but still progress. Okay so doesn’t look very different. Multiple Animators. World & Object Management. Instanced Objects & Animations. The World & Object management took me so much longer than it should have. I had to wrap my head around methods of garbage collection that C# uses.
Case Project. Created Project. Menu System. Networking. Skinned Animated Models. Sounds like a lot but in reality I stole the Network State Sample and Skinned Model Sample used some duct tape and got to work.
Soooo the university tasks list commences. I have a short amount of time to do a lot of overdue work :P. Story Board Notes. Camera fly around. Focus on Read outs. Start Drainage. Camera pull back for full view. Drain tube and drop lid. Heavy smoke emissions from the top of the tube.