About semi (twitter: @sseemayer)


Ludum Dare 30 Warmup
Ludum Dare 27
Ludum Dare 26

semi's Trophies

semi's Archive

And I’m out!

Posted by (twitter: @sseemayer)
Sunday, August 24th, 2014 12:24 am

Coming back today after some sleep my worries that the game I was making wasn’t really fun confirmed themselves so I’m not going to spend more time fighting the engine. You can play what I’ve made here, I’m not going to submit it for people to rate. The current source code is on GitHub.


A mini-Post Mortem

Engine: This was my first time using a HTML5/JavaScript based approach instead of my usual Python approach. I used a relatively unknown engine, DarlingJS, and did not prepare enough, so you’ll not be surprised when I tell you that I now think this was a bad idea. While I like the highly modular approach, the examples and documentation were outdated and from reading the source code, it was often not clear how to use certain components. For example, I didn’t manage to get any kind of animation to actually display in my game. Still, I liked the entity component system-based approach. I still think that HTML5 is the way to go for my next Ludum Dare but I will probably roll my own engine until then.

Design: Idea-wise, my space grappling hook plan was a nice silly one, but it’s actually pretty hard to move around in space in a controlled manner. In other space games, you can typically choose the direction where you apply force yourself, and only being able to pull into the direction of other planets is fairly limiting. Movement is really important for a game and mine is just way too frustrating. I’ve also seen other people doing fairly similar stuff in this compo so I also don’t think that my idea is particularly unique anymore.

Graphics: Also the first time that I used my graphics tablet to create the in-game graphics which was more of a spontaneous decision but I think it fit the general style of the game well. TexturePacker worked very well together with Pixi.js so I’m happy about this part of the workflow.

Audio: Did not get around to it.


And that’s it, wish everybody luck and a great time!


Posted by (twitter: @sseemayer)
Saturday, August 23rd, 2014 6:38 am


Zooming, shooting and the complete solar system (sans moons) is done!

Next step: Getting the grappling hook to latch onto planets and pull 😀

The best ideas come from sleep deprivation!

Posted by (twitter: @sseemayer)
Saturday, August 23rd, 2014 3:22 am

I woke up at 4:00 am German time today  and had a look at the topic. In a half-sleeping state, I decided to interpret “connected worlds” by using the physical connection of gravity between actual planets and invented the following science fiction setting to go with it:
Thanks to the large-scale manufacturing of  carbon nanotubes, humanity can now build superstructures in space. Under the control of the world government, a large grappling hook cannon was installed on the north pole. You are the commander of the mission that will first try to travel between solar systems using this grappling hook cannon!


I’ve got some basic gravitation, camera controls etc. working already but the simulation is still very unstable. Oh well, first time to make it even more complex by making the grappling hook cannon actually shoot!

I’m in!

Posted by (twitter: @sseemayer)
Sunday, August 17th, 2014 1:55 pm

I’m joining for my third time!

As usual, I’ll push my project to my GitHub and will also try to record a timelapse. Let’s hope for an awesome theme and a good time for everybody!


While I’ve not participated last December and April, I’ve lurked on /r/gamedev and am planning to try out lots of new tools and workflows this time! I’m hoping to be able to finish my first game in JavaScript for one thing. So far I’ve been using Python+PyGame which was fun and productive but since it required installation, many people had trouble getting the games to run.

What I’ll be using:

OS: ArchLinux x64
Editor: vim

Linux+vim is my ultimate development platform, as proven in previous iterations of LD48. The only catch is that I’ll have to boot into a different OS to try lots of these shiny Unity games :(

Engine: DarlingJS

DarlingJS is a fairly new, still heavily in-development JavaScript game engine. While it is a little risky to use something this experimental in Ludum Dare, the codebase seems clean and reasonably well-searchable and the nice features (fast rendering with Pixi.js, highly modular, cool entity component architecture) simply made me want to try it. Here is my boilerplate code that I’ll using for the compo. Here it is as a warmup entry.

Graphics: Inkscape, GIMP, PyxelEdit, TexturePacker

Unfortunately, a few non-free tools have snuck in – I can’t easily get around TexturePacker when using Pixi.js and graphics is not my strong suit, so I hope that PyxelEdit will actually improve my performance in the graphics department. The two commercial tools PyxelEdit and TexturePacker both have free versions with reduced feature sets so everybody should be able to replicate my workflow without spending money, though.

Audio: jfxr, Abundant Music, autotracker

Audio is also not my strong suit, so I’m going for fully procedurally generated music again like I did for Crowd. jfxr is an improved BSD-licensed in-browser version of sfxr / bfxr so I’ll not have to emulate anything on my Linux system anymore – woo-hoo JavaScript! :)

Map Editor: GIMP or Tiled – Depending on how complex the tiling (if any) is going to get, I’ll either have to implement some kind of map import for Tiled to my game or will just use the pixels-as-tiles technique that I’ve first seen Notch use in Prelude of the Chambered.


That’s all for now, have fun everyone!

Added a gameplay video!

Posted by (twitter: @sseemayer)
Sunday, August 25th, 2013 4:31 pm

Here’s a little gameplay video for my game Crowd (play with other people from the internet!):


Posted by (twitter: @sseemayer)
Sunday, August 25th, 2013 3:46 pm

Finished my first fake-multiplayer game! In Crowd, while you’re playing through different 10-second minigames, your gameplay will be recorded and uploaded to a server. Other players playing after you will then see  your ghost in your game.

0_title 7_jump

See the game here: http://www.ludumdare.com/compo/ludum-dare-27/?action=preview&uid=6429

Tentatively in for round two

Posted by (twitter: @sseemayer)
Friday, August 23rd, 2013 1:41 pm

Late but better than never: I’m in for my second time and am hoping for a good theme and enough time during the weekend.

Like last time, I am planning on using:

  • Language/Framework: Python+Pygame
  • Libraries: pybox2d, Py2D, PyHiero, PyTMXLoader, glyph
  • Editor: vim
  • Graphics: GIMP / Inkscape
  • Maps: Tiled
  • Fonts: Hiero
  • Audio: bfxr + inudge

I’ll be posting code on GitHub and will try to create a timelapse.

“The Migration” is finished!

Posted by (twitter: @sseemayer)
Sunday, April 28th, 2013 4:10 pm

I’ve successfully completed my first Ludum Dare, and coincidentally completed my first game! “The Migration” is now available for you to play and I would love to hear your feedback!

Game Page


Looking for playtesters!

Posted by (twitter: @sseemayer)
Sunday, April 28th, 2013 7:20 am

Here’s a preliminary version of my game, maybe someone would like to see if it runs on their computer? I’m also happy to hear what you think about the game!

Download link [Updated: v3]

Gameplay video


Python 2.7 (Windows installer: http://www.python.org/ftp/python/2.7.4/python-2.7.4.msi)

PyGame (Windows installer: http://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame)

titlechase deathtravellog

Some gameplay footage

Posted by (twitter: @sseemayer)
Sunday, April 28th, 2013 6:07 am

My game “The Migration” is almost finished! I will playtest some more and keep on improving until the deadline, but I’m happy with the results so far:


I didn’t make it across the atlantic :)

Posted by (twitter: @sseemayer)
Saturday, April 27th, 2013 2:05 pm

My game is starting to take shape! From my crudely drawn map of the world, ocean depth is simulated which affects the amount of food and enemies in the current area (deeper = harder). The swarm reproduces once enough food is eaten, looses “food” when bitten by predators and slowly starves if no food is eaten. A dead fish is food too, though :)

The current flocking behavior prioritizes eating above following the mouse cursor, so when a predator manages to kill one of the fishes in the swarm, the others will flock to the corpse, leading to a death spiral. I’m not sure if I even want to modify this behavior…


Once you’re dead, you see a statistics screen (not shown) and can visualize the route taken on the world map. This way, you have a souvenir to keep of your journey.

Regarding the theme minimalism: The bigger the swarm gets, the safer the individual fishes are, but it comes at the price of being slower. The player will have to make a tradeoff between safety and maneuverability.

Lunch! And bugs (not related)!

Posted by (twitter: @sseemayer)
Saturday, April 27th, 2013 3:00 am

Big thanks to my lovely girlfriend who keeps me sane in these difficult times!


I’m still struggling with a weird bug in my flocking code that causes fishes to move correctly, but always orient themselves in the wrong direction.

Breakfast time! Also, an idea

Posted by (twitter: @sseemayer)
Friday, April 26th, 2013 10:07 pm

I’ve decided to do a game about fish migration. How does minimalism come into it you say? Well, the fish will have to fight off predators with nothing but themselves in the deep blue sea.

Here is an initial screenshot of the swarming behavior:


And the breakfast I’m enjoying:

semi's breakfast on day one of LD 26

I’ll implement proper flocking next, and then some food to grow the swarm.

I’m in, for the first time!

Posted by (twitter: @sseemayer)
Monday, April 22nd, 2013 8:46 am

Hello from Munich, Germany! After following LD48 for two years now, I’m finally in with an attempt of my own, ready to mortify you with hilariously bad programmer art! I hope Ludum Dare will pressure me into finishing a game for once. About potatoes. Oh god…

About me: 26 year-old PhD student in Bioinformatics with a love for indie games.

I am planning on using:

  • Language/Framework: Python+Pygame
  • Libraries: pybox2d, Py2D, PyHiero, PyTMXLoader, glyph
  • Editor: vim
  • Graphics: GIMP / Inkscape
  • Maps: Tiled
  • Fonts: Hiero
  • Audio: bfxr + inudge

I’ll be posting code on GitHub and will try to create a timelapse.


[cache: storing page]