Final Post
After a semester of research, learning, iteration and refinement I finally have a working game!
‘Grav Spin’
This screen-shot is of the first level of my finished game, but it does not however illustrate the many design stages leading to this final product…
Research & Inspiration
I knew from the outset that I wanted my game to be some form of physics & skill based game. I particularly appreciate the look and feel of games like Nimbus (above left) that required finesse and coordination, but with a fluidity that makes it looks effortless& natural to an observer.
In terms of aesthetics, Iwas very interested in a combination of the abstract and the organic. Eufloria (above right) has a distinctively non-tacky & stylised space theme, combined with that of plant seedlings.
Concept Implementation
My initial concept sought to combine my ideas and inspiration with the unit specific theme of ‘Dynamic Systems’, by introducing a flock to a skill based physics game instead of a single object. I deliberately choose this concept to follow as it was conceptually straightforward, allowing me to focus on coming to grips with coding in general after a semesters break, and processing specifically after a year.
My first several weeks of work centred around trying to set up the basic mechanics; how the player interacted with the particles and how the particles behaved in general. However, while this was a useful starting point in terms of familiarising myself with coding and deliberating on my concept, it was not an effective platform to build the game I had envisioned on. The main reason for this, was that it was built upon from an early particle system example from class, which though my editions had become disorganised.
After seeking help in class about how I might go about implementing the flocking aspect of my game (and especially thanks to some magic by Rob), I finally found a solution that brought together my original physics & interaction set-up with the flocking example by Dan Shiffman. From here on I was able to start seriously thinking about level design, and how to implement flock collision. Using Rob’s obstacles-modified flocking code, I was able to put together a basic environment that resembled a level.
Level Design (The Fun Stuff)
Not long after this stage I had stopped fine-tuning the physics of my game, allowing me to focus on producing more of these levels and also making them interesting. Apart from striving to design the landscape as interestingly as possible, I decided to focus on the use of point forces that affect the flock when they pass by too closely.
My for solution to plan out the level structure and the point force locations was to draw each level first in illustrator before implementing it. The level plan allowed me to make level design decisions before getting neck deep in code. The size of passageways and smaller choke-points as well as the best place s to set the point forces were important to sort out before hand.
Doing this also helped me with the level decorations. I was able to copy-paste the coordinates of the vertexes into processing, which meant that the decorated version I created in Photoshop matched the layout of line obstacles in the game world perfectly.
Final Touches
As the amount of levels I’d created grew, I decided it was a good idea to implement a Menu with which to acces the levels, rather than change variables in the code as I had been. Apart from being necessary due to the nature of my game in the final product, it also helped me to test changes made to each level much more quickly.
Final aesthetic additions I was able to implement were ther ring animations for the point forces, the spin animation for when the player clicks. These were vital as a form of feedback for the player, who up till this point would have no indication as to what the mouse or point forces are actually doing to the flock.
Apart from creating a total of six levels, the last game-play based addition I implemented was a gate system that requires the player to reach a primary objective before the gate to the final objective unlocks. Due to the limited space, in the creation of the later levels this feature became important in creating a more lengthy and difficult experience.
Afterthoughts
There are several things that given more time I would like to fix, such as the difficulty of a couple of the levels. Perhaps finding a better way to explain how best to apply the spin to the flock in some kind of practice level would have been a good idea. I found that despite knowing what the controls are, most people required further explanation as to the optimal place to click so that the flock behaves as you intend it. (For the record, clicking at a position perpendicular to the direction of the flock yields the best results)
After this project I have found that I am much more confident in my ability to code and design independently. I plan to build further and experiment on what I have created this semester or put my skills to use on on a different project entirely, out of a personal and career interest in game design and in the hope of building a portfolio and skill base with which to get a foothold in the industry after (or during) my degree.