In the last post, Dan talked about the evolution of the concept and art of the game. He left the technical details to me, the evolution of the code of the game, from the prototype to the current build. How we’ve had to change the editor over and over again as we decided which technique was better to build the stages of the game.
First, the game was a little pixelart platformer, maybe something like the Orton and The Princess game by my friend Chman, but with different graphics and the special secret mechanics of Kodama.
The prototype was built using FlashPunk (as some clever readers may have noticed because of the flashPunk debug overlay), and it consisted of a simple tile-based platformer game, with the water you can see there. The water was a bit special, though, I made it dynamic with a celular-automata technique, but we decided to scrap this feature later.
The editor of this version was accessible by the simple press of the key. In the editor, you could place the tiles and objects like the player with the mouse, and press the key again to test the level instantly.
We had a talk later on about the graphics route of the game. At this point, Kodama was just a prototype name we gave to the game, so we could refer to it internally, but this same name was what made us decide to go with a japanese style on the game. We also decided to have the hand-crafted, high-res graphics to make gorgeous stages.
This was what Dan made, with a pixelarty style:
But Dan was not happy with his work. We decided we wanted something more. So he hired Chris…
So the next route we took, was that the artist would draw ALL the stage in a graphics edition program (he used photoshop). He drew some test stages we liked really much. For the collisions, I built a pixelmask system combined with the platformer, so Kodama could go up and down the slopes.
The editor was completely redone. Now, it asked for the images and pixelmask of the level. Then, you could also place water and other objects on the editor directly, in a tile-based fashion. We also placed a grid-system (with automatic pixelmask detection so we hadn’t to place EVERY solid place) for special systems of the game, like rays with mirror reflections.
But then, we decided that wasn’t what we wanted. This made completely impossible to tweak the level, as Chris would have had to redraw the whole stage. It was also hard to prototype levels and design new ideas. We had to draw the levels on paper and then give them to the artist so he could draw them. Then we had to import them to the game, build the level, and see if we liked. If we didn’t, we had to ask the artist for a complete redraw. What a waste of time. Moreover, it would have encouraged the laziness of not tweaking little bits to make the stage perfect, as a lot of work was required to move a platform 20 pixels.
So, after a bit of deliberation, we took another route. Have you seen Braid or Aquaria editor? How they work is, the person who’s designing the levels has got a huge collection of different stamps (little images), which can be placed, scaled, rotated and tinted. Thus, allowing to create gorgeous looking levels with a lot of possible layouts. We decided to go on the same route.
I spent a few days to get an editor ready which would allow us exactly that. It has layer management, stamps, objects, polygons for the collisions (more on that later), particles, can test the game with the click of a button, etc. Now it’s really cool and fun to design a level.
I also redid completely the engine of the game. I scrapped FlashPunk and got ND2D, which is a 2D engine which uses the new GPU features from FlashPlayer 11. I also incorpored Nape for the physics of the game, so the game featured real physics now, which allows us a lot more freedom on designing the puzzles of the stages. For the collision masks of the level, we use polygons now, that’s why the editor needed them.
We also got a level designer on our team, Javier, who’s doing all the stages. He plans the stages with some pictures, builds them with the editor… then we see if they work fine. After that, he works hand in hand with the artist so there’s special stamps crafted for that level to look even more pretty. Then it’s time for particles, eye-candy, etc. and the level is done. After that, we play the level over and over and over and over to make sure everything’s perfect, tweaking every little bit of it.
So that’s the whole evolution of Kodama code. I hope you liked it