Ludum Dare 35
The Theme is:

About ethankennerly

I have helped make games in the US, Korea, China, and The Netherlands.


Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 33 Warmup
Ludum Dare 32
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 28
Ludum Dare 27
Ludum Dare 26
Ludum Dare 25
Ludum Dare 24
Ludum Dare 19

ethankennerly's Trophies

ethankennerly's Archive

Shapeshifter Challenge – Postmortem

Posted by
Monday, April 18th, 2016 11:06 pm

+ Many reference tangram animals, games, and art.
+ Girlfriend graciously played and let me occupy our office.
+ Smoke to debug piece fit also gives player a hint.

– Procrastinated making until Saturday and sounds until too late.
– What is a simple algorithm to detect pieces fit a silhouette?
– Unity WebGL builds for 15 minutes to mysteriously crash.

If you like puzzles, play here.


I’m in and warmed up!

Posted by
Sunday, April 10th, 2016 10:46 pm

I’ll be using my Unity Toykit.

Here’s my warm-up using that toolkit and framework:

Thanks for 9 suggestions to edit the post-compo version

Posted by
Friday, December 25th, 2015 11:55 pm

Thanks for suggesting 9 post-compo improvements:

* Steer off-road, TheMeorch restarts level.
* At highest speed, Drtizzle changes lane twice as fast.
* Blobo encounters 10% fewer cars that switch lanes.
* Nosfer plays level 11 and 12 with 10% faster driving.
* Muel sees cars signal lane change 4 more cars ahead.
* TerraCottaFrog finishes race at level 2 to 5 about 20% sooner.
* If competitor is moving faster, Blobo does not crash.
* LittleThor hears lane change.
* Muel hears soundtrack (

You can play these in the HTML5 version or play the games of the people mentioned above:

Auto Racer

Auto Racer

Post-mortem of Auto Racer

Posted by
Sunday, December 20th, 2015 6:41 pm

This jam I:
+ Gamified turn signals: Oal accepted signaled collisions.
+ Played levels 1 to 7: Blobo felt challenged in most.
+ Modeled 5 blocks, 5 colors: LittleThor felt voxels were cute.

Next jam I could:
– Playtest levels 8, 9, and 10: Blobo said they are too hard.
– Playtest until I win: TheMeorch would restart after a mistake.
– 3 hrs of audio: Oal wanted music. LittleThor wanted effects.


When you play Auto Racer, how do you feel?

Anagram Attack: Post-mortem

Posted by
Sunday, May 10th, 2015 5:07 pm

What went right:

+ Reference simple rules in a popular game: Jennifer loves Scrabble, so she might like Text Twist, which apparently a lot of people on Yahoo games like. Honestly, I didn’t want to make a fighting game, so the theme “unconventional weapon” was bumming me out. I decided I could playtest an anagram game, because my girlfriend kills me at Scrabble and Banagrams. It worked: Saturday night, she played the prototype for over an hour!

+ Playtest 2 text files in the first 3 hours: Jennifer and Anders played a text file prototype of rhyming, which they didn’t like, and anagram typing tutorial, which they liked more, so I made that. I just showed them the text file and had them type into another text file. I really would prefer a rhyming game, but others wanted anagrams, which gives you flexibility of multiple solutions.

+ Research multiple-solution anagrams: A website had a lot of anagram words, so I could include 100 of those words. How many different anagrams of “ywas” can you type?

What went wrong:

Little playtesting of harder words, so word 85 stumped more friends than word 86.

Procrastinated playtesting graphics, so the images are minimal and clashing. I was planning for robots and missiles, but people tell me this looks like a dungeon crawler with a sword. Now that I listened to player’s interpretation, I could play that up more.

Procrastinated playtesting sounds, so the sounds are incongruent. For this, I’m thinking next time I’d try musical notes in MuseScore rather than 8-bit sounds in BFXR.

Play Anagram Attack

** Post-Mortem

Posted by
Saturday, August 30th, 2014 3:24 pm


What went right:

+ Memorizing: Dots to connect is surprisingly challenging even at your own pace.

+ No words: Matt suggested connect the dots and Diana had ideas about constellations. Jennifer and Beth also playtested, which clarified the tutorial. No words needed to play. The title ** also has no words. I now call the game .. (DotDot).

+ Drawing: Exported Flash drawings to Adobe Illustrator format and wrote a Python script to parse them into a JSON-like object. Clean separation of model and view.


What went wrong:

– Convoluted teardown state: A bug that showed another drawing after the end of the game cost hours of troubleshooting. Next time could simplify the last trial teardown.

– Silent: Wasn’t satisfied with 8-bit sounds, so didn’t add sounds post-compo version. Next time could prepare to use MuseScore.

– Strict: Dots were too exact until post-compo version. Next time could playtest more Sunday afternoon.

– Scoreless: Wasn’t clear about a scoring system until the post-compo version. Next time could playtest more Sunday afternoon.

Play the 48-hour version or post-compo version

Defuse the Bomb in 10 Seconds! Post-mortem

Posted by
Sunday, August 25th, 2013 9:08 pm

Play now!

Went well:
+ Friday night, Jethro looked at my thumbnail sketch of wires and seemed interested.
+ Saturday, Jethro and Tyriq played the manual levels and wanted more; Sunday, Stephen confirmed the overlap.
+ Flash made shading lines and integrating manual and random levels easy.

Next opportunity:
– Program random paths before randomly placing junctions.
– Simplify path data structure.
– Start making Friday night.

Tools: Flash CS4, LabChirp, vim.

Right Side of the Road Post-mortem (minimal!)

Posted by
Saturday, May 18th, 2013 11:55 am

+++ Scope: One button switches lanes.
++ Share: Windows, git, FlashDevelop, Flixel, and PhotoShop.
+ Agree: We discarded ambiguous warnings, words, and refueling.

— Decide: Saturday we could structure the 4-column sprite sheet.
— Play: Early on Saturday, we could playtest timing.
– Edit: Saturday we could quiz American/British like “restroom/toilet”.

Play now!

By Duncan Robson and Ethan Kennerly

Favorite web games

Posted by
Sunday, May 12th, 2013 4:52 pm

Out of 100, here’s my favorite web games (and their task):

Orbicular (Aim and dodge)
Aranami (Rotate)
Root Route! (Navigate)
Less is More (Simulate)
Mind the Gap (Optimize)
You Must Escape (Memorize the maze)
Potato Dungeon (Swipe)
Join (Navigate)
Leaf Me Alone (Explore)
Gods Will Be Watching (Manage)
Flight Time (Orbit)
.MONDR (Dodge)
The Lamp (Seek and avoid)
XYZ (Rotate)

And here is Duncan and my entry:

Right Side of the Road (English)

I’m in LD26

Posted by
Saturday, April 6th, 2013 10:18 am

I usually use:

Code:  ActionScript, Flixel

Graphics:  Flash CS

Audio:  BFXR, SFXR, Audacity

May leave San Francisco to join the gathering in Oakland.

A few fun games

Posted by
Sunday, December 23rd, 2012 5:10 pm

So many games to 48hour games to play!  Here’s 4 that engaged me:


Atomic Creeper Spawner



Storm the Castle


And Eli showed  me this amazing jam entry:


Sleeping Dragon: Post-mortem

Posted by
Monday, December 17th, 2012 12:16 am
Sleeping Dragon

Ludum Dare 25


What went right:

Simple reference game:  Friday at 6pm, Dave Alleca showed me Spike: A Love Story.  Press a space bar to drop a spiked ceiling onto a passerby.  It was simple to play, and the animation, sound, and writing was polished.   I managed my scope.

Simple reference art:  There’s many illustrations of dragons, peasants and knights to borrow from.  I enjoyed referring to these and composing some cartoon characters.  Cartoons are easy to make in Flash.  Most everything was morphed from an oval.  I felt relaxed on Saturday evening as I illustrated and animated.

Pace:  Almost every hour I committed to git.  I logged each hour.  I was aware of the time left and the goal for the hour.  The log motivated me and balanced my perspective for the next time I make a game quickly.  I took a break most hours; that was part of the rhythm.  I slept eight hours each night.  I was never exhausted, even though I did work 10 hours on Friday before starting the Ludum Dare at 6pm.


What went wrong:

Over invested in infrastructure.  I used Flixel.  For such a simple game, next time I might go with native Flash.  I was concerned about performance, yet the walking animations still had a little bit of stutter in them in Flixel.  I used a scene movieclip to compose the elements and to sync the sound with the visuals, and to dynamically generate sprite sheets from the animations.

Nice to have polishing before essential requirements.  I had planned to add fireball since the beginning, but I did not start programming it until about 2 or 3 hours before the end.  Until that moment I could not consider the difficulty.  Afterward, I made the fire and bite more deadly, but enabled a dominant strategy to pace fireballs.

Indecision.  I over-invested and polished because I was not sure about how much time I would need and wanted to have a well-rounded game.  I put off adding more features because I wanted to polish what was already there.  I was not too clear about my goals.  I was not sure about blitting or vector art, about using particles or custom animation.  So I made both.


Altogether I enjoyed the experience and have been encouraged by the positive comments that imagine a potential follow-up for Sleeping Dragon.



Warm up: Turn Here

Posted by
Friday, December 14th, 2012 7:08 pm

A warm up made in a few hours over a few nights.  If you don’t disdain black & white box Pong quality graphics:

Press LEFT or RIGHT to keep the white “car” in the middle of the gray buildings.

Download the SWF here and drag into a browser:



Alien Automata: another post-compo game in 48 hours

Posted by
Monday, September 3rd, 2012 5:13 am


A videogame concept made in 2 days. September 1-2, 2012 Version 0.1 Last weekend John Wilkinson, Dave Alleca, and I made a game for Ludum Jam. The theme was “Evolution.” We brainstormed ideas, including mixing Conway’s Game of Life with Space Invaders. We expected it would be too chaotic. This weekend I wanted to make another game, and sessions of Conway’s Life monopolized my imagination.

Post mortem (Monsters Were Here!)

Posted by
Wednesday, December 22nd, 2010 12:56 pm
What went right
1. Play a little, make a little.
I built most features in order the the player needs them:  reveal fog, sail around land, get a cannon, shoot a pirate, get gold, eat fish, save at a city, and so on.  I would play and say, for example:  hm, that pirate needs gold.
2. Familiar with some simple games of discovery.
I started with inspiration from my teenage play of Civilization I and Starflight.  I could already imagine sailing.  save points like Robot Wants Kitty, revealing tiles like Civilization I, limited fuel like vehicles in Advance Wars, and side-shooting like R-Type I (although more whimsical as in Trip on a Funny Boat).
At first I had shooting forward, but by shooting both left and right automatically, shooting felt relaxing.  By shooting only to the sides, I only needed enemies (like te sea dragon) to attack on the sides.  Also the unrotated ships are more plausible when considering most motion is only from left to right.
There had been rocks, crags to crash against, and shooting a herring or a monster getting to a herring would kill it.  About seven hours before the deadline, the frame dropped to 12 FPS.  I gutted the collisions and crags, and in giving the computer less to worry about, I also gave the player less to worry about.
3. Tools and engine handle the stress.
Flixel handled the 256×128 tile map.  As did DAME, the level editor.  The frame rate is fast and stable, which is essential for shoot’em up action.  I had practiced using each tool and technique in previous two-day games, so I could focus on the design.
What went wrong
1. World map is too large.
The world map is 256×128 tiles.  That is nearly 100 screens.  Until 9 hours before the deadline, I only had a few center islands.  In some miraculous feat of about three hours, I made the remaining 80 or so screens of the world.  Next time I would rather iterate on a world about 128×64 (about the size of Robot Wants Kitty).
2. Distracted by more ideas than I can make.
I told myself I would start programming and play something within the first five hours.  But what?  I drafted two segments of screenplays for two hours, before finally convincing myself that an old world sailing shooter would be a more consistent setting for the features I had in mind.  I had so many ideas though:  galaxy or old world sea, food container upgrade, animated bosses, treasure chests, and more.  But, how do I program boss behavior in two hours?  The dragon’s large size, rush in a narrow inlet, hit points was the simplest I could make.
3. Graphics pipeline overkill.
I like the visual interface and convenience of DAME a lot.  But somehow it flipped half of the sprites (without that option being checked) and made a couple of other strange changes, such that I don’t think I can maintain the map without replacing many sprites.  I didn’t need that, and could have loaded monsters from tiles instead of sprites.  I also exported from Flash CS4 a SWF for city, player, HUD.  I had a hard to read text HUD in Flixel that I replaced with a CS4 SWF.  It works well, but setup cost me an extra hour.  I drew the graphics in Flash CS4, but the vector shark and hydra scaled down to be imperceptible on a 25×25 tile, same with dragon’s ruby eye.  All this attention to my graphics pipeline kept my procrastinating sound.  I knew SFXR and like it.  I tried for last minute sound, really last minute.  So I wound up with no sound.
Healthy sleep and diet
Finally, I could have made more if I had kept a consistent diet and slept well Friday night.  A couple of naps and grogginess cost me a couple of hours.  And I could have enjoyed Monday after if I had not stayed up until the last minute (3 a.m. here in Amsterdam) Sunday night.
Altogether, I’m proud of the voyage in the tiny world of Here Be Monsters!  It’s worth your trip.

Here be finished

Posted by
Sunday, December 19th, 2010 7:47 pm

Here Be Monsters!

Civilization I sailing meets R-Type I side-shooting.  Sound fun?

Play it in your browser.

[cache: storing page]