Free Games In Your Browser

New Tabletop section

April 3, 2013

I've been playing a lot more wargames and role playing games than computer games these days. Rolling dice, painting miniatures, and making terrain has been my main hobby of late. The new Tabletop section is live. Please check it out.

30,000+ plays for Runestone Defense

July 18, 2012

Over 30,000 Runestone Defense levels played by over 3,800 players! Those are some crazy numbers, especially when you consider I didn't start keeping track until May 24, and I didn't "officially" release Runstone Defense until May 29. So in just under 8 weeks, it's hit 30,000 plays (31,198 as of right this second). Not bad for a hobby-made game with no backing or advertising. I've got to say thanks to Reddit and Slashdot for sending me the traffic, and, of course, YOU for playing it.

On a side note, I added a 4th level to Tommy Utah Vs The Space Zombies and fixed the scroll wheel issue on the page.

Tommy Utah development blog (part 2)

July 15, 2012

I got some great feedback / bug reports from Austin over at I fixed those, plus some other bugs I found.

I implemented Achievements. That was a lot more work than I thought it would be. I had to add mouse wheel support to JawsJS, and implement a scroll bar for the Achievements screen. It took me all yesterday (Saturday), but it works, and it's flexible enough that I can use it in future games.

I also now save your progress, and the next time you have the choice of "continue game" or "new game". The progess and achievements are stored in a cookie, as well as other game related info. The advantage is that it's easy to write. The drawback is you lose everything if you kill your cookies, or if you play from a different machine. At some point I'll look into a login / server side save option.

I made a new level, and took out my "development" levels. There are a total of 3 levels right now, and I like them so far, so they will probably end up in the final game, but probably not in the same order. Then I enacted some performance enhancements that have to do with not drawing / animating things that are not on the screen. I fixed a bug in JawsJS related to that that was driving me crazy.

I tested in the latest Safari, Chrome & Firefox on Mac OSX 10.6.8, on a 2009 MacBook Pro. I also tested on Windows 7 in IE9, and the latest Crome & Firefox, on a desktop machine with a good graphics card. On Mac, Chrome gives great performance, with at 60 FPS where it should be. Firefox & Safari tend to lag a bit, around 45 FPS. On Windows, IE9 & Firefox are rock solid at 60 FPS, but Chrome lags a bit, at around 50 FPS.

I'm curious what you guys think of the levels, specifically levels 2 & 3. Too easy? Too hard? Boring?

Thanks for reading. Now, go play!

Tommy Utah development blog

July 11, 2012

I'm going to keep track of Tommy Utah Vs The Space Zombies development. First up - the story so far:

  • June 8, 2012

    I like physics puzzle games, so I thought I'd look into making one. I'd just finished Runestone Defense, fixed all the bugs, and no new bug reports had come in for a while. So, time to move on. I had heard about Box2D, a 2D physics library that had supposedly been used for a lot of games, including Angry Birds, and I knew there was a Javascript port. I decided to check it out.

    It turns out it's really easy to use, full featured, and there are several good tutorials available. I used this version of box2d (there are at least 2) and started by following Seth Ladd's excellent tutorials

  • June 14, 2012

    I had in mind a platformer with lots of physics puzzles. That was about as far as I had thought so far. I had some prototype art from and some from SpriteLib. I had platforms, a main guy, and an enemy, but it was all placeholder art. No problem, I just need to see if I can pull this off, at this point. So far, I could. The guy could jump, run, etc. The enemy could shoot his gun. Everything was a physics object in Box2d, and I was again using JawsJS (as I did for Runestone Defense) to handle the sprites, animations, etc.

    It looked like it was going to work. I was about to go out of town, so I made an SVN repository for the code I had so far.

  • June 25, 2012

    I was making decent progress. The game was evolving into more of a platformer. I had written a map loader to import maps that I made with Tiled and exported as JSON. That was easier than I thought, I wrote it on the plane on my aforementioned trip. Tiled rules and I highly recommend it.

    I started trying to think of a theme, and find some actual art. I searched everywhere on the web for platformer / side scroller sprites. Nothing I found had more than some very basic animations. Then I came across Chris Hildenbrand's site. He has some character sprites for sale that are perfect for platformers, called Block Buddies. Also, they were pretty cheap, $15 for 1, $37.50 for a bundle of 3. He has a "test" character (a crash test dummy) you can download for free to see how they work. I started using Chris' test guy as my main character. It worked well.

    Chris also has some really good tutorials on how to use free software like Inkscape to make art for games. I followed a few of those, and learned a lot. I decided to go for it, and asked him how much it would be to create a custom, exclusive character for my game. At this point, my idea was a generic adventure guy, like an Indiana Jones. I knew the physics part required him to throw stuff. I hadn't really thought about it too much.

    As I went to sleep that night, I was thinking about the main character. He throws things. Who throws stuff? Baseball players. Nah, I don't like baseball. OH! Football quarterbacks! Perfect. Chris got back to me and quoted me a very reasonable price to make me an American Football quarterback, with all the default animations, plus a throw animation. It would be exclusive to me. Perfect. I told to make it.

    The next day I started thinking more about the theme. Chris had a zombie character pack with 3 zombies. I bought that. So, quarterback vs zombies. Sweet. I started to think about the name. "Johnny Utah" was the first thing to come to mind, but that was Keanu Reeves' character in Point Break. I looked at a list of famous quarterbacks. Joe Montana. Johnny Unitas. Tom Brady. I tried a bunch of different combinations, and Tommy Utah sounded the best. Tommy Utah Vs The Zombies. The next day I was telling my wife about all this, and the "space" part hit me. Tommy Utah Vs The Space Zombies. It put a big grin on my face. Space Zombies. Hell yeah!

  • June 29, 2012

    Chris got me the Tommy Utah sprites in just a few days. It was easy to replace the crash test dummy with Tommy, and the spritelib enemy with the zombies. It was easier than I thought to get the throw action working. I made a logo and a new title screen. I put the title screen up here (see below) on June 28th, just to let people know I was working on something new. I was getting excited.

    I wanted to show some friends what I had so far, but I wasn't ready for everyone to see it, so I put what I had live on a password protected page. I really needed some feedback, since I have not played a platformer since the Super Mario / Megaman 10 days. Oh, I did play Metroid on the Gameboy Advance, but even that was several years ago. I needed feedback from my old-skool gamer buddies, Ryan and Tony

    Ryan gave me some really good feedback, right away. He wanted to "ride the zombies". Because of the way I had Box2d set up, you could not do that at that time. He wanted a bouncy ball in addition to the football. He also gave me some great ideas about level design.

    I think it's really important to show other people what you have early and often, especially when you are a one man team like I am. They will immediately think of thing that would not have occurred to you in a million years. That's why Tommy Utah Vs The Space Zombies is available to play right now, even though it isn't even close to done yet.

  • July 3, 2012

    I made some more progress. You could now ride the zombies. I made moving platforms. I made fire and electrical hazards. I switched out my prototype art for better prototype art. I made 4 kinds of each of the 3 zombies, because each character has 4 different attack animations - boxing, stabbing, pistol, and rifle. I made special tiles for each of these things so I could place them on the map with Tiled.

    I posted the username / password for the protected game page in a few small forums, seeking more feedback. That didn't really pan out that well. I guess I didn't really expect it to, but I was excited about my game and I wanted people to see it, even if it was in an early stage.

    Non-developers don't really understand the "early stage" thing, for the most part. They can't see the vision in your head, they can only see what's in front of them. I guess I shouldn't be surprised they can't see whats in my head. :)

  • July 11, 2012

    Tony got back to me with some really good feedback. It made me realize, again, that before I went live, even with an alpha, I had to have more than I had. The whole "early stage" thing again. So, I made a tutorial. I made the intro comic. I made more levels. I added cookies to save settings. I changed the limited footballs to unlimited, and started thinking of the game as more of an action platformer, with just a few physics puzzles. I was ready to go live.

    So, I rolled it out. The I made a credits page, and posted this whole thing. Check back for more updates, I'm going to shoot for one a week. I've got a whole list of features that I still need to add, and then I need to polish the whole thing. I expect it will take several more weeks, if not months. Thanks for reading, and enjoy the game!

    --Dave Blood

Tommy Utah alpha available for all to play

July 10, 2012

Now open for all to play, Tommy Utah Vs The Space Zombies is out of private alpha and into public alpha. There is still a lot (a lot) of work to be done, but the basic concept and gameplay is there, and I'd love to get your feedback.


July 7, 2012

Tommy Utah Vs. The Space Zombies alpha, playable by everyone. Soon. Maybe tomorrow. So close.

New Game Title and Some Info

June 28, 2012

Tommy Utah Vs. The Space Zombies. That's the title of my new game, now in production. It's a platformer / puzzle game, starring a community college quarterback (that's American football, btw) who is abducted by space zombies. It's got all the stuff a good platformer has, plus physics puzzles, and some light RPG elements. I'm getting close to done on basic gameplay, then I'll spend a lot of time on final art and polish.

I expect this game to take a lot longer to complete than Runestone Defense did (that was about 5 weeks) because it's so much bigger, and I want it to be much more polished. Remember, it's just me, 1 guy, doing all the coding, plus any art I can't get elsewhere. Also, I have a full time "real" job that's not game programming. :)

I hope to have some preview art / screenshots up in the next few days.

Also -- I just get a big grin on my face everytime I say "Space Zombies".

Working On A New Game

June 21, 2012

About a week ago I started playing around with Box2d. It's a 2d physics library and it's pretty cool. I'm now writing a platformer / side scroller using it. I hope to have an very early alpha version up here for you to check out in a week or so.

I learned a lot making Runestone Defense, and I'm putting those lessons into play on the new game right from the beginnning. I'm pretty excited about it.

Video Commercial

June 10, 2012


June 9, 2012

We have sound! The awesome title song is "Heroic Demise" by Matthew Pablo and all the other sound effects are by qubodup. I tested it pretty thoroughly, but please let me know if I broke something. I know it works in Chrome, Firefox and Safari on Mac and IE 9, Chrome and Firefox on Windows. On iOS devices the sounds don't play but don't break anything. If someone could drop me a line about how it works on Linux I'd appreciate it, my Linux box has no sound. Also, I have no Android device to test with, but I'll have access to one on Monday, so I'll try it then.

Open Source

June 7, 2012

I've officially released all my code for Runestone Defense as Open Source under the BSD license. Feel free to use my art, too.

PLEASE NOTE: Most of the art I used for this game was made by other people, and the license they chose for their art still applies. See the credits page for details. Please also note that "Evil Wizard" in the later cutscenese was used with permission and is NOT open source licensed.

I am also happy to report that the changes I made to JawsJS for IE mouse handling and mobile device touch events has been submitted back to ippa (JawsJS author) and he accepted them, and they have been merged into JawsJS.

Splash Damage Fix / iOS fix

June 5, 2012

Splash damage from the Bomb tower was broken. It's now fixed.

iOS devices were broken, they are now fixed, however, it runs very slowly, about 20 FPS on my iPhone 4S and the same on my iPad 1.

I added some donation links at the bottom of each page, PayPal and Bitcoin. I don't expect anything from anyone, but some people asked how to contribute.

I've gotten some more great feedback:

  • "I've just looked up at the clock! I've spent 1.5hours playing your game!!!" -tbird81
  • "Quite good game." -jones_supa
  • "Neat addictive game!" -AIXtreme
  • "Damn you, i ended up wasting a few hours to this instead of doing important things. nicely done." -burningpet

Thanks for playing!

Chrome Store and Feedback

June 1, 2012

Runestone Defense in the Chrome Store

Runestone Defense is in the Chrome Web Store for free, of course.

Several kind people have shared their feedback:

  • "This game is the most fun I ever had playing tower defense. Really well done!" -kaio89
  • "Solid game you've made there! Tower defense games are always fun ." -Austin
  • "Your game is very distracting, I've been playing for the past couple of hours :) ... You did a really nice job making it challenging yet achievable. The gameplay is great and addicting." -Alex

Thanks, everyone!

DONE! Runestone Defense 1.0 released

May 29, 2012

Runestone Defense screenshot

I am proud to announce the 1.0 release of Runestone Defense. 20 levels. 4 enemies. 6 towers. Endless combinations. Defend the kingdom from the evil undead hordes with the power of the magic runestones. Plan your strategy and place your towers carefully. An upgrade at the right time can mean the difference between victory and defeat. The kingdom's only hope for survival rests on your shoulders.

Runestone Defense is a tower defense style game you play in your web browser for free. It has full documentation and is written in HTML5. It uses several Open Source libraries and open licensed artwork, as well as custom code and art. See the Credits page for details.

15 Levels Done

May 24, 2012

Now live with 15 levels. I also tweaked levels 1 - 3 to make them easier. But don't worry, hardcore tower defense fans, the new levels 11 - 15 are HARD.

New Instructions are up on the Documentation page. They are geared towards tower defense newbies. Check 'em out.

I hope to have this game wrapped up and version 1.0 live by the end of this weekend.

10 Levels Done

May 20, 2012

The newest version is live with 10 levels. I plan to have 20+ in the final version. My work on the game has slowed a little bit these last few days - blame Diablo III. :) Still, I hope to release version 1.0 by the end of the Memorial Day weekend.

I've got a Windows 7 machine here now, so I've done some good testing on it and wrote proper IE 9 mouse support. On my machine, IE can act a bit odd sometimes, failing to load 1 or 2 of the images, or having crazy frame rates. It's been my experience that Firefox is the most reloable regardless of the OS.

HTML5 games like this one are still a young technology. The patform will continue to improve. I'm excited about the future.


Getting Close to Done

May 16, 2012

I just released the newest update. It's got touch support for play on your iPhone or Android device. I tested it on an iPhone 4S and a Samsung Galaxy S II. It runs, but super slow.

At this point, I am feature complete (except for sound, which will come later). I don't plan to add anymore new things. I've had some ideas, and other people have made great suggestions, but they will have to come in "Runestone Defense II: Even More Awesome."

I've made some more levels, and changed the first few to make them easier. Don't worry, after the first few levels, things will get hard. I balanced the towers better. They make logical sense now, we'll have to see if they make "game sense". I also added 3 more levels, for a total of 6. I plan to have 20+ levels when I'm done.

What's left to do? Well, 14 more levels, at least. Also, some minor cosmetic clean up (line up / center text, etc) and then some performance profiling. It seems to run pretty well, a solid 60 FPS on most systems I've tested on (besides phones), but I need to make sure it's as good as it can be.

I'd love to know what Browser / OS combo you are playing it on, and what FPS you get. You can leave that info in the comments on the game page, or email it to me at I'd really appreciate it.


Feedback Results

May 14, 2012

I've gotten some great feedback, and was able to test in IE9 on Windows. I fixed the mouse click bug in IE. I also made the following enhancements at the suggestion of beta testers:

  • No longer need to click buy after selcting a tower with the mouse. If you have the money, it's selected for placement automatically. You won't get charged for the tower until you place it, as before.
  • When placing a tower, you now get visual feedback about which tower it is and what it's range is.
  • While paused ("P" key), you can now restart the level, or quit to the main menu.

Those are the big ones. I made some smaller changes, also, and fixed several bugs. Enjoy!

First Game

May 13, 2012

I'm happy to announce the very first browser game from MagiGames: Runestone Defense. Anyone who's played a tower defense game in the past will immediatly feel at home. I wrote it in javascript, using the excellent Jaws Game Library. It's still in beta, but it's getting close to done. It's at the point where I need people to test and find the bugs I have not been able to find yet. Any comments on game balance would be much appreciated, also. Go play!