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.


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.

Refining Gravity

While the initial mechanic I implemented for manipulating a ball felt natural at first, I soon realised that the influence of the force ‘on click’ was proportionately greater with distance. While this would be appropriate for a spring based force, it is not suited to my idea of using gravitational fields to manipulate & guide objects. To make this feel more natural and suit the purpose of the game, I needed to reverse this effect so that greater distances will lessen the force’s influence and also introduce a maximum distance for the force to be effective at all.

To do this I introduced a number of zones, indicated by the green rings, that multiply/limit the force to a certain amount. With only three zones the result is not ideal, so I plan to play around with the number/radius of increments until I find a good balance.

Programming Progress

This is the first stage of the programming work for my game. I completed it a couple of weeks ago but forgot to post it here.

It is a basic representation of the the play mechanic I want to use in my game, using only a single particle instead.

The ball is affected by gravity until a point on the screen is clicked; where a new force is created on the ball at this point. At the moment I am able to swing the ball wherever I wish, but later I will be implementing some form of restriction (a solid object, black hole etc.) at the point of the new force that will force the player to use a swinging motion to manipulate the particles.

Game Concept

This slideshow requires JavaScript.

Particle Systems

Given that I have not written code in quite a while, I decided to go through the particle system exercise we did in class to refresh my knowledge of processing and get back into the swing of programming.

I started the exercise from scratch, and with reference to Rob’s code, developed this flame that is almost identical to the one we developed in class.

I am planning to use particle systems in my game to add visual effects to collisions and the projectiles that will characterise my game.

Physical Phenomena – Gravity

Adding exact or representative elements of real world physics to games is not simply a way of making games more realistic, but more fun and natural to play. I believe a game that is a joy to control does not need to depend as heavily on difficulty to be successful and satisfying game. Physics is an important path to game control

For the purpose of developing a concept for my own game, in this and the next few posts I will take a look at several specific game mechanics that incorporate physics and dynamic systems.

My first topic is: Gravity

Gravity is a present force in almost every game. Quite often, it has no impact on the game-play at all. An example might be a traditional real-time strategy game; gravity obviously keeps your army on the ground and influences projectiles, but the game does not require the use of any skill to carry out actions. The players role is largely managerial.

In games that involve the control of a specific character, gravity is usually has a direct influence on the players success; pits full of spikes are only dangerous due to gravity.

There are also games that go beyond the basic, common sense use of gravity. Games that tweak, or allow the player to tweak the affects of gravity or games that turn gravity into the ‘enemy’.

Below are a couple of games that showcase how gravity can play such a significant role in certain game concepts.

“VVVVVV” is a fun and very challenging indie title I came across some time ago, that makes clever use of the manipulation of gravity. At first glance it is a simple retro-style platforming game, but the difference is that you cannot jump; you must change the direction of gravity in order to traverse.

VVVVVV Trailer:

“Nimbus” is another indie title that incorporates gravity in an interesting way, yet it is not actually manipulated by the player. The goal is to use limited boost pads and momentum to guide your space ship to the final goal in a level. The ship has no self propulsion, so every inch of altitude counts as you constantly battle gravity by tweaking your flight path to maximise your momentum.

Nimbus Trailer:

Relevance to MY game… 

Whether or not it is the focus, gravity is an integral part of many games. I hope to include the use of gravity on some level, as apart from its functional significance, I appreciate its ability to make a game look and feel organic. I am endeavouring to build my game around a simple mechanic, so as I begin to construct a concept I will decide how much influence gravity will have on the experience.

Realtime Multimedia – Physics!

Here are a few games that either use dynamic systems or physics simulation as a core game mechanic, or as a way to support the theme and improve the aesthetic qualities of the game.

Splitter 2: The goal is to get the smiley face ball to the red goal. The player is required only to make a series of cuts through wood and string, and let the environment take care of the rest.

Magic Pen: The goal is to collect all the flags with a ball. Drawing shapes and inserting pins and hinges allows you to indirectly manipulate the ball.

Eufloria: This is a simple strategy game game. Physics do not influence the game-play, but the sprouting and swarming of the ‘seeds’ or insects looks and feels very organic, interesting to watch and almost hypnotising.

Phun: Complete 2D sandbox physics sim.

This slideshow requires JavaScript.

Teaser Trailer for Eufloria

Splitter 2 Game