About Dietrich Epp (twitter: @DietrichEpp)


Ludum Dare 36
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32
MiniLD #57
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 26
Ludum Dare 24
Ludum Dare 22

Dietrich Epp's Trophies

Dietrich Epp's Archive

LD26 Top Eleven

Posted by (twitter: @DietrichEpp)
Sunday, May 12th, 2013 6:00 pm

So I’m well on my way to getting sick of playing games… at least for a while. Here are eleven good games I’ve played, in randomized order, out of just over 150.


A – infernet89

A game with no instructions that does not need any. You get the simple joy of figuring the game out as you go along.

Placeholder – mtrc

That bug that you can’t quite catch… just make a comment in the source code and move on. It’s the experience of game development.


My Peculiar Car – brantkings

Wacky and simple gameplay, with a fusion of sax hits and comedic automobile design that just works.

I Know Nothing – MathiO

Simple gameplay focused on exploration and obstacles that are organic parts of the terrain.


Hexzilla – Bernhard

Strategy game that’s very addictive. My high score is 4537 credits, on wave 404. It’s all about building redundant shield generators behind a double layer of turrets.

This Is Not A Minimalist Game – Volute

A polished puzzle platformer with a great twist at the very end, and some sharp dialogue in the middle.

# – Kitch (not pictured)

A minimal arcade game that gets a lot of mileage out of some great sound effects.


T.O.M.B. – Knighty

Wicked puzzle platformer with an array of tricky but well-designed levels. I can’t beat it, but that didn’t stop me from trying.

Prototype (Jam) – OnlySlightly

Another game that evolves as you play.


The Epicly Short Adventure – JaJ

A platformer with no repeating tiles: each area has its own complete set of artwork. The final boss is a real treat, and it even has multiple endings.

X PRESS (Jam) – Pitoum

I’ve never had a game give me instructions so many times. Guess which button you have to press in this game…

Bonus challenge: find the artwork…

How many games can you find that feature artwork in Piet Mondrian’s style?

How many games in LD26 feature Botticelli’s “The Birth of Venus”?

Analytics and Post-Mortem

Posted by (twitter: @DietrichEpp)
Saturday, May 4th, 2013 11:40 am

A long post lies ahead! My game is The One Road, which I wrote in JavaScript for the 48 hour compo.


My game is played in the browser so I can just look at web server access logs. No special logging, I’m just looking at which resources were downloaded.

111 unique visitors. This counts anyone who loaded the background for the battle screen. 38% had referers, with 6% of those coming from Facebook and the rest coming from Ludum Dare.

89% of visitors requested at least one audio file. This means that audio is broken for 11% of visitors. That’s huge! I could figure out no rhyme or reason to the visitors without audio: they used different browsers (Chrome, Firefox, Safari, and Internet Explorer) and different operating systems (Windows or OS X).

Audio File Download Rates

There are three background music tracks. Each correspond to a different point in the game. For those with audio, 100% played track 1, 40% played track 2, and 29% played track 3. So under 30% of those who play my game got to the end. Is that a big number? Small?

48% of visitors with audio played the “you died” music, so maybe 52% gave up without dying. Well, it is possible they faced an unbeatable battle: the first gremlin. I’ll talk about that later. Actually, three visitors got to the end without playing the “you died” music. Congratulations to the seasoned RPG veterans out there (or cheaters).

Only 54% of visitors with audio ever bought something (sword, potion, etc.) at the town store. I think the store was not obvious enough, or people tried to get too far in the game without visiting the store. You can’t beat the game without going to the store, it’s simply not possible.


You had one job, hero. One job.

Posted by (twitter: @DietrichEpp)
Sunday, April 28th, 2013 2:09 am
Hero was defeated!

Hero was defeated!

I was hoping the hero would make it to the final dungeon, but that’s apparently not in the cards. Could be because I wrote the code which allows the player to take damage before I bothered to write the code which allows the monsters to take damage.

Maybe, now that the lose conditions are working, I might add some win conditions.

The Water Shrine

Posted by (twitter: @DietrichEpp)
Saturday, December 15th, 2012 1:23 am

I didn’t make an “I’m in!” post this time, but I’m in.

So far, I’ve made up some scratch graphics, designed a level format, and written a utility to convert Tiled Map Editor levels into my level format. Here’s what the first area in the Water Shrine level currently looks like in-game:


It doesn’t have any water yet, that will come.

Video walkthrough!

Posted by (twitter: @DietrichEpp)
Friday, August 31st, 2012 2:33 am

Okay, I spent the past two days bashing my head against the keyboard trying to encode video directly from my game, Digital Generation. The result? A video walkthrough! It’s also a bit of “developer’s commentary” for the game.

I don’t know how to embed videos into posts. Digital Generation Walkthrough (Youtube)

First fifty, let’s talk about the theme

Posted by (twitter: @DietrichEpp)
Wednesday, August 29th, 2012 6:03 am

Okay LD-ers, you’ve actually had quite a long time to think about the theme this time, not just the 48 hours. That said, I’ve categorized games into 7 categories based on how they examine the “evolution” theme. I’ll pick five good games from the fifty that I’ve played for examples. To clarify: I’m picking games based on whether they represent these categories.

  1. Munch and evolve (7/50): In quite a few games, you play a critter which has to eat things in order to evolve into better things. I’m choosing Nom’s Evolvathlon to represent this category. This is the “movie science” version of evolution — totally not how evolution works, but no matter. I like Nom’s Evolvathlon because you have to evolve the right set of abilities to eat everything on the board. This category also includes “Osmos” clones (3/50), and by extrapolation we can conclude that there are 84 Osmos clones in the contest.
  2. Evolution as cultural topic (3/50): You don’t have to incorporate the theory of evolution when you can work with evolution as a cultural phenomenon. Evidently chose this route and made me laugh harder than I’ve laughed all week. These games usually play Church versus Science, perhaps in an utterly ridiculous way.
  3. Upgrades (11/50): If you’re having trouble matching the theme, you can always think of upgrades as a kind of evolution. This gives you a lot of flexibility since just about anything can be an “upgrade”. I’ve chosen A Castle in the Desert for this category, which is a fun game but uses a broad interpretation of evolution. It has an impressive gameplay script.
  4. Simulation (4/50): Some people made a valiant effort to actually simulate some evolutionary process, and Galapagos is a great example. You’re influencing the evolution of birds, but I managed to make the simulation go horribly wrong — I gave the birds too much food at once, which lead to overpopulation. They wiped out the food supply and completely died off. That’s what I love about simulation games — they embrace emergent behavior.
  5. Evolution of the game (3/50): And some brave participants decided that it would be the game itself that evolves. Stevie Asteroid Rescues the Hovercredits is a great example in this category — at first it looks like the most horrible, primitive game. Then you get to the next level and suddenly the graphics and music are better — they keep getting better as you get farther in the game. Now you have to understand the reason I say brave here is because if you took this route, you basically committed to making multiple games during the contest. It’s hard enough to make one!
  6. And finally, I think the sprite from my game, Digital Generation looks like Freddy Mercury wearing a space suit. Or something. The walking animation is more like a pelvic-thrust dance animation than anything else. (Incidentally, my game is also in category #5… and stringing together multiple games drove me crazy!)

The sixth category is none/background (21/50): for some games, evolution only really appears in the background, and you’ll miss it if you don’t pay attention to the text that scrolls by. Or evolution isn’t relevant to the game at all. I’ve played a few platformers this time where you just jump to the level end… I think if you can string a few words together you can make a platformer about anything.

And the final category is unique (1/50): games that I feel just don’t belong in other categories. The example I have is Vesuvius, which takes a “what does not kill you makes you stronger” approach to the game.

Well, time for bed, then I can play another 50 games…

Digital Generation post-mortem

Posted by (twitter: @DietrichEpp)
Sunday, August 26th, 2012 11:45 pm

I’ll do my post-mortem for Digital Generation now, rather than putting it off until never.

What went right:

  • Gameplay: I focused more on simple, achievable gameplay this time. I focused on making the game start out easy, and introduce new elements that you can figure out one at a time rather than all at once. My last Ludum Dare game just dropped you into the middle of everything.
  • Sound effects: I was hoping for music (see below), but I settled for sound effects. Even though some of them are shrill and annoying, they make it feel “real”. (Turn your volume down when playing my game.)
  • In-game help: In the final hour, at the bottom of my TODO list, was an in-game help system. Each level has a list of strings which get printed at the bottom of the screen as help messages. People don’t read READMEs, after all.
  • AI behavior on level 2: I just get such a kick out of how the AI behaves on level 2.

What went wrong:

  • Audio subsystem: The audio subsystem is my most recent addition to the base code library, and it’s got some problems. There are a couple bugs in it that I know for certain can cause crashes. The resampler is also total garbage, and the game only sounds decent at 48 kHz. If your system is set to 44.1 kHz, it sounds terrible.
  • Music: I wrote background music, but the audio subsystem doesn’t support it — so it goes to waste. The soundtrack is available as a separate download.
  • Sleep: I felt seriously ill half the time I was working on the game, and I think it was due to a combination of excitement and bad sleep patterns. Or I could have been genuinely ill, who knows? If I do Ludum Dare next time, I’m keeping to a strict sleep schedule. It doesn’t help that I’m trying to prepare for 8 hours of jet lag.

Phase 2 is almost complete!

Posted by (twitter: @DietrichEpp)
Sunday, August 26th, 2012 5:27 am

Phase 2 of my nefarious game is almost complete! Behold, a screenshot, where in the background you can see the pathfinding algorithm in action. (Also observe that my game defaults to 1280×720 — yes, it’s High Definition.)

Alas, this is only phase 2 out of… what, six phases that I came up with? So I’m really only half done, considering that I did phase 3 out of order (phase 3 is complete). I think I’d like to skip ahead to phase 6 if I can, but it might be a bit crazy…


Posted by (twitter: @DietrichEpp)
Saturday, August 25th, 2012 12:35 pm

I have made some progress on my very fancy game whose technological sophistication will STUN you.

More importantly, now I’m back into the swing of things, so I’ll probably be able to go faster from here on out. I’ll need to…

I’m in, and I have music

Posted by (twitter: @DietrichEpp)
Friday, August 24th, 2012 4:48 pm

Okay, I’m in. And I’m definitely going to have sound in my game this time. I’ve added audio support to my framework (C/C++) that works on Linux, OS X, and Windows. I don’t have Vorbis decoding done yet, but that should be tractable, I hope. Base code is available from the link below.

Oh, and to warm up… I wrote a few tracks, to see if I could quickly put out short pieces of music. The MP3s are available from the link below. I spent about a half hour to an hour on each track, so they’re not much…

Link: Dietrich’s LD #24 Page

Shall we vote?

Posted by (twitter: @DietrichEpp)
Monday, July 30th, 2012 6:37 pm

Hoo boy. Another Ludum Dare coming up, and I am going to exacerbate
an existing problem by also talking about the rating system. But first,
I have a confession.

I like the rating system. Screw accuracy, it encourages people to
play your game. We’re all hungry to see who made the best games this
time around, so we play each other’s games, rate them, and give
feedback. The rating system creates more feedback, because it
encourages play. And I also like seeing the top games: the top games
are pretty solid games these days, even if (especially if) they’re
short. And on top of that, I love having the opportunity to get
quantitative feedback on my game!

So I came to talk about improving system accuracy, because I dug up a
pretty simple statistical analysis of the voting system that shows the
likelihood distribution of the top three overall ranked games from LD
#23, and the picture is not pretty. (From: Let’s make a voting system)

Likelihood distribution of top games

Well, it is kind of pretty, but the implications aren’t. It kind of
implies that the ranking (not the ratings! the ranking!) is a bit of a
farce. I provide the mathematical model, a discussion of community
goals, and a possible fix in my article.

Article: Let’s make a voting system

I’m in, et cetera

Posted by (twitter: @DietrichEpp)
Friday, April 20th, 2012 5:07 pm

I’m in. I bought some new markers for the graphics, got a timelapse program warmed up, and all weekend free.

Tools: C++, GIMP, scanner
Base code: http://moria.us/ludumdare/ld23/

Gems of LD #22

Posted by (twitter: @DietrichEpp)
Monday, January 9th, 2012 9:19 am

With less than 10 hours left for judging, I want to share some of the gems of LD #22: games I enjoyed from the fraction that I actually got to play. In mathematically random order, they are:

  • Snow , an adventure with an eerie atmosphere and multiple endings, puzzles easy but fun.
  • Never Alone Hotline , a wacky game where you answer the phone.
  • Mischief! You’re a kitty that tears up the furniture for points, wanted it to be longer. Needs ratings.
  • 5 Days , it’s 3D and atmospheric, has a great intro scene and short, another popular one.
  • Busy King , nails “alone” in a different way, has solid gameplay.
  • Do NOT Hug Me! It has never been so satisfying to hit someone with a broom.
  • Party Quest , fantasy adventure parody with some dark humor, the joke is on you.
  • Last Breath , a touching platformer which you’ve probably played already.
  • TransDimensional Moon Rift , a 3D adventure with a crazed protagonist.
  • Alone with… things! Magically animate furniture and ride your chair like a horse.
  • The Darkness You Wander Alone , a very old school platformer, a bit hard for me.
  • Rover’s Spirit , you’ve seen XKCD 695, good sounds, Martian landscape, needs more ratings.
  • Relativity , an innovative puzzle with a software 3D engine written from scratch.
  • Companion , cubes were never so cute, more of a toy than a game but you should play anyway.
  • The Best Of Us , a shooter AND platformer with the cheesiest voice-overs.

Lonely Star

Posted by (twitter: @DietrichEpp)
Sunday, December 18th, 2011 2:13 pm

It’s a game! Not a very long game, in fact it has just six levels. All I’m going to do now is add some “You win!” / “You lose!” messages, polish it some, and publish it. I’m not going to do the second half of the game as I planned unless some extra time materializes somewhere.

Screenshot 2

(The weird glitches are from the screenshot.)

My hands hurt…

Posted by (twitter: @DietrichEpp)
Sunday, December 18th, 2011 2:08 am

I’ve surpassed 2200 lines of C++ code and my hands are sore. I still need to write a rudimentary AI for the enemies plus a load of game logic. Level loading works, the graphics code is 80% of the way there, and physics seems spot on. Character animation is complete.


Yeah. The last 20% of the graphics programming will make it a lot prettier.

I’m in… and, code.

Posted by (twitter: @DietrichEpp)
Friday, December 16th, 2011 1:54 pm

So, I’m in. I just finished porting my base code to Linux, Mac OS X, and Windows: game_v0.1.tar.xz. Text rendering is broken on Windows, but who needs text anyway? I’ll do it all in OpenGL and C++. I wanted to get an audio framework working before the contest but I spent too long wrangling with COM interfaces for loading images.

[cache: storing page]