About McFunkypants (twitter: @McFunkypants)

Hardcore gamer.
Dungeon Master.

My blog about indie game development:

Follow me on twitter:

My Ludum Dare Games:
Rising Lava of Doom
A Familiar Story
Asteroid Explorer
Super Skill Jump
Orca Tactics
Sushi Overload

Some of the other games I have made:
Mars Orbital
Trail Ride
Lost Adventure
Kool Community


Ludum Dare 35
Ludum Dare 33
Ludum Dare 32
Ludum Dare 30
Ludum Dare 29
Ludum Dare 28
Ludum Dare 26
Ludum Dare 25
October Challenge 2012
Ludum Dare 24
Ludum Dare 23
MiniLD 32
Ludum Dare 22
Ludum Dare 21
MiniLD #27
Ludum Dare 20
MiniLD 25
Ludum Dare 19
Ludum Dare 18
MiniLD #20

McFunkypants's Trophies

Featured in GeekyJuegos.com
Awarded by GeekyJuegos
on January 10, 2016
Sokoban Trophy - Awarded for Hosting the Awesome Charity Game Jam November 2012
Awarded by shubshub
on November 25, 2012
The 'I-am-a-Dinosaur-riding-a-shark'-Trophy of publishing a book about game development
Awarded by pretzelhands
on November 26, 2011
Award to give to someone later
Awarded by Sos
on August 15, 2011
Gracious Host Award for mini-LD27
Awarded by Winterblood
on June 28, 2011
Having a "Nudge" =)
Awarded by KoryWazHere
on December 16, 2010

McFunkypants's Archive

#1GAM Loves Ludum Dare

Posted by (twitter: @McFunkypants)
Thursday, April 18th, 2013 1:44 pm

One Game A Month Loves Ludum Dare.
Crosspost your LD48 games on #1GAM to earn XP.


One Game A Month

Posted by (twitter: @McFunkypants)
Thursday, January 3rd, 2013 7:46 pm

One Game A Month

I’d like to welcome you all to join ONE GAME A MONTH – over 2500 gamedevs have already signed up for this ad-free, noncommercial, “gamedev gamification” site where making games earns you XP, levelups and achievement awards. Bring your career to the next level. This isn’t a game jam: we NEED game jams like Ludum Dare to pull it off. We’d love to have you post any games you make for LD48 compos in 2013. Good luck and have fun!
IRC | Reddit | GitHub | Kong | FGL | Google+ | @OneGameAMonth | #1GAM | YouTube

POSTMORTEM: Pathos – a puzzle strategy game

Posted by (twitter: @McFunkypants)
Sunday, December 16th, 2012 6:40 pm

I had so much fun this weekend – late nights, inspiration and community.

This also marks the 12th game I made in 2012 – thus successfully completing the 12-in-12 quest. Feels so great! I love my life.

Presenting: PATHOS – A tragic love story and pathfinding puzzle game. PLAY IT HERE!

Click to PLAY!

The brave Princess Pea is on a quest to rescue her one true love, Sir Mushroom.Torment them by building a labyrinth. Can you drive the lovers apart without making it impossible?

Art Credits: Johannes Sjolund, Luke Mehl, FantasyMapMaker, and Piotr Pawlowski. Grateful thanks to the artists above and everyone who participated in the LPC at opengameart.org as well as the Ludum Dare and #onegameamonth communities.

Click to PLAY!

I wrote this game using HTML5 (javascript) using canvas. I’m not using any game engines – this was so simple I just did it from scratch.

Levels were designed using TILED editor‘s export to JSON data. If you’re looking for a great open source level editor for your games, I highly recommend Tiled.

The maps are done in two layers, one for background tiles like grass and flowers, and a second that represents objects that can block pathfinding.

There are 5 levels that you can select from on an overworld fantasy map, with a bonus level that is randomly generated.

This is a turn based strategy game that uses the a-star pathfinding AI algorithm as the base mechanic. Two lovers are randomly placed in the terrain and your job is to spawn new walls in such as way that instead of walking closer to each other for a tender reunion, our intrepid lovers are driven farther and farther apart.

Click to PLAY!

The strategy here is that you can’t make it completely impossible for them to reach each other.

This means that it is GAME OVER if you create a labyrinth in which the two lovers are unable to eventually reach each other.

Why? A true villainous spirit (you) wants to have them never lose all hope – to never give up – but to experience the heartbreak of a love that is just out of reach.

The sound and music is handled bySoundManager2, which uses an invisible Flash sim for compatibility but could use HTML5 sound if it exists. Once browsers “just work” with mp3s I’ll enable this setting.

Click to PLAY!

You can choose to start from any of the six levels. There’s a sandy desert island, a twin rivers bridge level, a lava-filled underground volcano, a grassy lush island and a haunted crypt. Finally, I threw in a basic random level generator for a tiny bit of added replayability.

I hope you like it! I had so much fun making this. Thanks to the Ludum Dare community for being so awesome.

I’d like to flesh out this game engine to build more complex turn-based-strategy games in 2013.

I personally prefer a more cerebral, thoughtful, non-twitch game these days. As 2012 progressed and I found myself getting caught writing games that were technically easy to code (shooters and platformers) I started to come to the realization that I would never generally want to play these kinds of games. I grew out of them decades ago.

Click to PLAY!

Why make the kind of game you wouldn’t want to actually play? This is why I expect to focus on puzzle, strategy and RPG genres in 2013 as I embark on my second year ofmonthly game-making.

This kind of game also lends itself very well to mobile and cross-platform design. Though people have tried to make platformers and shooters on mobile, on-screen joysticks and touch controls on twitch games are frustrating and unsatisfying.

Low-end phones and tablets also struggle to keep up with rendering. I prefer to focus on the kinds of games where I don’t even care what the framerate is.

Turn-based strategy was made for mobile. It works on old computers. It is perfect for busy people who have a coffee in one hand while riding the bus. For relaxing after a long day. There’s enough stress and gunfire in the real world – I want me games to be relaxing, interesting and challenging – like a game of chess or a great novel.

Click to PLAY!

The next step in the development of this simple game engine is to port it to run on my phone using either phonegap or cocoonJS.

If I get enough response from playtesters (please rate and comment upon my game on the Ludum Dare website!) then I will flesh it out into something more complex; more levels, more balancing, additional mechanics. Perhaps even a level editor.

It all depends on whether “it sticks.” This rapid game development technique I’ve enjoyed this year lends itself very well to playtesting. You quickly prototype a game in a weekend, release it to gamedev friends, and see which ideas resonate with others.

This is a valuable technique since many devs find themselves spending an entire year (or more) on a game before letting others try it. Only then do they discover that perhaps their game isn’t going to sell well, or was in need of tweaks to the gameplay.

Click to PLAY!

Creating a dozen prototypes a year is a great way to “throw a whole slew of ideas on the wall” and then find out which ones stick.

Those that do are deserving of further development time and polish.

I think a great idea for my next year’s gamedev would be to work on bringing 1 game out of every 12 I make to fruition. To build it up to professional levels in the hopes of a public commercial launch.

The rest are “incubators” – brainstorms. Mental exercise. A way to hone my skills. To learn new things. And to have FUN! That one reason alone makes them worthwhile – the rest is icing on the cake.

If you’d like to try your hand at rapid game development and prototyping, I warmly encourage you to check out the initial I’ve started called ONE GAME A MONTH. I pitched the idea to a few people on twitter last week and the thing exploded.

The response was more than enthusiastic – it literally went viral. We’ve had over a thousand people sign up.

Your new year’s resolution: join www.onegameamonth.com in 2013! Earn XP (experience points) and achievement awards for doing what you love: making games.

Pathos – level 2 screenshot

Posted by (twitter: @McFunkypants)
Saturday, December 15th, 2012 11:30 pm

Progress is great! I was making levels by hand in javascript by manually typing arrays – which was a pain, as you might imagine – so I decided to implement a JSON level data parser that works with layered TILED editor exported data. Now we have a great spritesheet-capable HTML5 world editor and suddenly it is fun and easy to design levels!


Pathos – titlescreen

Posted by (twitter: @McFunkypants)
Saturday, December 15th, 2012 4:30 pm

Progress on my puzzle game is great. I’ve COMPLETED the gameplay code with placeholder (coloured rectangles) art. The rest of the weekend is polish. First up, a fresh title screen and new name for the game: PATHOS.


McFunkypants is IN, of course!

Posted by (twitter: @McFunkypants)
Monday, December 10th, 2012 11:17 pm

Of course I’m in. Come on. I love Ludum Dare too much to miss one. =D

Here’s what my computer looks like:

I will choose my tool depending on the theme, but the language will likely be HTML5 or AS3. I will probably use Photoshop, CoolEditPro, Acid, Pidgin, Chrome, FileZilla, Notepad++, and will maybe use 3dsmax and FlashDevelop.

I am strongly considering joining the NO RULES JAM rather than bothering doing everything from scratch. This means I may take advantage of premade game engines, pre-existing ART, public domain sound effects and music, and all the other illegal things in the compo. This way my game will be better and I’ll have more time to work on the code. I’m not here to win – I’m here to enjoy myself.

I wish you all a wonderful holiday, happy new year, tons of fun this weekend, and remember: HAVE FUN! Take breaks! Get fresh air! Hang out with your friends and family! Allow imperfection! Remember to eat! Don’t stress out: be easy and gentle on yourself.

P.S. Have you seen this yet? Check it out – a gamedev challenge for your 2013 new year’s resolution:

You saved the princess!

Posted by (twitter: @McFunkypants)
Monday, November 26th, 2012 6:12 pm

The Charity Game Jam was a huge success. Our initial fundraising goal was $250 and as you can see, we destroyed it! Mission accomplished. Achievement unlocked. Boss battle won. Princess saved. THANK YOU VERY MUCH, EVERYONE! I’m humbled and grateful for all your enthusiasm, hard work, and generosity. Should we do this again next year?
Play The Games Here! | Keynote Video | Announcement Post

We destroyed the $250 fundraising goal!

Posted by (twitter: @McFunkypants)
Friday, November 23rd, 2012 6:40 pm

The Charity Game Jam just started, and we’ve already DOUBLED the fundraising goal of $250 that I set. I had to quadruple the goal just so that the “thermometer” wasn’t bursting before the jam had even begun! We’re all so grateful for your participation. This is going to be EPIC.

Charity Game Jam Keynote Video

Posted by (twitter: @McFunkypants)
Wednesday, November 21st, 2012 2:00 pm

Announcing miniLD for charity Nov. 23-25

Posted by (twitter: @McFunkypants)
Thursday, October 25th, 2012 1:00 am

Please join us on Friday, November 23rd at 5PM PDT (midnight GMT) to kick off the first ever Ludum Dare Charity Game Jam!

UPDATE: www.charitygamejam.com IS LIVE!

This year, we’re going to be fundraising for a wonderful charity, the Make-a-Wish foundation (www.wish.org). These fine folks do small acts of kindness for children who are suffering from terminal illnesses.


Mars Orbital Just Launched!

Posted by (twitter: @McFunkypants)
Friday, October 19th, 2012 8:09 am

For this year’s “October Challenge” I am proud to present Mars Orbital, a 3d platformer game with “skateboarding-in-space” physics. I had so much fun making this game, and I’m really happy with the result.


It should run great on any Windows machine, old or new. The game uses the openGL fixed-function rendering pipeline, which means that it should run fine even on laptops or older PCs that can’t handle today’s advanced shaders. Playtesters have reported framerates as high as 300 FPS when running on a modern gaming rig at full HD (1920×1080) resolution!

It uses PhysX for realistic rigid-body physics simulation. It even supports non-convex solids, which was essential for proper handling of snowboarding or skateboarding-style “half-pipes” and level geometry with rounded corners.

The game consists of 12 levels, including a hidden “bonus level” (hint – do a blind jump to the left on the first level), a “speed round” (where you try to collect as many powerups as possible in a limited time), even even a simple “boss battle” (where a ball of electricity tries to push you off the ledge).

Trailer video:

Use the arrow keys to move. Collect as many powerups as you can and avoid falling into space. Find the teleporter to warp to the next level.

With the right amount of momentum, you can pull off insanely big jumps between platforms!

Gameplay footage:


Fantasy Map Tactics Terrain

Posted by (twitter: @McFunkypants)
Saturday, August 25th, 2012 2:44 pm

I’ve always loved the “fantasy maps” that you find at the beginning of all fantasy novels (LOTR, Game of Thrones, etc.). There’s something exciting about seeing the map, with all sorts of interesting looking places just begging to be explored. I thought it would be fun to make a turn-based strategy tactics wargame based on this visual style.

I’m creating my game in HTML5 using jquery, because something like this doesn’t need 3d rendering performance, and because it is very easy to turn the game into a mobile (android, ios and ouya) app using phonegap. I started by first drawing some typical fantasy map icons using marker on paper:

After scanning in the images and creating a spritesheet, I wrote a simple random map grid creation class. It uses deterministic random procedurally-generated terrain (a seeded mersenne twister PRNG) so that a complex map can be recalled with a single integer seed value (no need to save a huge array to disk/cookie/localstorage). I then add extra water tiles around the edges by varying the shoreline randomly. Finally, I scatter hamlets, towns, cities, forts and castles in non-blocked tiles and give them random location names by combining two syllables from an array of three-letter strings. This results in a fantasy book-style map with scattered forests, mountains, hills, swamps, and deserts that hold a plethora of interesting-sounding locations.

Finally, I implemented an A-Star pathfinding algorithm that can navigate a character around obstacles to get to any waypoint on the map (the green and red blocks: green is how far you will move in a single turn before running out of “energy”). I also coded a line-of-sight (LOS) algorithm for use in the combat, which means that eventually projectiles and magic spells could be cast in a straight line but would be blocked by mountains or towns. The light beige blocks are tiles that you are able to attack.

There’s no actual gameplay yet – no enemies or win conditions – but at least you can move around the map.

The game jam is half over: so far so good! Wish me luck on this grand adventure: my quest is to make something that is fun enough to provide some replay value and will hopefully serve as an ideal proof-of-concept for a larger and more polished project over the next few months. I love Ludum Dare (and Orcajam – this weekend’s local game jam gathering).


Posted by (twitter: @McFunkypants)
Monday, August 6th, 2012 3:44 pm


I’m not here to win: just to have fun.

I don’t plan to stay up all night or win any awards. I wonder: is it even worth it to write an “I’m In” post on Ludum Dare anymore? With thousands of participants, no one blog entry is visible on this page for more than a couple minutes. That said, tradition dictates that I enthusiastically declare my desire to be in this month’s LD48. I’m in! Woo!

Platform: web and mobile (android)
Language: either html5 (phonegap) or as3 (stage3d+air)
IDE: SublimeText or FlashDevelop
Tools: 3dsmax, photoshop, cooleditpro

Good luck, everybody! Have fun! Don’t forget to eat! I can’t wait to play your games.

P.S. Shameless plug to the left. If you want to make my day, check it out! =)


Postmortem TOOLS Survey

Posted by (twitter: @McFunkypants)
Thursday, April 26th, 2012 8:51 am

We love stats! We love you!

Everyone interested in helping us determine what tools you used (language, engine, etc.) please fill out this very short survey. We also have a more in-depth survey, with demographic questions, created for a thesis, here.

Dr. Nano – tiny surgeon

Posted by (twitter: @McFunkypants)
Sunday, April 22nd, 2012 5:23 pm

Click to play!

Dr. Nano – tiny surgeon

You are a microscopic doctor. A hero. A marvel of modern science.

Shrink down to the size of a single cell and enter the bloodstream of your patients.

Destroy the bacteria, and fight the evil cancerous tumor to save the day!

Survive three BOSS BATTLES to get to the final credits.

Written in AS3 for Flash 11 using the Stage3D API.

Tools used:

– FlashDevelop for code editing and compiling.
– A marker and paper for the sprites.
– Photoshop for processing the scanned images.
– A microphone for the background “music”.
– BFXR for the gun and explosions sounds.
– CoolEditPro for sound processing.


By Christer Kaitila aka McFunkypants



NOTE: this game is designed to be run FULLSCREEN in a 1080p HD monitor.

Be sure to maximize your browser window so you get a better view. Flash 11 required.


P.S. Happy 10th anniversary, Ludum Dare.

Here’s wishing everyone another decade of gamedev goodness.

Ludum Dare is my favourite online community – I’m so happy I discovered it.

Click to play!

I had SO much fun making this, and I hope you have fun playing it! ENJOY! =)

Of course I’m in!

Posted by (twitter: @McFunkypants)
Friday, April 20th, 2012 1:39 pm

Though it goes without saying, I’M IN. My toolchest will include FlashDevelop, BSFXR, Photoshop, CoolEditPro, Flash 11 Stage3d. My basecode for this event is this very simple homemade 2d stage3d sprite engine. No physics, no networking, no real animation apart from sprite movement. Heck, it doesn’t even have joystick support yet. The only thing I like about it is that it is fast and small. I’m also hoping that everyone votes for the best theme of them all: CASTLES IN THE SKY.

Good luck, everyone. Remember: AIM SMALL and PLAN TO HAVE FUN!

– McFunkypants

[cache: storing page]