Dyed World is a 2.5D adventure / Puzzle game where the whole world has become black and white, flat and lifeless. Mysterious creatures have eaten the entire colour from the surrounding objects killing them at the same time. You will take control of a boy who has the power to paint objects bringing them back to life. You will paint the environment to bring it back to life and 3D again, interacting with objects to progress to the next levels, fight with enemies to retrieve paint and discover the mystery of the missing colours. Physics based puzzles and beautiful transformation visual effects.
Dyed World was created for the Dare to be Digital competition in 2010. The competition lasted 10 weeks where my team and myself worked full time to build the game.
The team consisted of a designer, two artists and two programmers (of which I was one).
We used agile methods to organize and split up the work into manageable tasks.
We used C# with the XEN framework, and the Farseer physics engine.
We implemented a component based system to help break up the code into discreet functionality and try to maximise code reuse. This system also proved useful when we build an editor to create our game levels in, as it was fairly easy to serialize and de-serialize these smaller components.
I was responsible for the rendering code, including the shaders for the outlining. There was an extra challenge in that one of the machines we had to demo on had a low-end graphics card (an Intel GMA integrate graphics card). I was also responsible for integrating the physics engine into the game.
I created an editor that allowed us to create our levels in. It let you create entities either from a template, or by creating a blank and adding additional components to it. You would then be able to add or remove additional components or modify variables present in those components (such as the texture and mesh on a renderable component).
In order to apply a physics shape to the entities, I created a mode for the editor that allowed the user to paint on a physics shape to a face on view of the object, as it would appear in game, giving an easy way to create and modify the collision shapes.
Dyed World requires XNA 3.1 and an Xbox 360 (or compatible) controller