Posts Tagged ‘OneGameAMonth’

Entering the #1GAM

Posted by
Saturday, July 5th, 2014 4:22 am

I’m thirsty of making games.

I decided that 3 games per year wasn’t enough, so I seriously thought of making my own games alone.

But with my new job, my free time considerably dropped, and every game I started never stand more than two months, mainly because of a lack of motivation.

So, when I saw the #1GAM jam, I first just thought that I can’t do 12 games a year, I’m not even able to make one a year !

After several weeks, it came to me that this jam was not about forcing you to make games quickly, but more about how can you make games quickly. And when I say how, I talk about organization.

That was the key of all my failures, and that’s why #1GAM was made for.

So if you want to make your own games alone, and you’re a totally mess about making games done, it’s a really good place to start.

The #1GAM uses the gamification to encourage you to focus on time constraint, and with less time, you must make smaller games, and smaller games means less gameplay. And that’s here where it become interesting. You choose what’s important, what’s essential, what’s impossible to make within time and what’s not worth to make.

You work alone, but there’s thousands of people making the jam for the same reasons. If you’re bad at writing or designing, some people may look for coders like you, and if you’re a good writer but have bad dev skills, there’s even more people looking for you.

It’s a unique experience I strongly recommend, you can only get out with even more experience in game development, and all organization aspects that comes with.

2nd Update today – YouOnlyGetOne

Posted by (twitter: @@moongateuk)
Saturday, December 14th, 2013 4:32 pm

Well it’s been a long day but a very productive one, but I’m tired now so rather than put in the same blog post in two places the update blog post for LD28 is over at

and this is the Playlist for the video updates. I hope you enjoy.

Charity Button Challenge

Posted by (twitter: @McFunkypants)
Thursday, November 14th, 2013 3:31 pm

#1GAM wants YOU!

Posted by (twitter: @McFunkypants)
Tuesday, April 30th, 2013 1:25 pm

One Game A Month - www.onegameamonth.comOne Game A Month loves Ludum Dare. You see, #1GAM is not a game jam. It is the gamification of gamedev. You earn XP and achievements for doing what you love. We rely on game jams to motivate us. Like doing workouts, the goal is to become stronger, faster, better gamedevs by releasing many small games.  We’d love to have you join us – 5000 strong and growing! Please SHARE YOUR LD48 GAME with us!


Ooh look it’s a Ludum

Posted by
Tuesday, April 23rd, 2013 5:49 am

Just thought I should probably say something along the lines of “Hello”.

LD26 will be my fourth Ludum Dare, and (if all goes well) my second Compo entry. As is traditional for me, I’ll be using either Lua/Love2D or C#/Unity3D depending on how many dimensions my idea needs.

So far this year, I’ve been taking part in OneGameAMonth, and I’d like this LD game to be one of my entries. Trouble is, I’ve already made one game this month for the Game Prototype Challenge. So what I’m planning to do is to play the rules a bit and release a post-compo version on the 1st May, and enter that instead. Slightly sneaky, and actually quite silly when you realise there’s no actual rule about No More Than One Game Per Month, but at least this way will give me a bit more time in May to clean up some unfinished projects.

I’m a regular in the IRC channel #ludumdare, but during LDs the channel gets too crowded for me to keep track of, so over the weekend I’ll be retreating to #potatoes on the same server.

Oh, and I should probably point out here that I do not want Potato to be the official LD theme, but I do want it to be an unofficial extra theme like Goats last time or Kittens the time before that. Yay for third options!

#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.


Dead Grinder RL Will Take More Than 7D

Posted by
Monday, March 18th, 2013 2:39 pm

Whelp, that didn’t work. :)

I made an attempt to complete a 7-day roguelike challenge over at 7DRL. I didn’t expect to complete it in time, but I had hoped to get more done. The game is Dead Grinder.

Scavenge and travel dur­ing the day, bar­ri­cade and fight undead dur­ing the night. Make your way to the heart of the city for some reason/​maguffin/​plot device to be deter­mined at a later point. First time build­ing a rogue­like, and I’ll fin­ish it, but maybe not by Sunday.

There were several reasons I didn’t get anywhere near done. Part of the process of trying to improve is to exposing myself to greater accountability. In other words, share with a load of strangers my ineptitude as an incentive to learn lessons. 😉

  • Late Start
  • Distractions
  • Did Not Leverage Work of Others
  • Weak Design
  • Weak Architecture
  • Self-Sabotage

I started late. Partly that’s a failure to commit the time on my part, and partly it was real life interfering. I had some work, financial and medical issues to deal with, and I just didn’t cope with the extra stress that adds.

I found myself going back and forth re-architecting a roguelike engine around HaxePunk, so by the end of the week I had very little of a game in there. There are RL engines available, and I could have used them, which is definitely something you want to consider when you’re working under a severe time constraint like 7DRL. I chose not to. I’m okay with my reasons for this – mostly it was my desire to maintain a commitment to Haxe. It’s a good language, and I love like the rich variety of target platforms you get with NME (targeting mobile, desktop, or browser) using the (mostly) same codebase. I’m also trying to realize the benefits of maintaining a commitment to HaxePunk, built on top of Haxe/NME, but the implementation has been shifting so much lately that I consider the current build still broken. I wasted time trying to work in the latest 2.x build before rolling back to 1.72a which is the most stable build out there. I KNEW I shouldn’t have wasted time doing this under a time constraint, and I should have stuck with the older API; this is somewhat an element of self-sabotage, which I’ll cover in a bit.

I’ve been developing apps for other people for many years, and one of the problems I have writing apps for myself is failing to maintain a clear delineation between the hats I have to wear, namely the Designer Hat and the Developer Hat. Because of this, I was not only guilty of feature creep, which is bad, but “developing for maybes.” That’s when you skimp on the design because you want to get right to coding and hope that “if you have time” later you can fit in these broader, vague ideas. It’s akin to not designing at all, or coding by instinct. You’re not really sure what you need to implement, because you haven’t committed to it, so you wind up trying to add support for ideas that probably aren’t going to make it in and you haven’t thought through how it’s supposed to work. If a paying client tried to get me to start coding without a clear set of requirements I’d raise hell, that’s what they pay me for. Why would I not demand that of myself?  Worse yet, I also skimped on wearing the Architect hat, pressuring myself to jump into coding and winding up making numerous knee-jerk architecture changes along the way. C’mon man, be professional.

Knowing it was not going well, that there was precious little time left and that I had made mistakes from the offset, I wasted more time on self-sabotage. That’s when I procrastinate. Sometimes it’s your explicit, run-of-the-mill procrastination; reading your social media, or taking another “coffee break” that winds up eating an hour. But more often it’s under an insidious disguise. Trying to get HaxePunk 2.1 to work, as I mentioned earlier for example, appears on the surface to be a useful endeavor, but it is a terrible time sink I’ve encountered before. Once I realized it wasn’t a slam dunk, I should have stopped, putting it off until a point where I’m not under a time crunch. Or even better not start subconscious-distractions-as-procrastination at all. I think time-boxing might be a helpful technique to raise my  awareness of self-sabotage and the challenges I’m having/avoiding. It’s easy to let your frustration guide you, rather than your intellect.

I’m going to continue working on Dead Grinder until it’s playable, at least. I’d like to use it for my March 1GAM. To that end, I decided to finally READ my copy of Game Engine Architecture. At least the bits that are relevant to a non-AAA 2D game. I’m generally resistant to learning other people’s best practices, preferring to invent my own path, like an idiot. :) I’m clearly not an academic, teaching myself to code 30 years ago when I became a teen. That’s one of my personal issues I’m trying to address: leverage the work of others. Drop my arrogance and acknowledge that despite all my experience, my knowledge of practical, real-world game development is fairly limited, and it’s never too late to open your mind.

Thanks Ludum Dare and 1GAM, for encouraging me to put out more games … even if they are shamefully dull and unplayable. 😉 I had been working on a game about operating an underwater base but it was taking me too long to figure out what the game is actually about. I mean, okay, yes, it’s about an underwater base, but the game I want to make which is part economic sim and part micromanaging the staff was again reaching beyond my February grasp. Instead I cranked out a quick idea I had about manipulating Conway’s Game of Life.  The game, Death to Conway, is a turn-based simulation of the Game of Life, and you’re given an opportunity to kill an extra cell in between generations. Excitement? Thrills? Who needs em! We’ve got cells, lots of terrible cells, and they must all be killed!

Play Now (in browser)

This was another HaxePunk joint. HaxePunk is sort of in flux now as the developer is making some additional changes to better support hardware acceleration on native targets, so I rolled back to HaxePunk 1.72a to build this one.

I don’t know why I have to code everything twice. I think it’s a failure to personally commit to my own requirements. I knew I wanted to have the ability to run the simulation separate from the display, but since I didn’t commit to it at the start, I  tightly coupled the simulation with the rendering system. Then of course I get the game working and realize no one is going to have an idea if they did well or not. The game showed you how many turns you took, but this doesn’t factor in how hard the level is. So then I decoupled the simulation from the rendering. Now I can quietly put it through 50 generations or so to determine how long it runs before it becomes stable, and then use this number of steps and number of remaining  live cells to come up with some estimated “par” value for the player to play against. If I had simply committed to adding this feature in at the start, I could have saved myself some rework.

Super Hero Time Release!!!

Posted by
Wednesday, February 27th, 2013 2:03 am

my 2nd game this year! Super Hero Time finished today!!…


saving the world from catasthrope, beating baddies is everyday life of heroes, enjoy it in this short six stages minigame with absurd art and catchy music by Matt McFarland

Play on Kongregate

this time, I create about six different minigame and turn it into one game. I said minigame, because the simple mechanic it have for every stages. and I’m trying different art now, compared to my last game this has so much color. and for music, I’m using music from titled Strangled, you can hear it here

I hope this game will be better recieved by audience than my previous game, because I too learn much from this game

hope you enjoy!

A Stick in the Mud MiniLD#39 Post Mortem

Posted by
Tuesday, February 5th, 2013 11:39 am

What Went Right

1. Haxe/NME with HaxePunk
I really enjoyed Haxe as a programming language. It’s got some gotchas (like iterators are automatically created variables that only exist in loop scope and loop ranges are exclusive not inclusive) but overall it was a charm to work with. I’m also glad I got to use NME. This meant I could target mac, pc, mobile devices, and swf all from the same source. There were a few cross-platform few issues, but not as many as I expected.

HaxePunk is a game library built on top of Haxe/NME (based on FlashPunk) and that worked out pretty well. I bumped heads with the API a few times, but ultimately it was a time saver. Without it, I would have spent too much time working on my own game tools instead of working on my game.

2. Using Texture Packer and Tiled Map Editor
Texture Packer (TP) is a great tool for assembling all your graphics in one place. Tiled Map Editor (TME) is a decent (and free) tool for drawing level maps. TME needs a “packed” image to work properly. That’s the image below on the left. Although TME needs packed images, it doesn’t read the associated XML files that TP produces. So when you add new images to the folder TP is monitoring, TP annoyingly moves images around to make room. So the images get shuffled around and then TME’s map gets all messed up, carpet showing where grass should be, walls turning into desks, etc. The solution I used was to number my images (04_carpet.png) and tell TP to sort by name and use a short fixed output width. It was still a pain to remove images using this process, so I just didn’t. Bear witness to the first two tiles in the first image below, which were placeholder graphics.

I also separated sprites going straight into the game without TME. To better work with HaxePunk spritemaps, I make several spritesheets based on the image size. Mostly I worked with 64 x 64. But I also found it easier to deal with larger sprites as whole images, rather than breaking them down into 64 pixel tiles. This isn’t optimal, but it worked. Hopefully by time for my next game Spritemap will be updated to work with texture packer images rather than fixed tile grids. If it isn’t, I’ll make my own class. Below from left to right are the TME map tiles, 64×64 sprites, and 256×256 sprites.

map     sprites-64x64     sprites-128x64

3. Dynamic object creation

This worked out really well. I used Matt Tuttle’s Tiled Map Editor code (not currently part of HaxePunk) to read the TME file and create a scrollable map. This code and TME both also support the ability to add generic “objects” to the map. Generic objects can be given a name, type, and (most awesomely) properties. Here I’ve got a worker, an effect, and a zone. The zone is used to detect when you’re close enough to interact with the worker (and therefore the spacebar is active). The quest effect (smoke) is searched for when you complete the quest. The worker uses facing to determine which direction to face, has all of his speaking lines in one place, including the line he uses when you complete the quest. Color is an old prototype property I never bothered removing.

Screen Shot 2013-02-05 at 11.28.32 AM


In my main game world, after loading the TMX map (that’s the extension for a TME file), I process all the objects I can find on the “items” layer.

 var group ="items");
 for(i in group.objects)
     var clazzName = ENTITY_PREFIX + i.type;
     var clazz = Type.resolveClass(clazzName);
     if(clazz != null)
          var obj = Type.createInstance(clazz, [i, i.custom]);
          if(, Zone))
               var zone:Zone = cast(obj, Zone);
      else trace("Unknown object class found: " + i.type + " with name:" +;

So when it finds “Worker” in the Type field, it creates a Worker game entity dynamically, and passes it the properties I defined on the object. It uses those properties to bootstrap itself. This was very cool and has a lot of potential. Also I started messing with the HSL signaling library for cross communication. In this case, I’m binding the playerSignal() method to each zone, so the game world can know a zone is entered or exited, and can display the “press space to inspire!” message.

I started putting together a cascading notification system, where an object can receive a message (the only message I care about is “the quest just completed”) and can also pass on that message to other objects. In response to a message, the object can show, hide, or remove itself. So for example in the stolen lunch quest, two workers are arguing over stolen lunch. When the riddle is solved, the main worker is notified. The main worker has a property “notifies” that contains “arguingCoworker,lunchBags”. In response to being notified, the worker notifies the other worker (who speaks his “success” line), and notifies the lunch bags (which specifies “show” for its “onNotify” property, so the lunch bags suddenly appear).  I’ll be doing more stuff in this direction.

What Went Wrong

To some extent, these “wrongs” were also successes. But I suppose that’s just because failure is just an opportunity for improvement.

1. Tried to move to HaxePunk 2.x.

Mid project HaxePunk 2.x was released and I tried applying it. Everything broke instantly. For the most part I did a good job of suppressing my natural tendencies to fixate on a problem, but I wasted a couple of days trying to get 2.x working properly before I came to my senses and rolled back to 1.72a. That’s just time you don’t have to spare during a jam, even a two week jam, not if you’ve picked a project plan with no slack in it. It’s a hard lesson to learn, especially for an aging dog like me, but I have to pick my battles. It’s my Achille’s heel. This was such a unwinnable battle that, in fact, a week or so later 2.x still doesn’t work with my post-compo build. The good news though is HaxePunk 2.x is adding support for hardware accelerated blitting, so it’ll be worth the growing pains.

2. Started late, dreamed big.

I started a few days late, missing out on the initial weekend. And of course I picked new tools and game styles I’d never done before: Tiled Map Editor, Texture Packer, HaxePunk-Tiled (that’s the TMX reader), and orthogonal 2.5 perspective. This is all great learning stuff but it made it really tough to make the deadline and things had to get dropped out.  I also put together 10 puzzles, plus a bonus puzzle and an easter egg. If you haven’t played the game (feel free, it’s here), it’s about an alien who is fascinated with a piece of old poetry, and uses that poetry to inspire his coworkers. The way that works is you go up to a coworker, hit spacebar,  pick a stanza from the poem, and then see if that dramatically solved the worker’s problem.  I came up with the puzzles first, and then worked backwards to make the poem. That was a challenge, and probably not the best way to approach it.

It was a race to the deadline, which shifted on me. I thought it was 10PM GMT-5 on Friday and they extended it to Sunday. So I busted my backside to get as much as I could in there literally down to the last moment, and then I noticed the submission was still editable. In retrospect, this probably helped me, because I was able to slow down over the next two days and address some glaring issues that I couldn’t get in by what I thought was the deadline.

Still, there wasn’t enough time to do everything.  I wanted to add an end game cinematic, where after stealing from the guy who was stuck in the elevator you have a change of heart and learn from Hrothmok’s mistake. A FIRE-O-METER got dropped; this would have filled every moment you weren’t at a desk (tap tap tap!). The meter would fill rapidly if you gave a wrong quote and the boss would try to find you if the meter went red. The plants were originally a place you could hide from the boss. Now they’re just silly. Using aliens instead of humans was a time constraint compromise. Human animation was harder. I started messing with Spriter and would have loved to get some neat animation in there but there was just no time. And finally I needed a lot more art. The place was barren.

3. Three votes

For those who gave me feedback, thank you so much! I was very happy to receive it. I was unhappy with the lack of voting from the members. There were only 12 submissions. I voted for 8 of the 11 other folks, holding back from two who had voted for no games and one who had voted for one but also received  some votes. I knew that Mini LDs had less participation than the regular compo, but I expected more than 3 folks to rate my game. The lack of feedback is disappointing given the amount of work I put into it. How do you get better if you don’t get critiqued? I kept checking to see if someone else would rate my game. I didn’t know when the voting was going to end, I couldn’t find that information anywhere. They also didn’t announce the rankings (here) although maybe I’m being impatient. I made it to the top two, if you consider 3 votes statistically significant. 😉

At this point I’m a tiny bit soured on Mini LDs. I’d rather come in last place and get lots of great feedback. :) I do see that other Mini LDs have gotten more participation. I guess I was surprised to see the ratio between compos and minis to be so extreme (1327 vs 12). But it was a good experience overall and I’m looking forward to entering the LD#26 jam in April. I hope that the lesson “pick your battles” sticks because I’m going to need it to stay focused for 48 hours.

If anyone is curious, Hrothmok – the protagonist of the poem – is a portmanteau of Hrothgar (of Beowulf fame)  and Darmok (from the ST:TNG episode).

my first game this year!

Posted by
Tuesday, January 29th, 2013 4:21 am

trap room

a short puzzle about escaping from a room full of trap

play on kongregate

this is my first game this year, as I’m joined #onegameamonth

this is my 3rd game so far, and actually my first non-jam game because the other two are LD game

I created this with flashpunk+ogmo editor ex

when i’m creating this, i’m thinking about making some simple game with simple mechanic that i actually can do it and finish it. i’m choosing puzzle genre because i think for simple game, puzzle will be the best choice. well, i dunno how this turn out before i get some feedback, but i hope you will enjoy this game…

Punks, Jams and Ira Glass

Posted by
Thursday, January 17th, 2013 9:35 am

Last time I entered LD #25 giving MOAI a spin and being generally out of practice with game development. I was not able to complete my (surprisingly complicated) game idea in the time provided. I chose MOAI because I’d been exploring different game platforms and that was my first stop. Since then I’ve been looking at Haxe + NME + HaxePunk. For those who wonder:

Haxe is a programming language based on Actionscript. The compiler is multiplatform and can target C++, SWF, Neko VM, PHP, Javascript and to some extent C# and Java. This means you can use the same source code to compile multiple targets and produce native (read: fast) executables. NME simplifies this build process a good deal and adds project files, asset management, and a graphical API among other things. HaxePunk is a port of FlashPunk to work with NME. It’s a game library, providing a particle emitter, sprite maps, entity management, collision detection, and animation. An alternative to HaxePunk is Flixel, or you could roll your own game library on top of Haxe/NME.

One thing I like over MOAI is the greater variety of targets. I can compile and run my game in the Neko VM using nme test myproject.nmml neko, which builds pretty fast and launches the game. Then change neko to flash to build a SWF instead. Then change it mac or windows and it begins churning out C++ and creating a native build. Or change it to ios, android, html5, linux, etc. That’s pretty nice. Caveats include you can’t build some targets from some platforms (notably IOS from Windows), and there are some gotchas where some behaviors are slightly different between platforms, but overall I’m pleased with this set up.

Although I’m late to the party I thought I’d commit to producing a game for MiniLD 39, and use it for One Game a Month. I figure I come up with a game design that I think should be completable in 2 days … then with some luck I have a chance at just finishing it in 8 days.

Editor: Sublime Text 2
Language: Haxe/NME
Framework: HaxePunk, HaxePunk-AI
Visuals: Photoshop, FilterForge
Audio: Audacity, VLC, Bfxr, Autotracker-py
Version Control: Copy and paste

By the way if you missed the keynote video by McFunkypants at One Game a Month, he ends it with this great quote from Ira Glass:

Nobody tells this to people who are beginners, I wish someone told me. All
of us who do creative work, we get into it because we have good taste. But
there is this gap. For the first couple years you make stuff, it’s just not
that good. It’s trying to be good, it has potential, but it’s not. But your
taste, the thing that got you into the game, is still killer. And your
taste is why your work disappoints you. A lot of people never get past this
phase, they quit. Most people I know who do interesting, creative work went
through years of this. We know our work doesn’t have this special thing
that we want it to have. We all go through this. And if you are just
starting out or you are still in this phase, you gotta know its normal and
the most important thing you can do is do a lot of work. Put yourself on a
deadline so that every week you will finish one [thing]. It is only by going
through a volume of work that you will close that gap, and your work will
be as good as your ambitions. And I took longer to figure out how to do
this than anyone I’ve ever met. It’s gonna take awhile. It’s normal to take
awhile. You’ve just gotta fight your way through.

Game Development in the MSFT World

Posted by (twitter: @aaronsnoswell)
Thursday, January 10th, 2013 1:56 pm

Hi wonderful community of Ludum Dare! Context:

I’m a hobbyist game developer who’s previously only worked in the Linux / Android / Mac / Online world. I’m about to attempt creating my first game using Microsoft tech and wanted some suggestions.

I want to create a Windows Phone game, but would love if the same code could also be ported to Windows 8 / XBLA / Surface. From what I’ve read, I believe the following is correct;

  • XNA Studio can be used to create Windows Phone, XBLA and PC (desktop-style) in C#
  • For Surface / Windows 8 Store style games, you have to use Direct3D / DirectX / C++. As of Windows Phone 8, this is also an option for Windows Phone.

Can anyone comment on this? Am I correct in thinking the above? Are there any popular middleware engines I should consider using if I do go down the C# route? I’ve only learned C# in the past month or so, and as such don’t know what is out there.

Thanks so much!

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

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:

[cache: storing page]