About blubberquark (twitter: @blubberquark)


Ludum Dare 37
Ludum Dare 36
Ludum Dare 35
Ludum Dare 34
Ludum Dare 33
Ludum Dare 32
Ludum Dare 32 Warmup
Ludum Dare 31
Ludum Dare 30
Ludum Dare 29
Ludum Dare 27
Ludum Dare 23
Ludum Dare 22

blubberquark's Trophies

Hacker Newser
Awarded by udo
on August 29, 2013

blubberquark's Archive

Mead Boy: Game Feel and Level Design

Posted by (twitter: @blubberquark)
Tuesday, September 6th, 2016 8:08 am


play Mead Boy or read on:

This is not a post-mortem of the development process, but an explanation of the game design and what makes it tick.

Game Design

Mead Boy is a small platformer where your goal is to drink all the mead. The more mead you drink, the more laggy your controls get. Alcohol wears off slowly and linearly, just like real life. Also like in real life, a single drink impacts your reflexes enough to make many tasks perceivably more difficult. A tenth of a second of lag is already noticeable. In order to make players not just wait out the effects of the alcohol, and progress slowly, there is hunger clock and a time-based scoring system. Food pickups set back the hunger clock, and Gold pickups increase the score. One per mille of BAC creates a lag of one second and takes ten seconds to wear off. This should incentivise players to look for food while stillslightly drunk. Levels are small and take under a minute to complete. Levels should pose little challenge “sober”.

Each level represents a real city from the Viking age. There is an overworld map that shows you where the city is, and how a river connects it to the sea. There is some looting and pillaging, but no combat or violence against people shown.





Game Feel

Speed and Momentum


Mead boy is a game about going right, going fast, picking up speed, and jumping far. (At least when you’re sober. When you are drunk, you pick up speed and go too fast. Your first instinct if the character is not responding right away is to hit the buttons harder.) There are only three buttons needed to control Mead Boy: Left, Right, Jump.

Mead Boy responds to button presses instantly, but he keeps accelerating until he reaches a top speed of 5.5 pixels per frame. When you stop pressing the button, he decelerates exponentially. At speeds below 1 px/frame he stops completely (like stiction compared friction). This way there is no “long tail” of slow sliding after landing a jump, which feels weird and floaty and may make you fall off a cliff when you don’t expect it. The following diagram shows a plot of speed and button presses, where you can see a long attack and a quick release phase:




Jumps are always the same height, and there is no way to increase or reduce the jump height. Like Mario or Sonic, Mead boy goes right fast. Mead Boy is not Luigi or Mega Man. The Camera only scrolls on the left-right axis, in order to de-emphasise going up or down.

No Turning on a Dime

Mead Boy can come to a standstill relatively fast, but turning around is harder: When he is still moving into the opposite direction, the slow acceleration takes longer than simply stopping first and then accelerating into the other direction. This makes the momentum feel “weightier”, but it is also kind of frustrating. Mead Boy is running really fast; you can’t just turn around. Well, now you know and can exploit the behaviour for speed running!





Level Design

play Mead Boy before you get spoiled!


haithabu level

Haithabu Level – Click to see at full resolution

This is a kind of tutorial and sandbox level. There are only three units of alcohol and enough food. You have to jump out of some pits, but there is no way to drown or to get stuck. You spawn on the left and have to go right. You can also go back left. You have to use both running and jumping controls, so I know you can use them when you advance to the next level.

How the level fits with the theme: This level is inspired by the Viking city of Haithabu. The destruction of Haithabu marked the end of the Viking age. Haithabu is your home base and a safe place. That’s why there is no longship. You arrived on foot. Haithabu is your home.


lindisfarne level

Lindisfarne – Click to see at full resolution

The second level is much bigger. There is only water on the left and land on the right. After the first mead pickup, there are two food items that should reset your hunger clock. The only “dangerous” jump comes right after: You can fall and drown, and you might still be slightly drunk at this point. You have to make a leap of faith. After the next jump, you are free to take all the gold and set the buildings on fire. Jumping to get the gold or over the small bump after the cathedral may be tricky due to alcohol, but you can safely retry: No real challenge.

How it fits the historical theme: The Viking raid of the Lindisfarne monastery marked the beginning of the Viking age. There are stone buildings and churches that kind of look like an English monastery of the era.


london level

London – Click to see at full resolution

This was the first level I had designed. There is more alcohol, the same amount of food, and you have to jump over a gap to get food. The last bit on the right requires you to jump onto a small platform after two units of alcohol. Definitely harder than Lindisfarne, but not much.

Historical Inspiration: The building on the right is a mash-up between the tower bridge and the tower of London. London was raided by Vikings multiple times. The tower bridge was not there during the Viking age, please forgive my anachronism.


paris level

Paris – Click to see full resolution

Paris is a step up in challenge. There are two deadly jumps in the beginning, lots of going up and down and the buildings you torch are relatively small. You have to go back and forth to collect all the food or gold.

The Lore: Paris was attacked by Vikings a couple of times under Charlemagne. Once they paid ransom, once they didn’t. Guess how that turned out. Also red wine and the Eiffel tower (super anachronism) to make sure you get that it’s Paris.


hamburg level

Hamburg – Click to see full resolution

Hamburg is the last and hardest level. It has the most alcohol, lots of water to drown in, and gaps where you have to jump right and up or down. I expect you to lose this on the first try. Nonetheless you can make many jumps drunk. Losing is fun!

History: Hamburg is a port city and a member of the Hanse. It has trading post houses right in the harbor. Also a dike. Also vikings.

play Mead Boy and comment please


Found it!

Posted by (twitter: @blubberquark)
Monday, September 5th, 2016 8:28 am

Almost Done with Mead Boy

Posted by (twitter: @blubberquark)
Sunday, August 28th, 2016 4:00 pm

I’m mostly done with my game “Mead Boy”.

It is about honeywine and longboats, two old technologies that gave the vikings an edge, and took the edge off again!

Bildschirmfoto vom 2016-08-28 22-49-53

Mead boy loots pillages and drinks!

Bildschirmfoto vom 2016-08-28 22-53-41Drink ALL THE MEAD to win! Try not to get too in-game-drunk!

Team Work

Posted by (twitter: @blubberquark)
Saturday, May 28th, 2016 12:25 pm

I have written about working together in game jams on my tumblr here. I explain my approach to to team composition, group-friendly game design and time planning. This is exemplified by our LD34 game “Wyst”.

After Day in the Life of a Spy and Nessie: Quest for Fame turned out pretty mediocre, I thought about what kinds of game design are best suited for a 3-day game jam. The games both had out-there premises and uneven graphics. In “Day in the Life of a Spy”, we pretty much worked against our engine, suffered from too big a design for three days and lots of duplicated effort in the form of unconnected minigames. Nessie had a more focused design, but boring mechanics and cartoony character art in a naturalistically rendered environment.

For LD34 we would need an art style we can deliver together, a game design that can be split up between many developers and a way to use Unity productively. Instead of spitting up mechanics we split up content: puzzles and island sectors. The result was Wyst, a game we are very happy with. Wyst in the result of careful planning, communication, not working against the tools and a focus on content and aesthetics, instead of innovation and mechanics.

If you have feedback or tips on jam-team-friendly game design, comment here (or rebagel on tumblr).

Read the full post Team Work for Game Jams.

Christmas Island

Posted by (twitter: @blubberquark)
Thursday, December 24th, 2015 4:15 am

Rendered in the art style of our Jam entry Wyst


Play it Here!

Merry Christmas from Game Devs Osnabrück!


Declaration of base code!

Posted by (twitter: @blubberquark)
Friday, December 11th, 2015 12:55 pm

I have written some base code to import Yarn conversation files into HaxeFlixel and called it FlxYarn.

look at it here: https://gist.github.com/robertpfeiffer/e00a88fa1d514cc4302b

Are you tired of writing your dialogues in HaxeFlixel games as big nested if-statements inside of monstrous loops? Then FlxYarn might be right for you!

two talking heads and speech bubbles

I have built a Yarn parser, loader, NPC dialog engine and speech bubble UI for HaxeFlixel. I finished just in time in time for Ludum Dare. Now we can split up the work on a story-driven game into code(Haxe), levels(Tiled) and dialogue(Yarn). Each NPC has his own state machine.

Conversation nodes can contain multiple speech bubbles and dialog options. Nodes can contain Haxe code for scripting, which will be executed with the HScript interpreter. You can share variables from your Yarn state with the game code.

screenshot of conversation node syntax

The Yarn dialogue editor was built by Alec Holowka and heavily inspired by Twine. The syntax you see above is half my own design, half based on Yarn and HScript. The <<run $X>> macro runs haxe statements. The <<print $X>> macro evaluates Haxe expressions and pastes the result into the conversation state. Links to other nodes have the same syntax as in Yarn and Twine.


yarn conversation state graph

Get Yarn Here:


Try out the cobbled-together nonsense Demo conversation between the neo-baroque technocrat and the spaghetti wizard (requires Flash):


Recurring themes in the interpretation of the theme

Posted by (twitter: @blubberquark)
Sunday, May 10th, 2015 10:08 am

Our team was not really excited by the theme of an “unconventional weapon”. The first ideas were about conventional weapons like guns versus un-conventional weapons like nukes and sarin gas. A big food fight also seemed like a good idea, so I announced it here (more food fight RTS art at: http://blubberquark.tumblr.com/tagged/food-fight-rts).

While the food idea sounds funny, it was also really really obvious. In order to stand out between all the food shooters, we needed to do something different. After some brainstorming we decided on Tetris stones as a weapon. Unlike food, this idea is not only a funny re-skinning of the weapons of an existing game. Weaponizing adds new mechanics and dynamics to an old puzzle game.

The end result was  Tetrominions.

During rating, I found that there really are lots of games that just use food or conventions as the theme. Although many interpreted the theme similarly, it is not that monotonous: Games with the same take on the theme often have drastically different gameplay.


  •  Bubble Becky (platformer)
  • Candy Factory (economy simulation)
  • Run, Jump, Deliver (platformer)
  • Banana Nana (zeldalike)
  • The Cheeseburgermogrifier (top-down shooter)

Un-Conventional (The other meanings of Convention)

  • Negotiation Tactics (ecomomy/political simulation)
  • Cosplay Chase (stealth/action)
  • Bioterrorism (turn based tactics)
  • The N.I.D Project (stealth/adventure?)
  • Nuclear Autumn (metroidvania)


  • Suprématie de l’amour (real time strategy)
  • Hug Arena (top-down hug-em-up?)
  • Power of the Flower (shooter)


  • Billy McMath (quick-time-event visual novel)
  • TypeFighter (sidescrolling typing shooter)
  • What They Want to Hear (typing?)


  • Banana Nana (zeldalike)
  • B000merang (action?)


  • This Fart of Mine (one-button)
  • Unconventional George (top-down shooter)

Of these games, I think the best take on the theme was Bubble Becky. Chewing gum is not usually a weapon, but the game used chewing gum not just instead of bullets, but emphasized the unconventional stickyness that gums up the robots.

Not in the list of common themes is Quiet Riot. I think this game has the most unconventional interpretation of the theme. Go play it!

I am curious to hear what you think about themes and their obviousness. Did you like the theme? Did you like what others made of it? Dis you find more or less variety compared to the last LD?

PSA: be nice to raters!

Posted by (twitter: @blubberquark)
Sunday, May 3rd, 2015 10:41 am

Please respect your fellow developers! Make sure they can rate your game easily.

Do not

  • call your download unconventional.zip, ludumdare.tar.gz, game.exe or ld32.jar
  • put a “Web” link to a Unity WebPlayer thingy or Java Applet
  • upload .exe files only for Java, Lua and Python games
  • write “there is no Web Player/Linux build” so it shows up when I search Web Player or Linux
  • make arrows+x+z your only control scheme
  • terminate the program on player death


  • name your links Web(Flash) or Web(Unity)
  • upload .love .jar .py et cetera
  • say what language/engine you used
  • name your downloads [developer]_[gamename]_ld32.zip


Food Fight

Posted by (twitter: @blubberquark)
Saturday, April 18th, 2015 6:18 am

BaguetteManWe will make a food fight RTS with baguette-wielding Frenchmen and cake throwing clowns.

This is the first unit sprite.

Engine: Unity2d maybe

Puzzle Game Design

Posted by (twitter: @blubberquark)
Tuesday, September 9th, 2014 3:40 am

I have seen many bad puzzle games in this LD. I have encountered the same problem so often during rating puzzle games that I felt I should write one long explanation instead of many short comments.

With a literal puzzle, you can see what pieces fit together, you know what picture you want to get in the end, and you can imagine what the result would look like if you connected two pieces together. You have a clear mental model of how puzzles work.

In a puzzle game, the player spends a lot of time thinking, planning ahead. In order to plan, they need to know

  • what you can do,
  • what the consequences of these actions would be and
  • where you want to go.

If there is only ever one possible action to take, there is no need for planning. If there are many possible actions, and all but one of them fail, the player can solve the puzzle by trying every action at every step of the way. In these cases puzzle games degenerate into very boring action games.

If the player does not know what paths of action are available to them or what consequences these actions lead to, there is nothing to think about.The player can only solve the puzzle by brute force. This is slow and does not make the player feel particularly smart. This is the difference between a riddle and a puzzle: In a riddle, we can only guess the consequences of actions. We arrive at the answer to a riddle through lateral thinking. Riddles often rely on background knowledge from outside the game. Stopping to think is just as important for a riddle as it for a puzzle. Solving riddles by brute force is just as unsatisfying.

If puzzle mechanics are well-designed, the player can learn what an action does after only a couple of examples. Games can facilitate this process by including sensory cues of the changes in game state, like floating damage numbers in a JRPG. Even if the player can inspect the game state before and after an action, it is better to make it explicit. Game mechanics that build on familiar domains like time, space or social interactions can be understood by analogy. This can be guided by the presentation of the game. Game actions that are analogous to actions in the real world can benefit from animations that call this to mind. For example, instead of letting a sprite vanish after using the “hammer” action, an animation of the hammer hitting the sprite and the sprite shattering into pieces makes the nature of the action more apparent.

Games like “Zelda”, “Myst” or “Antichamber” incorporate two-phase riddle/puzzles that turn learning of puzzles into a game mechanic. They often present a new and unfamiliar puzzle mechanic, which the player must then figure out. Riddle/puzzles do not dwell on the same kind puzzle very long. The main difficulty of these games does not lie in problem solving or lateral thinking, but in learning new kinds of puzzles. The riddles are embedded in a larger game world and give it a feeling of depth and mystery.

TL;DR: The cognitive skills involved in puzzles and riddles are problem solving and lateral thinking, respectively. The core aesthetic of puzzles is challenge. The aesthetic evoked by riddle/puzzles is discovery. Good puzzle games make the player think and let them plan ahead. The player must be able to construct an accurate mental model of the game mechanics for this to work.

Now a positive example: The game “Faced” by Sheepolution does everything right.

  • It tells you clearly what the goal state is.
  • It teaches you what you can do how how that affects the game world.
  • It is based on pushing and pulling. Players are familiar with this from the real world and can reason about the game state using naive physics. The game reinforces this familiarity through animations.
  • There are often multiple ways to solve a problem. There is no single correct action to take.
  • The player can roughly measure progress by the number of smiling faces.
  • There is not simple rule that leads to victory. The player must plan ahead.

I would like to hear your opinion on puzzle design in the comment section below.

Also please play my game Gunship Diplomacy, it does not have any puzzles.

Lunch Time

Posted by (twitter: @blubberquark)
Sunday, August 24th, 2014 3:15 am

basic gameplay done, faction diplomacy system done, sound done, controller support done, controller mapping ui done, game over screen done, TODO: eat

also gifs gifs gifs after the break



It Lives!

Posted by (twitter: @blubberquark)
Saturday, August 23rd, 2014 3:40 am

I have an Idea: A twin stick shooter set in a universe controlled by competing empires. Weaken an enemy and strengthen others. Gain the trust of your allies by fighting their enemies!



gifs gifs gifs

Posted by (twitter: @blubberquark)
Sunday, May 4th, 2014 7:54 am

I made some .gif screenshots of gnome fortress. MoviePy is a fantastic library for making animated gifs in python. The post-compo version of gnome fortress will create gifs if you have MoviePy installed.

Now I can show you the garden gnomes in action:



Building / Teamwork


play and rate it here

Play Frozen Braid by E-Mail (or Chat or Dropbox)

Posted by (twitter: @blubberquark)
Friday, August 30th, 2013 7:11 am


I have built a post-compo version of Frozen Braid! This game version does not change the gameplay itself, but it adds the option to play by e-mail or over a chat program with file transfer or with carrier pigeons and thumb drives.

Here is how it works:

  • Find a friend and agree who plays red and who plays green
  • Select “start game” > “play by mail” > “create map”
  • This will put a map file in the game directory. Mail the generated map to your friend
  • Your friend must copy the map into his game folder
  • Select “play by mail”>”make move”. Use the map and colors you agreed on. Your friend must do likewise
  • This generates move files. Mail these files to each other
  • Copy other move file into your game folder
  • Select “play by mail” > “game outcome” with the map you played on


Post-Compo: gifs gifs gifs

Posted by (twitter: @blubberquark)
Thursday, August 29th, 2013 12:32 am

I am working on gif and webm export for Frozen Braid replays.


Link to Submission (Local Multiplayer only)

Bonus video

Frozen Braid ported to Windows

Posted by (twitter: @blubberquark)
Monday, August 26th, 2013 12:40 am


There is now a windows port of frozen braid available! This may just have quadrupled my audience!

Frozen Braid is a tactical planning platformer for two players. The action only lasts for 10 seconds, but you can rewind time and revise your plan again and again!

link to submission

Get it from github!

[cache: storing page]