And so co.llide rose from the ashes. With two-dimensional physics, we now had the option to expand our browser support, and, wanting to have as many people be able to play our game as possible, we decided to go for it. This meant that our game could no longer have the 3D graphics that it once had, but we still wanted to keep that 3D feel even if we couldn’t use 3D tech.
After discussing it with Eric, our graphics programmer, he developed a
‘trick’ ILLUSION that involves the use of normals to give our 2D ships the appearance of depth, allowing for a sun-like light source. Considering that the ships are built of distinct pieces that fall off, we couldn’t very well go and use renders of 3D ships facing different directions on a spritesheet. That, and players will eventually be building their own. So, with Eric’s implementation and my normals maps, we’ve achieved a very convincing effect.
The loss of the third dimension also means that, unlike our 3 or 4 block high cars, our ships will be entirely on a single plane, requiring a redesign of how players will be placing pieces. I came up with four distinct ship designs to test a variety of initial ideas for weapon types and thruster layouts. Since an editor, even an internal one, is a ways off, these were all assembled freehand in JSON.
The 3D cars I developed in TinkerTech Derby were approximately 5 wide by 6 long by 4 high. Even in just those 120 blocks, a lot of variety was possible. The 2D ships in co.llide have a max size of 24 x 24, or 576 cells, and, quite frankly, that’s a ton of space; perhaps even too much for allowing the individual placement of pieces. All that space has led me and my co-workers to the conclusion that the 2D ships would be best constructed out of pre-designed chunks, providing constraints to the build process. After all, giving too many options can overwhelm a player and hinder creativity.
I will assemble both regular and specialized pieces (guns, thrusters, hull, etc) into chunks, and then make them available in an editor. There will most likely be a point cost associated with each chunk, allowing for a, hopefully, balanced match between very different ships! How this chunk system gets implemented is still very much on-the-drawing-board, so testing will be an integral part of that balancing process.
I hope this gave you a glimpse into what our next few steps toward bringing you an awesome (and balanced!) competitive game are, so, despite all the technical difficulties, look out for future demos showing off the compound chunk designs!