About Gremlin (twitter: @isaackarth)

Ludum Dare #23 is my first Ludum Dare. Technically my first game jam of any description, really.


Ludum Dare 27
Ludum Dare 26
Ludum Dare 23

Gremlin's Trophies

Gremlin's Archive

A relaxing evening

Posted by (twitter: @isaackarth)
Sunday, December 15th, 2013 8:58 pm

Why am I so relaxed, even though my game isn’t finished and the submission deadline is past? Because this year I’m doing a Jam game! With a team!


We’re calling it Beachwood City, and there’s still a bunch of work to do before we go to bed tonight.

You can lose

Posted by (twitter: @isaackarth)
Sunday, August 25th, 2013 11:20 am
It is now possible to lose the game.

It is now possible to lose the game.

The game has reached the point where it’s possible to lose it. Not the the game recognizes that you’ve lost, yet, but it’s kind of an important step.

As always, there’s a playable build online.


Posted by (twitter: @isaackarth)
Sunday, August 25th, 2013 7:11 am


It Works

Posted by (twitter: @isaackarth)
Saturday, August 24th, 2013 8:32 pm
Flying boxes shooting at each other

Flying boxes shooting at each other

It’s not fun yet, but it is something. I posted a playable build online of course.


Posted by (twitter: @isaackarth)
Saturday, August 24th, 2013 9:06 am

I’m not sure how much I’ll get done this time. But why not have fun trying?

I’m making a game about flying a teleporting Zeppelin. (Who knows if it’ll end up being about that?)

I’m using Unity and whatever useful libraries I find. So far, that means the MIT-licensed UnitySteer.shooting_bullets

Postmortem: Nothing Left

Posted by (twitter: @isaackarth)
Monday, May 13th, 2013 3:57 pm

So, minimalism turned out to be a great theme for me. I’d already been thinking about the idea of just doing a simple, fun game to relax after all of the hard work I’d been doing on my other game, so everything worked out. But not before a sidetrip through the insanity of development that was just a little bit more insane than usual.

I decided to take a well-known genre and pare it down to the core experience. Hence, a bullet-hell shooter with no shooting. The player doesn’t even have to click on anything–the click at the start is just to make sure your web browser is focused. While the art style references De Stijl, I felt that for a game the essence was in the mechanics, not the visuals, so I avoided the visual minimalism of horizontal and vertical lines in favor of an interactive minimalism of a handful of actors and the tightly defined but emergent relationship between them.

Despite everything in the game being a square, you can pretty much instantly tell how they relate to each other just but how they move and interact. I like how that turned out.


You can play the game here: http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=12047

What Went Wrong


Technically this didn’t go wrong so much as I knew going in that this was going to be an issue. I had a major paper due the week of Ludum Dare, so there was no way I would be able to devote the full time to the game, or even very much of it. I actually wasn’t sure if I was going to participate at all until a late evening conversation on Saturday made me realize that I had to get this idea out of my head. I always make a point of sleeping properly and not disrupting my usual routines, so even though I had deadlines about to steamroll me I ended up putting in about three hours on the game Saturday night and picking development back up at about ten or so on Sunday. In total, I probably spent about twelve to fifteen hours on the game.


I knew I wanted to get audio into the game, but a bug earlier in the day had put me behind, so I ended up with three hours to go, no audio–and no idea how to add it, because Processing.js doesn’t natively do audio. I had to learn HTML5 audio and make the sounds in three hours or less. Preferably less, because I like to leave some extra time at the end of Ludum Dare for breathing room. It worked in the end, but I’d have liked to have a bit more attention to the audio–but not to add much, because the minimalistic effects that are currently a part of the game do fit the theme. Just be glad my screeching temp sounds got replaced.


The procedural generator I wrote is fairly clever, given the time constraints. It divides the different possible features a wave can have into buckets and then uses Perlin noise to select a subset of those features to use. But it needs a bit more tuning than it has. I was the only one testing it, so I knew the ins and outs of the generator, but other people take a bit of time to figure it out and mostly die when the difficulty curve ramps up really sharply at the fifth level.

If I had been able to watch other people play the game I probably would have been able to avoid the other big problem, which is that there’s no “Game Over” screen. I didn’t need it while I was testing, and I didn’t care what my score was, so I didn’t notice that it was missing. But having one turns out to be really important for the game. Adding it in was a simple 26-line change, and the post-comp version has it, but I feel that if I had other people test it during primary development the game would have ended up even better than it is now.


What Went Right


Processing was a great platform to work with. I had to implement my own collisions, but that wasn’t a problem since I already knew how. I was able to use a lot of programming tricks that are technically feasible anywhere, like adding easing to most of the movement, but Processing’s immediate feedback let me fine-tune to get the exact feel that I wanted. And feel is a huge part of a game like this. Processing.js was easy to get working once I figured out which PVector functions weren’t implemented yet–in fact, it was so easy that I switched to make the web version of the game the primary one for the competition release.


I gave myself permission to not do everything. That is, the game wasn’t going to be the best graphics, the best sound, the most innovative concept–I was going to focus on making a game, not starting a revolution. Minimalism turned out to help with that, since it let me make a game that is deliberately about the most basic expression of a core idea.

No Feature Creep

Speaking of which, minimalism gave me an excuse for avoiding feature creep. Every time I had an awesome idea for something that would be an awesome addition to the game, I could just say, “Nope. Minimalism,” and go on my way.

Source Code Control

I took a few minutes on Sunday to set up a git repository for the game. I never ended up needing it, but it let me experiment, knowing that there was always going to be a mostly-working version of the game that I could go back to. I can, right now, jump back to the compo-version or forward to the post-comp changes with no trouble at all. If you aren’t using source code control, take a few minutes to learn how. You won’t regret it.


Keeping yourself healthy is important, even during a crazy crunch situation like this. I made a point to sleep and eat–and that really helped when I needed the energy and concentration to learn a completely new thing three hours before the deadline.

Finally, the community is a big part of why I participate. I make a point of rating a bunch of games–nowhere near all of them, but as many as I can find the time to do. I’ve already incorporated some of the suggestions I’ve received into the post-comp version I’m working on. I try to leave feedback that will help make the games better and I encourage you to do the same.



Celebratory Pie

Posted by (twitter: @isaackarth)
Sunday, April 28th, 2013 7:49 pm

And here’s the traditional post-Ludum-Dare pie.


Posted by (twitter: @isaackarth)
Sunday, April 28th, 2013 7:15 pm

Well, really I finished with about half-an-hour to go, but I spent the rest of the time doing the desktop ports and recovering.


Now, back to recovering…

Working in the browser

Posted by (twitter: @isaackarth)
Sunday, April 28th, 2013 9:52 am

Processing JS is a bit behind the latest beta version of processing, so some of the nice vector math tools are missing and it doesn’t give you a clear error message. But I found the functions that were causing problems (setMag and rotate) and replaced them.

This is a bit insane

Posted by (twitter: @isaackarth)
Sunday, April 28th, 2013 8:16 am

I don’t really have time to work on a game this weekend. So, of course, while doing other things, I’m also making a game this weekend.

The nice thing about minimalism is that every time I have an idea that would increase the scope of the game, I can say “Nope. Minimalism,” and forget about it.


The Sheep Are Sinking: Done!

Posted by (twitter: @isaackarth)
Sunday, April 22nd, 2012 6:30 pm

I have now built a game in 48 hours! And you can play it here! (I think I may be a little excited. And I didn’t even lose that much sleep.)

Built in Unity, with sound effects in Bxfr and some levels in Photoshop (really!).

Stuff that didn’t get in (in order): fluid simulation (spent 3 hours researching first day, didn’t really need it), pathfinding (spent 4 hours researching second day, replaced with vector steering), procedural terrain generation (turns out that the textures I had already thrown together were varied enough, you probably won’t notice it’s missing).

Features that are in:

  • Sheep!
  • Terrain editing!
  • A tiny world that’s sinking
  • Level progression
  • Sheepdogs to herd sheep
  • Wolves (that eat sheep)
  • Alligators (that also eat sheep)
  • Sound effects!
  • Horrifically messy source code provided!
  • And more!

Definitely about tiny, drowning sheep

Posted by (twitter: @isaackarth)
Sunday, April 22nd, 2012 10:26 am

I think the game is definitely about herding sheep now.

There’s a lot of stuff that I’d have liked to have done with it, tech-wise, but right now I think I just need to concentrate on fleshing out the whole herding and flocking experience. Mechanics, not glitz.

Play it here.

Tiny Sheep, Maybe

Posted by (twitter: @isaackarth)
Saturday, April 21st, 2012 10:01 pm

Well, it’s still not much of a game, but it does work a lot better. The travelers (or are they sheep? or cats?) are, if anything, even more unmanageable. They like climbing hills, they don’t like swimming, and they can’t scale cliffs. And every time you get them all to the exit, you get to start again with even more of them.

Halfway Along on a Tiny Pilgrimage

Posted by (twitter: @isaackarth)
Saturday, April 21st, 2012 6:04 pm

Well, I got distracted trying to implement pathfinding and lost a few hours before deciding that I’d be making better use of my time just getting the tiny travelers moving. So they’re kind of dumb, and only really know how to walk in a straight line right now.

I think that was the right decision to make this time, though. I’ll learn how to implement A* some other time. This time, I just need to try to make it playable.

Play it here

[cache: storing page]