About Dr. Mo (twitter: @BakamoStudios)

I'm Jonathan Landis, also known as Dr. Mo or Hitstun. I used Game Maker 7 for my first two compos, and I'm now using HTML5 in LD #28. I really need to learn Unity, though. It's great.


Ludum Dare 28
Ludum Dare 25
Ludum Dare 23

Dr. Mo's Trophies

Dr. Mo's Archive

Pencils Down! Minigolf Exam is Finished!

Posted by (twitter: @BakamoStudios)
Sunday, December 15th, 2013 9:10 pm

My third Ludum Dare game is now ready! Go for the high score on my 8-hole miniature golf course but beware; only your first attempt counts!


This is my first ever HTML5 game, and it took about an hour after the deadline for me to fix an HTML5 bug that prevented the game from starting the first time the page is loaded. It should now run well on the newest versions of Internet Explorer, Firefox, and Google Chrome. You can play it online, download it and play locally, or view the submission. You can expect a full postmortem when judging ends, but I planned bigger than before and nearly pulled it off, too.

Looks Like Minigolf!

Posted by (twitter: @BakamoStudios)
Sunday, December 15th, 2013 2:22 am

31 hours in and the game is finally in a playable state. Hooray!

Minigolf Exam by Dr. Mo

Doing this compo in HTML5 is making me a better coder. Simple tasks like displaying images and collision detection took more involved coding than I’ve ever needed to do in Game Maker. Putting, walls, slopes, bunkers, and holes are all working well and the browser-specific issues are mostly better now. I still need to implement rules, but the system to enforce having only one scored run is already running. I’m shooting for 9 or 18 holes for the final version, and I’d like to get the music working smoothly too. As before, this build is playable here.

A Golf Ball

Posted by (twitter: @BakamoStudios)
Saturday, December 14th, 2013 5:05 pm

22 hours in, and I have a golf ball. Right now, I’m building a minigolf game where you only get scored on your first time through the course. HTML5 local storage makes sure you can’t play the course a second time for score. If you have a bad first round, you’re a minigolf failure forever.

I’m learning about half of this HTML5 stuff as I go along, but I like the way aiming and shooting works. Now I need to add other objects, collision detection, courses, and scoring. I do have some music, but it needs to be worked into loops for being par, under, and over.

The current build is playable at http://hitstun.bakamostudios.com/ld28/ld28backup1.htm . Hopefully, it’ll even work on touchscreen devices.

Dr. Mo's minigolf game

I’m back!

Posted by (twitter: @BakamoStudios)
Thursday, December 12th, 2013 3:09 pm

I’m Dr. Mo from Bakamo Studios in Columbus, Ohio, USA and I’m returning for my first compo in a year. For LD #23 and LD #25 I made some arcadey 2D action games in Game Maker 7 Pro. Game Maker’s been kind of a crutch for me, so in LD #28, I’m trying something new: HTML5!

I’ll be jumping head first into Canvas for the first time. I’ve been messing around with JavaScript and PHP for web development but never tried to make a game with it before. Canvas solves the graphics problem for me, but I hope I can get sound to work well in a nice cross-browser way. If I can, I’ll make some music using the awesome Renoise.

Code: HTML5 Canvas, JavaScript, PHP
Graphics: GIMP
Sound: Renoise, Bfxr

Skeleton’s Revenge Postmortem

Posted by (twitter: @BakamoStudios)
Tuesday, January 15th, 2013 12:03 am


I’m glad I had the chance to participate in another Ludum Dare compo. I made Skeleton’s Revenge, a Nintendo Hard 2D platform game where the standard player and enemy traits are reversed. I planned better and got a game done in 48 hours without cutting features, but now that the ratings are in, it’s time to take the gloves off and critique my own game for real.

No video this time, since my previous LD video has only 77 views as of this writing. Throughout this postmortem, I’ll be comparing my ratings with my other LD game, Asteroid Defender from LD23.

Innovation (2.79, #394), was (2.67, #549)

LD 25’s theme was “You Are The Villain,” and the first approach that comes to mind is to take an existing type of game and flip it around so you now play as the villain. I took it a little further and made the player character act like an platform game enemy, and make the enemies act like platform game heroes. I spent a lot of time on the enemy AI for running, jumping, and attacking, but I couldn’t get them to convincingly act like a player would.

Fun (3.57, #65), was (3.17, #239)

Yay, my game is fun! I’m really happy to make top 100 in something this time. The platforming mechanics are solid unless you’re an enemy landing from a big jump. Every death is your own fault unless it’s the jump pictured above, which I found out was a two-frame window. I got a lot of comments saying that they couldn’t get past that jump. I had to rush and build all the levels in the game in the last two hours of the compo, and the game suffered.

Theme (3.23, #360), was (3.25, #314)

I adequately stayed within the theme. After playing other entries, I realized that my skeleton doesn’t do anything evil or villainous other than attacking the heroes that get in his way. I do like the video game hero archetypes I ended up with: the animal mascot character (goat), the weapon-swinging warrior (hunter), and the brittle soldier with a gun (gunner.) At least the game has an ending this time, but the final boss battle was terribly anti-climactic.

Graphics (2.38, #569), was (2.58, #593)

Yeah, my games look like ass. I thought I stepped up my programmer art this time. My sprites are actually animated now, and I stuck to a monochrome theme to make it easier for me to crank out sprites when I needed them. There’s no reason I couldn’t have done 3-color sprites instead. The levels are constructed entirely out of white blocks and spikes, which I admit is extremely lazy. I should’ve added some backgrounds, or at least some different-looking blocks.

Audio (3.00, #169), was (3.00, #216)

Renoise rocks! I put more effort into music this time, and I like how it turned out. I wanted to sound like a Nintendo hard 2D platform game, and I don’t think I subconsciously channeled Castlevania this time. That SID sound I used as a lead instrument is loud and kinda grating, so I should have replaced it with something better. Bfxr is excellent for generating sound effects, but it’s so ubiquitous in Ludum Dare, it didn’t help my audio scores.

Mood (3.08, #211), was (2.36, #626)

Players seem to really like trolling this game’s enemies. Finally, you deal collision damage to enemies! We haven’t seen that since Wario Land! I reversed the vulnerability to spikes, too, so only enemies get killed on spikes but you can walk across them harmlessly. It’s good to troll enemies, but like I said, you don’t actually do anything mean in this game. I really should have worked some Videogame Cruelty Potential into this.

Overall (3.14, #282), was (2.92, #452)

This game was a good experiment. I kept my expectations low, and I got a fun game out of it. It’d have been better if I made better decisions in design. The monochrome graphics were easy to make, but it wouldn’t have killed me to add some color. Considering the game was made in 100% Game Maker pseudocode, I had no reason to run out of time for level design and testing. I made a decent game, but I want to make a better game next time.

Coolness (28%, #990), was (20%, #1007)

I could say some stuff about how I started a new job two days after the compo and multiple schedule changes sapped my energy to do stuff outside of work. Yes, that happened again, but that’s no excuse. I still had plenty of days off, and I got sidetracked with Minecraft, Deus Ex, and other games instead of rating more entries. Thank you to all the players that found my game and tried it. If I get another LD weekend off work, I’ll do it smarter.

Skeleton’s Revenge is Done!

Posted by (twitter: @BakamoStudios)
Sunday, December 16th, 2012 7:23 pm



Just sliding across the line at the compo deadline, it’s my entry, Skeleton’s Revenge! After a hero and his goat slay the skeleton’s master, the skeleton has nothing left to do but to take it to all these 2D platform hero archetypes. March into the village, knock those heroes into instant kill spikes and bottomless pits, and exact your revenge!

Check it out on its submission page or download the game now for Windows. I’d like to get this on other platforms, too, if anyone has another way to compile Game Maker 7 games.

I feel like I did a lot better this time than my last LD. I kept my standards low, especially for graphics, and it definitely paid off. I only had to cut one level because I ran out of time, and everything else I wanted is in there. The game has pretty decent length for a Ludum Dare game, and the difficulty ramps up nicely. I’m really pleased with how the music turned out, too. Renoise is awesome.

All Enemy Types Done

Posted by (twitter: @BakamoStudios)
Sunday, December 16th, 2012 3:54 am

+1 goat1 and hunterattack and gunner1


All three of my planned enemy (hero) types have been drawn, implemented, and scripted, and they’re in the game. Not much has changed, but I’m glad the hard parts are done. I’m finally going to bed now at 6am EST. Before the deadline, I’ll have plenty of time to make all the sound and put together some levels. I’m not changing this art.

Windows users, the updated version is here. It supports keyboard and gamepads.

Goat Headbutt Action

Posted by (twitter: @BakamoStudios)
Sunday, December 16th, 2012 12:59 am



My game about 2D platformer trope inversion has AI now! The goats can now platform themselves around the map without falling into the spikes very much, and they’ll fearlessly leap at you horns-first if they’re at the right range to hit you with it. The goat AI had lots of bugs, and I spent almost the entire past 8 hours in debugging hell. I’m finally happy with how the goats turned out, and the remaining 18 hours will be spent sleeping, implementing the other two enemy types, adding some sound, and coming up with a name.

I’ve uploaded the new goat-AI version of the game right here. It’s Windows only, but it supports gamepads.

I Have a Skeleton!

Posted by (twitter: @BakamoStudios)
Saturday, December 15th, 2012 4:46 pm



My game for Ludum Dare 25 is a 2D platformer where the player and enemy tropes are switched around. You play as a basic skeleton that does nothing but move, jump, throw bones, and run into things. Your enemies are platform game hero archetypes like hunters, soldiers, and animal mascots. If you touch an enemy, the enemy takes the collision damage and gets knocked back. Since you’re a monster, you’re immune to spikes, and spikes only hurt enemies. Your bones don’t do much damage, but the most dangerous thing about you is your ability to knock back enemies into spikes or bottomless pits.

As you can tell, I’m not putting a whole lot of time into art right now, but the game is playable! Use Left and Right or A and D to move, L or button 1 or button 4 to jump, and K or button 2 or button 3 to throw bones. This is a Game Maker 7 game, so sadly, it’s for Windows only. Download the game here.

Let’s do this!

Posted by (twitter: @BakamoStudios)
Thursday, December 13th, 2012 1:57 pm

I’m Dr. Mo from Bakamo Studios in Columbus, Ohio, USA, and I’m joining the compo once again. This is my second ever game jam, the first being my LD #23 game Asteroid Defender. In that one, I put too much work into the mock-up screenshot and mock-up music, and I ran out of time before I could do the real thing how I wanted. This time, I decided that I’m going to talk less and code more. The only screenshots you’ll get out of me will be from the game. Also, I’m getting more serious about my music this time, so I’ve just bought the amazing tracker Renoise. I’m still using Game Maker 7 for this compo since that’s what I’m fastest with.

Code: Game Maker 7.0 Pro, GML
Graphics: GIMP 2.8.2
Sound: Renoise 2.8.1, Bfxr

Asteroid Defender Postmortem

Posted by (twitter: @BakamoStudios)
Tuesday, May 15th, 2012 10:07 pm

I had a lot of fun participating in my first ever game jam and making Asteroid Defender. Now that judging is over, I don’t have to hold back my real thoughts about my game anymore. It’s postmortem time!

I also made a post-release gameplay video. I recorded this when I showed my friends the game for the first time.

Innovation (2.67, #549)

I made a shooter that adequately fits the theme, so I’m sure the gameplay didn’t surprise anyone. I didn’t play any other games where the tiny world in question is an asteroid, but otherwise, everything in the game has been done before. I saw a lot of other developers come up with more creative types of games to fit this tiny world theme. Oh, and the title, Asteroid Defender, was the biggest afterthought of them all. The game didn’t have a name until 1 hour before the deadline. The repairing mechanic was good, I guess, but I could have done a lot more with it.

Fun (3.17, #239)

When I make a game, I start with getting the core game mechanics and make them rock solid and fun. I feel like the shooting turned out really well and the movement was enough to do the job nicely. I put a lot of time into tweaking the equations for little things like your gun’s spread and the spawn times for enemy waves, and I think the game gets frantic at all the right times. However, I ran out of time to give the game the depth I wanted. 30 seconds into the game, you’ve already seen everything there is to see.

Theme (3.25, #314)

It’s tiny, but is it a world? My plans for this game involved defending several kinds of structures on the asteroid’s surface. You’d need the turrets to help shoot down enemies, but there was also living quarters to repair your tank, the mine which gives you the resources required to do repairs faster, and solar panels that boost the speed that the other structures do their jobs. The different structures working together would make the asteroid feel more like a self-sufficient world with its own infrastructure, so I’m sad that I had to cut it down to just turrets.

Graphics (2.58, #593)

Um, yeah…I’m no artist. The art in this game is only a little bit better than placeholder art. Maybe I meant to re-do some of the sprites before the end, but I don’t know how I could have learned to do much better in such a short time. In my opinion, the graphics didn’t bring the gameplay down, so that’s good enough for me. The radar was definitely worth the time I spent coding it. I had some difficulty getting Game Maker to draw sprites where I wanted them, so I couldn’t get health bars in the game in time. Now that I think about it, a basic player health bar would have been simple.

Audio (3.00, #216)

Here’s the deal. On Saturday morning, I had just decided what kind of game I was going to make. I made the mock-up image, and I decided I’d get my VGM Music Maker ready to make some music. I wrote the first 8 bars and decided I’d come back to it once all the gameplay mechanics I wanted were in the game. That time never came, so that 8 bars is all you get. I was, however, really pleased with my first time using sfxt. Whenever I got an idea for a sound effect, like a quiet “pop” for your gun or a deep “boom” for your turret getting destroyed, sfxt could generate a good one very quickly.

Mood (2.36, #626)

Shooters aren’t exactly the best place for emotional content. I wanted to create some tense moments for when you’re down to your last structure and things are finally falling apart, but the loss of the other planned structures took away the game’s ability to make this happen. I still like the panic that happens sometimes when you look up at the radar and see a red cloud of doom descending on your asteroid as you run for cover under a turret. I spent the last four hours of the compo tweaking the game to give it these frantic moments, and the game is much better for it.

Overall (2.92, #452)

For what it’s worth, I think Asteroid Defender turned out OK. Honestly, I wasn’t sure I could get a playable game out at all in 48 hours, and this competition pushed me to make the sacrifices necessary to get it done. This game clearly isn’t complete. There’s only 6 seconds of music, one type of structure, and one type of enemy, the minimum to make it work. Next time, I should start smaller so I don’t have to scale things back at the end to get it out on time. I want to use the shooting mechanic in another game in the future, but it won’t be this one.

Coolness (20%, #1007)

In the three weeks following the competition, I had a couple major things happen. I started a new job the morning after the compo, which required two sudden schedule changes that took a toll on my energy to do other things. I also had an email account cracked twice by spammers, so I spent quite a lot of time dealing with all the domains they spammed links to and coming up with new passwords for everything. I didn’t have a ton of time to play many of the games, but it’s fun to see how other entries tackled the theme. Next time, I want to play more games!

Asteroid Defender is Done!

Posted by (twitter: @BakamoStudios)
Sunday, April 22nd, 2012 6:45 pm

My first ever Ludum Dare game, Asteroid Defender, is finished and ready to download!


I’ve never made a game for a competition before, so this was a pretty good test for me. I did a lot of planning and didn’t open up Game Maker until 12 hours into the compo, and it paid off. I got to implement all the bare minimum mechanics I wanted. I’ve always wanted to do a 2D shooter where you aim with the mouse. There’s plenty of features I would implement if I had more time, like more structures, more enemy types, and more than 6 seconds of music.

Congratulations on over 1000 games submitted for the compo! It was a lot of fun to be a part of this and I’ll definitely be back for another one.

Can I do a some plugs here? How about my pages at Bakamo Studios, IndieDB, and  Justin.tv? I hope that’s cool.

Gameplay Complete

Posted by (twitter: @BakamoStudios)
Sunday, April 22nd, 2012 2:34 pm

One more post here before I submit. I thought I’d have serious trouble getting a halfway playable game done in 48 hours, but I kept it simple and I like how it turned out. I decided against health bars for the structures since it’s more challenging if they get disabled in one hit. I finally had to add some real GML code for the draw functions for the radar. It’s tricky because Game Maker’s built-in GUI functionality falls apart if the camera rotates. I had to write code to move and rotate the radar and everything on it around the level to keep up with where the camera is currently pointing.

The game is basically complete and submittable now. In the next few hours, I plan to write a little bit of music for this, and maybe add some more variety after that if there’s time left.

Todo: Game title, title screen, music, player health bar, bomb explosion sprite, more structures to defend, more enemy types


Posted by (twitter: @BakamoStudios)
Saturday, April 21st, 2012 5:53 pm

It’s halftime, and my asteroid defense game is coming along well. It’s been a long time since I’ve been this excited about making a game. Somehow I’ve gotten this far using only Game Maker 7 Pro pseudocode and no real GML code segments at all. Is that bad?

In: rotating world viewpoint, controls, movement, shooting, scoring, basic enemies

Todo: structures to defend and repair, player/structure health bars, turrets, basic AI, difficulty curve, all audio, better graphics, better name, etc.


Asteroid Defense Game Mockup

Posted by (twitter: @BakamoStudios)
Saturday, April 21st, 2012 9:20 am

My game is going to be one of those games where you defend your tiny world from attack.

You control a soldier, the only inhabitant of a small asteroid you are assigned to protect. This asteroid has a mining colony, two automatic defense turrets, and a life support infrastructure just for you. Your asteroid comes under attack from space pirates.
You move around the asteroid, with it rotating beneath you, trying to keep the pirates from landing on the asteroid and pillaging your structures. When not shooting, you can take time to recover your health or repair your structures.
The tricky part will be getting the entire game environment (or just the camera) to rotate in Game Maker 7.0 Pro. If I can get a simple tank on rails moving around the asteroid shooting things, I’ll work on the turrets and maybe some other types of buildings that have be protected and repaired.

I also did a quick 6 second loop of the type of Genesis/Megadrive-type music I want to do for this. You can hear it at http://hitstun.bakamostudios.com/ld23/ld23mockup.ogg


Posted by (twitter: @BakamoStudios)
Thursday, April 19th, 2012 8:26 pm

Hello, Ludum Dare, and happy 10 years! I’m Dr. Mo from Columbus, Ohio, USA, and I’m going to take a shot at my first Ludum Dare compo. I haven’t done any code for a while, so I’m falling back on Game Maker. I’ll probably find more resources once I find out I need them.

Be attitude for gains!

Code/Framework: Game Maker 7.0 Pro, GML
Graphics: GIMP 2.6, Windows 7 Paint
Audio: VGM Music Maker, Akai XE-8 drum samples, Audacity, SFXR

[cache: storing page]