Visually the game turned out very nice. The world is covered in dark fog that is repelled by objects that can emit light. Fireflies do, of course, and there are also plants in the world that emit light when the player moves near them. We were able to use our entire engine from the previous year that we built for Dusty. For Parabellum I added a few features to the renderer, namely post-proc effects like bloom. Parabellum uses deferred shading, which I think was a good decision considering the game design. It allowed us to have all of the fireflies emit their own light and render holes in the fog without too much extra work. Unfortunately there are a few graphical features we weren't able to get in that would have really looked nice. Firstly I would have liked to have actual terrain beneath the player instead of just scrolling textures. Having terrain in the background that was lit by all of the game's light sources would have looked really nice. Secondly, I would have liked to have nicely textured and animated fog. All we really did for the fog was darken the things underneath it. I got about halfway towards some kind of animation using perlin noise but that didn't get far enough to see the light of day.
What really makes the game visually appealing is our spline system. The technique for rendering is pretty simple. We use a basic triangle strip mesh with multiple subdivisions, then send the spline's control points to the shader and use the bezier formula to form a spline out of the mesh points. With just that one technique we're able to achieve all of the vector graphics style effects in the game, from the springy seaweed to the awesome jellyfish. Of course the main tree uses it as well, and Derrick wrote the system for creating the splines and animating both the spline growth and the little leaves that grow out on the sides. It was all hard-coded, but it looked good!
I was responsible for the game's level editor. It was the first editor I wrote that had do and undo, the most indispensible tool of any kind of editing software. Its capabilities were basically just placing entities and lights within the world. Derrick used it to make the level we presented with our final. It was actually a fairly significant amount of code when all was said and done, but the structure turned out well, and it was all in-engine. We only had to run a separate game state from the main game state to run it.
The system itself worked just fine. You can sort of see it in action in the previous video, and actually it's still in use in the vinal version where you simply grow out in a chain. The fact that we were only able to demonstrate extremely simple rulesets belies the problem with our design - making interesting ship designs with procedural techniques is really hard. Especially without artists. I've learned that lesson many times thoughout my DigiPen career. Procedural content always seems so wonderful when first conceived, but its implementation is has rarely been better than hand-made assets. The procedural textures in Dusty were definitely my best use of procedural asset generation. Despite the fact that the system wasn't really used, I am happy with how it turned out. It was actually pretty fun to write.
I'm happy with how the game turned out in the end. It felt like a unique idea that could have been even more awesome had we had more time to work on the other things we wanted to get into the game. Maybe we'll revisit it sometime in the future.