About williamwhitacre (twitter: @fungusgames)

I like to make games. I'm an open book.


Ludum Dare 24

williamwhitacre's Trophies

williamwhitacre's Archive

Oh well.

Posted by (twitter: @fungusgames)
Tuesday, December 18th, 2012 2:31 am

As you may have guessed, I didn’t have a submission this time. My son woke up from his nap with a fever, Alex barely ever got to his tileset on account of his interruption. Sometimes the hardest part is just making time to participate, I finished a submission for LD24, but never had more than 6 hours to actually work in.

In the meantime, we’ve got a great starting point for a tower defense game, and an idea for a bizarre twist.

Crunch time.

Posted by (twitter: @fungusgames)
Monday, December 17th, 2012 2:30 pm

Greetings, programs!

Look, ma!

This is the best game I have ever played, for serious.

Bad news: all I have right now is a generated tilemap with A* heap pathing.  I just didn’t have the time to prepare.  My prototype engine was barely a skeleton, so a lot has been written on the fly I hadn’t planned on writing.  Alex has been getting slammed with finals (on LD weekend! D:) which should have been accounted for, but my spontaneous nature got the better of me again.  So that’s pulled a lot of my time away from coding to make programmer art.  I promise, it will be PLAYABLE.  I cannot promise much else.

Of course, I am still having a blast! 😀

I’m in for LD25!

Posted by (twitter: @fungusgames)
Friday, December 14th, 2012 2:59 pm

Greetings, programs!

I am in for the LudumDare 25 Jam with my buddy Alex, who is doing LD for the first time!  This would be my second go.  Give him a warm welcome.  Our plan is to create something bigger than my last rushed entry, which I only had a total of 6 hours to work on.  We have long dreamed of being an indie dream team.


  • Language: C++11.
  • Libraries: Allegro 5 (video, audio, input, system),  fungus_booster (my utilities)
  • Audio: Audacity, puredata
  • Graphics: PyxelEdit, ASE (Allegro Sprite Editor)

I will sadly still be at work for part of the Jam (8 hours of it) through no choice of my own.  But, given that I have help, and a much clearer decision to enter and prepare before hand, I think we’ll come up with something awesome!  May the best game win!  I love you all.

Shameless plug:

If you like my C++11 utility libraries, please use and share them!  Docs are a work in progress.  I’ve recently switched to github/cmake from SVN/codeblocks, so there are not a lot of commits, but it is quite mature.  Threading, networking, serialization, configurable hash_map template, and many nifty odds and ends.

What I learned, Sweepers Prototype Post-Mortem, new full game idea

Posted by (twitter: @fungusgames)
Sunday, September 16th, 2012 11:44 am

Well, I’ve played a few of the games and I’ve looked at the feedback on my own, now, so I think I know basically what I’ve learned from this experience.  My game was called “Sweepers!” So here goes.

  1. Take time off work to participate!  I spent a total of six hours on this entry, and was forced to create something so unbelievably hacky that it’s impossible to expand upon or deeply modify.  I also did not get much time to rate games, sadly :(
  2. I suck at working under pressure, but not as much as I used to. I need time to think as much as possible to get the job done right.  I am not really the best quick thinker when I know that a failure to think quickly will result in failure at the task.
  3. I am going to participate every single time from now on.  Why does that even need a “because” clause?
  4. I’m 3 times as inspired!
Here are some simple screenshots, the first with annotations showing what a gameplay sequence looks like:

What went wrong:

  • Bugs!  Because I was forced to complete it with really no time at all it was full of bugs!
  • Evolution mechanic implementation:  I wanted an evolution MECHANIC.  Not a THEME, but a MECHANIC.  So much of games as of now (yes, even indie games!) is conveyed in themes, I feel, which doesn’t really convey a certain way of thinking and experiencing stuff nearly as well as a calculated action.  The problem was that I couldn’t think of any way to make that mechanic work in the given time that didn’t involve my most natural starting point, a vector space sim.  So I ended up with each marker evolving seperately and creating a kind of fake “ecosystem”.  I see now that much more intuitive and satisfying evolution mechanics could be developed using a global approach modifying a map.
  • I forgot to actually mention I was participating before I started *facepalm*.  Just got too excited.  So I’m probably disqualified.  Yeah…

What went right:

  • Concept:  A clear illustration of how immediate and fast paced evolution mechanics can be really engaging.  Everyone I showed it to said it was fun.  :)  The broadside like strategy ended up being pretty cool even though it was unintended.
  • Sound:  While most people will probably dismiss the sound with a ‘meh’, I was quite proud, because I almost NEVER used to get around to adding sound.  I used BFXR to produce the sound effects, and I think I came up with a pretty good set.

But a game idea has come out of all this, one I think is pretty solid.  I’m doing a mockup of that now.  If you want to watch for news about it, here’s my blog: FungusGames  News is coming soon after the mockup is done.

But back to sweepers, I don’t believe I’m wasting any more time on it. The code is so horrible that I wake up in the middle of the night in a cold sweat thinking about it because of how much pressure I had on me to get it done (6 hours out of the 48).  If you want to see for yourself, click here and enter the realm of LUA noobery.  If you want to play it, click here if you’re on Windows or here for any platform that supports LOVE 2D (MacOSX, *nix).  I hope it was well enjoyed by all who played it, and I hope that if you’re just now playing it that you enjoy it now!  Just a note: if you lose, RESTART THE GAME BEFORE YOU PLAY AGAIN.

It is unplayable the second time through, and I think it has something to do with LUA garbage collection.  I generally hate garbage collectors and avoid them like the plague when the language doesn’t make me use them, because my brain can’t handle fuzziness when it comes to “does x object still exist?”

I’m sorry about not being so active with the community this time around, but my decision was spur of the moment and I didn’t really have the time I needed to participate correctly.

Victory meal!

Posted by (twitter: @fungusgames)
Sunday, August 26th, 2012 7:34 pm

Though delayed, my victory meal was a corn dog.  I was too hungry to take a picture before I ate it.


Posted by (twitter: @fungusgames)
Sunday, August 26th, 2012 4:30 pm

I am done with my very first entry to Ludum Dare!  I haven’t been able to get on the internet for long enough to post about it until now.  If this disqualifies me from the competition, so be it, I still want to share this idea.  I started it last night.  It’s called: Sweepers! Tools used: Love2D with the HUMP library, http://www.bfxr.net/ for sound effects, and very primitive vector graphics.  Screenshots:

Absorbing the traits of fallen enemy.

The premise:

The game resets if you lose.  I did not have time to do proper scoring or persistent high scores, and evolution does not work at all after the reset occurs.  You will have to start the program again if you want to play without the bugs.  It’s a .love package, so you will need Love2D 0.8.0 to play.  Enjoy!  It’s here.

I am overall pleased with the mechanic, but that’s about all I’m pleased with.  I don’t really think I will win (or even come close), but this is one of the best experiences I’ve had in a long time.  I will be participating (correctly :P) just about every time from now on.

[cache: storing page]