Contact

Creating GoatPunks

Creating GoatPunks

GoatPunks is solo indie project by Alberto Santiago

GoatPunks started as a hobby project driven by the curiosity to see if I could make a quick and simple game. A year and a half later It ended up becoming enormously huge relative to what I was originally intending. This project was a spin-off from an idea I had earlier, which involved similar but much more simplistic game mechanics with monsters as the main character. During the early development of the monster game, I was randomly enough watching pygmy goat videos on youtube at the time and also saw videos of 20 goats in a tree and other ones with them climbing steep mountain walls. It was fascinating. I also watch a lot of Japanese game shows and there was this one in particular where thirty or so men where trying to climb up a massive slippery dip that was all oiled up. and when one person would fall, this would create this domino effect and take out everyone behind them sliding all the way back down to the bottom. Eventually I put two and two together and the idea of GoatPunks was born.

GoatPunks_Dev_Sketches_01
Having never programmed a game before It was tricky trying understand where to start but also how to make it run efficiently enough that it would run on a mobile device. I had some programming experience from doing an iOS application prior to this (DSLR.Bot), and so I attempted a few things where I would assign the same code to every platform essentially making them a button to press so that the Goat would jump to that platform. I quickly learnt that this was super inefficient especially if you had more than 50 platforms to jump to. I tested it on the iPhone and the whole device would struggle and jitter. I was ready to give up on the idea thinking that maybe the iPhone is just not capable of handling such a game. I reorganised myself and tried a different approach and  got rid of all the code on the platforms then just assigned the main control code to the goat itself. Eureka, it worked, and it was super fast. It seems very silly now how I attempted to program things in this way, but you have to try and see if it works before you can know where to go from there, especially when your staring from the very beginning. I have give the game some major overhauls and re-written the code several times over as each time I’ve figured out a cool new programming technique.

GoatPunk_Progression_LanternStage_Preview

Slowly the game started to take shape and within a couple of months the main game mechanics where pretty  much done. I was thinking at the rate of my current progress I should be done in 6 months easy. Well, the game itself was working but the menu design is where things got really hard.

There are things I wanted in the menu but I didn’t know how to achieve it, things like leaderboard, character customisation, stage select, accounts, training, settings, character select. I had to learn how to interface with an online database from the game and pull all the characters to the iPhone, then create a extensive enough AI system that it could be recorded and assigned to each players account and then make the data packets small enough for online use. So things got pretty complicated. Probably 80% of the time spent on the game was developing the backend. I’m super proud if it now because its a totally different type of menu design compared to most games. As the main menu gets a leaderboard represented as a tower, always displaying the top ten goats and then a random assortment of other goats collected online. What also sweet about the menu is that you can also select to challenge goats directly from the leaderboard. This also adds to the whole premise of the game, of trying to get to the top, as you can increase you ranking by winning more games.

GoatPunk_Progression_Stages

On to the art and design side of things. I am a CG artist by trade, working on movies and commercials, but when it comes to working on your own design it always seems to take longer than when your paid to do a job. The graphic style was originally suppose to be simple and cute, very basic 3D rendered goats and a tower, you know following the kid robot trend. I was happy with that at the time, but I kept being drawn to the graphic styles of anime movies such as Tekkon Kinkreet, Nausicaa, Steamboy, etc. I  always wanted to make an animated movie with that style, so I though I may as well try it out on the game to see if I could pull off such an intricate artistic style. It was very different to the CG art I’m use to creating, as it would either be super polished 3D or some hyper realistic animation. In the end I’m actually very happy where the style of the game ended up, everything seems to fit nicely especially with such a random assortment of game objects, ie multicoloured goats and elaborate effects.