Role (September 2013 - December 2013)
The main bulk of the Masters of Professional Practice in Games Development course is the semester games. Across three semesters, I participate in teams to create a game. For each successive semester, the objectives change. In the first semester, we work in small teams of between 3 - 5 people, working on a game that we've come up with based on one of three themes: The Few, A new day and Impact.
The team I was in contained a capable artist, an international student acting as the designer, an audio producer and a producer. With the themes, I came up with a few game ideas to pass onto the team. My most promising of those being a simple 2D game based on the theme Impact. The game would use the idea of cause and effect, akin to the Rube Goldberg comic strips, where the player interacts with the environment of the game to influence the journey of the character. This actually became the idea that we ran with, although added to it was the aim for the player to start off as the moon and then have them attempt to make it through the level and at the end, have them become the sun and bring about a new day.
We don't have a choice for what software to develop with, for this semester, we were put with Marmalade. Marmalade is an attempt at a solution for developing for the much fragmented mobile platform. When compared to Unity which attempts a similar job, it is a nightmare to work with. It didn't help that we had to use the version installed on the University PCs, 6.2. This version still used fixed point decimal form as well as having ugly rendering issues that ultimately spoiled what was to be a visually appealing game. Additionally, the documentation was sparse and outdated with little to no help being available online.
Needless to say, it was a challenge to learn and develop with. One of the reasons for running with a physics based game was to make the game more aesthetically pleasing as smooth physics looks better than typical hard-coded movement (look at Limbo). The obvious choice for this is the opensource freeware: Box2D. As with Marmalade, I hadn't used Box2D before. Fortunately, Box2D is much more intuitive and I picked it up very quickly. Box2D comes with an application called the testbed where it is possible to not only test various pre-made physics based objects such as dominoes but to create your own tests. The ease of use made the testbed a great starting point for testing various ingame mechanics before porting it over into the engine.
The artist got to work coming up with a visual style that looked great. Unfortunately, the designer wasn't so great and we faced numerous difficulties such as needing to find the best ways to convey information so that both parties fully understood each other.
There was great synergy between myself and the artist regarding the direction of the game. This was sadly stifled by various issues we face along the way. The game we envisioned is definitely plausible within the time frame we had (even with all the other modules layered on top) however between the lack of support on the design side as well as the complications the outdated, poorly supported framework presented meant that we had to have serious cut backs which resulted in a game that didn't come close to meeting it's potential.
It was however, a great learning experience. Whilest I would have obviously rather had an easier ride; having to learn and use Marmalade was a good test of my flexibility with difficult software. Something I'll no doubt face in large team development as well as development on new platforms where everything is subject to change. This experience is working in sync with my work outside of university, where I'm working with a large code base that I'm unfamiliar with. While in an ideal world everyone on a team would be good at their job, I've no doubts that I'll encounter people who aren't up to the mark in ability for their profession so this was a good indication of how I would and should handle such a scenario. I started of with the weight of responsibility on my shoulders. Not wanting the game to fail, I tried to help the designer while also doing her work as well as my own. It wasn't until later in development that I accepted I was the programmer and should focus on my job, leaving the designer to handle the design and if she can't, then that was her issue that would be dealt with through management/producers. Focusing soley on my job helped relieve a lot of stress.
I've uploaded a run through of the game on my Vimeo.
The team I was in contained a capable artist, an international student acting as the designer, an audio producer and a producer. With the themes, I came up with a few game ideas to pass onto the team. My most promising of those being a simple 2D game based on the theme Impact. The game would use the idea of cause and effect, akin to the Rube Goldberg comic strips, where the player interacts with the environment of the game to influence the journey of the character. This actually became the idea that we ran with, although added to it was the aim for the player to start off as the moon and then have them attempt to make it through the level and at the end, have them become the sun and bring about a new day.
We don't have a choice for what software to develop with, for this semester, we were put with Marmalade. Marmalade is an attempt at a solution for developing for the much fragmented mobile platform. When compared to Unity which attempts a similar job, it is a nightmare to work with. It didn't help that we had to use the version installed on the University PCs, 6.2. This version still used fixed point decimal form as well as having ugly rendering issues that ultimately spoiled what was to be a visually appealing game. Additionally, the documentation was sparse and outdated with little to no help being available online.
Needless to say, it was a challenge to learn and develop with. One of the reasons for running with a physics based game was to make the game more aesthetically pleasing as smooth physics looks better than typical hard-coded movement (look at Limbo). The obvious choice for this is the opensource freeware: Box2D. As with Marmalade, I hadn't used Box2D before. Fortunately, Box2D is much more intuitive and I picked it up very quickly. Box2D comes with an application called the testbed where it is possible to not only test various pre-made physics based objects such as dominoes but to create your own tests. The ease of use made the testbed a great starting point for testing various ingame mechanics before porting it over into the engine.
The artist got to work coming up with a visual style that looked great. Unfortunately, the designer wasn't so great and we faced numerous difficulties such as needing to find the best ways to convey information so that both parties fully understood each other.
There was great synergy between myself and the artist regarding the direction of the game. This was sadly stifled by various issues we face along the way. The game we envisioned is definitely plausible within the time frame we had (even with all the other modules layered on top) however between the lack of support on the design side as well as the complications the outdated, poorly supported framework presented meant that we had to have serious cut backs which resulted in a game that didn't come close to meeting it's potential.
It was however, a great learning experience. Whilest I would have obviously rather had an easier ride; having to learn and use Marmalade was a good test of my flexibility with difficult software. Something I'll no doubt face in large team development as well as development on new platforms where everything is subject to change. This experience is working in sync with my work outside of university, where I'm working with a large code base that I'm unfamiliar with. While in an ideal world everyone on a team would be good at their job, I've no doubts that I'll encounter people who aren't up to the mark in ability for their profession so this was a good indication of how I would and should handle such a scenario. I started of with the weight of responsibility on my shoulders. Not wanting the game to fail, I tried to help the designer while also doing her work as well as my own. It wasn't until later in development that I accepted I was the programmer and should focus on my job, leaving the designer to handle the design and if she can't, then that was her issue that would be dealt with through management/producers. Focusing soley on my job helped relieve a lot of stress.
I've uploaded a run through of the game on my Vimeo.
What did I actually do?
I worked with an artist, designer, audio producer and producer to create a 2D physics based game using the Marmalade framework for 4 months. As the sole programmer, I created all the features and mechanics of the game.