I don’t remember whether I played They Started It before or after coming up with the concept for Laser Sky. I had been toying with the Pyglet game library, pondering what sort of game it might be suitable for, and a shoot’em up was the most obvious choice. Not that the world needs yet another game about blowing stuff up. But making a sequel to Attack Vector and getting it right for a change is an old dream of mine, and any excuse to learn a promising new technology is a good one. The big problem was choosing a theme. And like the first time around, nothing I came up with seemed to have legs. Even a briefly considered idea for a cute’em up fizzled out (though that’s definitely worth revisiting). Moreover, it began to dawn on me that coding a sprite-scaling engine on top of a 2D library backed by OpenGL was kind of ridiculous. The new game had to be a good old-fashioned scroller… but then it couldn’t be a sequel to Attack Vector.
In the end, the concept for Laser Sky came to me almost fully-formed during a walk in the park. Trouble is, it involved vector graphics, and that precluded the use of an engine optimized for sprites. So, back to HTML5 it was. The first order of business was dusting off the game microframework I developed two years ago for the original RogueBot. (Which of course revealed a bug, duly fixed.) Making a ship move around the screen, and some basic enemies come at it, was easy enough. Then it was time for them to interact.
I didn’t have much of a mind for games as of late, but that doesn’t mean I stopped keeping an eye out for things to write about. And this time I ran across two of them in a row.
First we have Full Screen Mario, an open source reimplementation of Nintendo’s masterpiece from 1985 made in HTML5, complete with level editor and procedural generator. It runs too slowly for me to be fun, and I was never any good at this game, but the very fact that this exists shows how far we’ve come.
Second, I don’t take game generators too seriously, but Game Maker is one I tested and found to work as advertised, for what it’s worth. Maybe that’s because its developers do take their own product seriously. Remember the original Grand Theft Auto? Turns out, its creator now works at YoYo Games, and seems determined to remake the 2D classic in Game Maker, this time in 3D and also running in HTML5. We’ve come far indeed.
But that’s pretty much it for today. More next time, I hope. Have fun!
I missed the golden age of RPGs such as Eye of the Beholder or Zelda, and only played a couple of the newer classics, none of them to completion. To be honest, I didn’t go out of my way for them, either. It’s just not my kind of game. Curiosity is still a factor, though, and some recent titles just happen to be accessible enough for a casual player such as myself, both because of the platform they run on and the considerably simplified interface.
When I first wrote Square Shooter in 2009, use of the canvas element was uncommon enough to earn me entrance into multiple game directories. Fast forward four years, everybody uses HTML5 and my little shooter was long in the tooth. The physics were broken (I had fixed them in the Python edition), it had no sound, and didn’t really adapt to different resolutions as it was supposed to. Worse, many of my friends now had touchscreen devices, and Square Shooter was unplayable on them.
A combination of burnout and indecision caused me to postpone this rewrite for a long time, and then it took quite a bit of experimentation to get things right. But it’s here now! The new Square Shooter runs more smoothly (thanks to the requestAnimationFrame shim from Three.js), looks good on any screen (except it strongly prefers portrait mode) and also runs on modern phones and tablets (though you need a fast CPU). It also features awesome sound effects courtesy of Open Game Art. I can never give enough thanks to the awesome people who make art for the rest of us to use.
So I give you the Enhanced Edition in all its glory. Play it. Fork it. And see if you can reproduce that one weird bug (you’ll know it if you see it), because I can’t figure it out.
Oh, and stay tuned because I plan to add graphics as well. Cheers.
Just a couple of things I’ve run across today. First, via IndieGames and True PC Gaming, a little Star Wars-themed roguelike written in HTML5 that’s exquisitely tactical. You play (of course) a Force user, which gives you a variety of cool powers to combine smartly — and you will have to play smart. Caution actually helps, and luck can be in your favor for a change. The game is complete as it stands, but of narrow scope, and I hope to see more of it at some point. Bonus points for the tutorial and nice UI.
Second, the always enthusiastic Sophie Houlden humorously turns an old question on its head by asking, Can Art Be Games? And she’s damn good at highlighting the absurdity of this fake dilemma. We’ve touched on it ourselves, so I’ll say no more.
All this almost makes me wish to start making games again…
I’ve been playing (and reading) some while building up enthusiasm for my next project, whatever that will be. I happened to find a great tower defense game via Twitter, and when I started recommending it in turn people asked me, “are you planning to make one of these?”
My first reaction to that was, “neah, there are too many in the genre as it is”. Then, “you know, I haven’t played any in a long while”. So I set out to look for more, and promptly found another gem. Which wasn’t very hard, as apparently there are only two kinds of tower defense games: excellent and terrible, with nothing in-between.
When I announced my first experiments with PyGame, a couple of friends asked me why I would bother to make games for the desktop. Weren’t my games designed to showcase HTML5? And aren’t casual games a better fit for the browser anyway?
So I sat and thought about the question. Still am, in fact.
While my recent game Buzz Grid was very well received, virtually everybody complained about having to use WASD instead of the cursor keys. All my attempts to explain that it was a technical limitation fell on deaf ears. That’s natural; people need solutions, not explanations. But until recently, I couldn’t think of any way to add special key support in a portable manner without either:
- making the code much more complicated or
- making the game depend on some external library.
I took a break from my
Now, while these qualities are relatively unique, the concept is not. So why make yet another such tool?
I didn’t bother optimizing Buzz Grid initially, as even on my elderly machine it appeared to work just fine. But after playing the game some more, I noticed that on a high load it tended to stutter and respond slowly to keys, especially on level 4 (not sure why, since level 3 has an equally complex map, and level 5 has considerably more traps and prizes). So I figured digging into the code a bit couldn’t hurt. Luckily, Arora — my favorite WebKit browser — comes with an equivalent of Firebug built-in, including a profiler. Here’s what it told me: