Log in to follow projects

Following a project allows you to receive updates via email. It also lets the owner know that you like them.


Puncho Fighto

By Oliver Smith, Thom May

An iOS fighting game with rag doll physics.

100% complete
3 followers 12013 views
About Log (3) Discussion (4)
See more posts

Puncho Fighto and the Making of Puncho Fighto

Round One. Fight!

Puncho Fighto is an iOS fighting game I made from 2011 - 2012. From the time I quit my job to the time I had released a game took almost exactly a year, although I spent the first six months learning iOS and graphics programming, and working on a different game that never saw the light of day. I did not have a plan other than to pour all my energy into something creative for a while, hopefully re-learning how to enjoy the act of computer programming in the process. To finance the game, I lived frugally off my savings from years of full-time programming and did a little freelancing towards the end.

Fig 1: Puncho Fighto and the Low Quality Video

Great Artists Steal (Bad Artists Also Steal)

The model for for Puncho, obviously, came from Street Fighter II on SNES which I played a lot of while visiting home in the summer. I had been working on a game called "The Law of Life" (after the Jack London story), centering around a lone camper surrounded by advancing monsters with only a dwindling fire for protection (no relation to this much better game). That game wasn't coming together because I couldn't get the mechanic right, so I was inspired to try adapting an existing game to the touch-screen instead. Most of the mechanics and gameplay were copyable, I just had to try and make them work with finger swipes instead of buttons. There did not seem to be any other iOS games that had attempted this, and because all things must eventually exist I decided to do my part.

It's Made of Dioramas

I wrote almost everything in Puncho from scratch, except for the physics engine which was Box2D.

The main features of Puncho came together really quickly. I already had a basic OpenGL game engine set up (thanks in large part to 71squared tutorials). The idea to use rag doll characters came because I didn't think I could find an artist willing to do the huge amount of sprite animation required for a fighting game. With rag dolls you just need to draw the sprites once and can pose them in as many animations as you want, without any planning or forethought. Plus they look funny when they fall down.

Fig 2: Those guys will cheer for anybody

Unfortunately, I couldn't find any software to do the posing and animations at the time (although I am aware of several programs that can do it now). So I wrote my own in Python! I used physics in the posing program so you could sort of drag the characters into position and their limbs would stay roughly anatomically correct, which saved some time during animating. Writing that program was fun, since it didn't have to be very good and I always wanted to be an animator anyway. It wasn't of professional quality but you could do basic rigging, animations, attach points and even swap out sprites such as "angry face", "hurt face" or "face filled with longing for the glory years which can not return".

Fig 3: How The Lord of the Rings was made

I found Thom May, the game's artist, on craigslist, since I did not have any video game artist connections. I could not afford to pay Thom what he deserved so I got pretty lucky that he wanted to do the job anyway. I'm really happy with how the art turned out and his style ended up influencing the tone of the game a lot. When I started looking for an artist, I already had the basics of the game working with placeholder graphics.

Nobody Cares About Story

I actually do care about story, but I was so busy programming a game engine that I left pretty much all other details to the last minute. Most of the characters in the game were invented hastily and under pressure because Thom needed to know what to draw. The game is whimsical and childish because we would have felt silly copying the industry standard machismo and sexism of most other fighting games.

In fact, the only character I did design up-front was based on Jackie Chan's character from The Legend of Drunken Master, which was a play on how rag doll physics might make you look drunk, and also because that movie is awesome. His name was going to be Haruki, which was a play on how I'm a hipster and read a Murakami book once. Haruki was going to yell his name when he did a special move because I thought it would be funny to yell that in the same emphasize-the-2nd-syllable way as Ryu yells "Hadouken". We were worried people would be offended by the caricature though, so at the last minute we changed Haruki to Percival who I think is a better fit for the game anyway.

Fig 4: Zong's tranquil forest lair

Meanwhile, I had concocted an overly elaborate story-web wherein all the characters would meet each other exactly once on the way to some grand final battle. It was a complicated matrix of pointlessness made even more constricting by the fact that the UI I had invented had room for only a few sentences per battle. Since I had written my own GUI engine too, there was no way to scroll the text up and down to make more room. My creative friend Kirk helped me come up with some plans for each character, lots of which were sadly thrown away due to the space restrictions. I'd like to think that the result is kind of a charming mess that arose from those restrictions. We never did make the final battle(s), which is for the best since I had written myself into a corner anyway.

The Home Stretch

One of the last things I did was to have some friends come over and record voices, which I did not know how to do properly but fortunately my friends are talented, and despite my lack of direction it was fun yelling stupid stuff into the mic. I found some music I liked on Metafilter Music and offered the composer some money to be able to use it in my game, and he said ok.

At this point, the game still did not have a name, although I had a long list of rejects. Anything I could think of was either taken already or would have resulted in terrible SEO on the App Store (something I was obsessing about at the time). The evening before we sent it to Apple for review we somehow came up with the name "Puncho Fighto", Thom drew the logo and then it was final because we both wanted to go home.

Fig 5: I kept trying to get Thom to draw more moons, but he would not go past two

Next Time: Getting That Sweet Indie Game Money

Sign up for an account and follow this project if you want to get notified when I write the next post about how rich I am now! That is, if I feel like writing it - maybe I'll just buy another island instead. (Edit: Part 2 is up here.)