What a week. First I spent three days working on a side project (that I’m not going to announce until next month). Then had to rest a little, because a three-day coding marathon is exhausting when you’re pushing 40. And then an ISP outage kept me offline for a day and a half. At least that gave me the time to put a high score table in Laser Sky, not to mention play and review a couple of games.
In news that aren’t about No Time To Play, two weeks ago Techdirt covered the case of a game developer suing Steam customers only to have their games removed from the platform. Turns out, now they are dropping the lawsuit, citing bankruptcy. Should we count the number of ways in which they had it coming?
To move from business to game design, here’s an article about the balance between gameplay and realism. But while the overall argument is sound, the chosen example betrays painful ignorance of actual history. Um, guys, you do realize firearms — even small arms — were developed centuries before the industrial era, do you? Heck, they were commonly made of bronze (otherwise an obsolete material) before steel became good enough (which just so happened to also make it good enough for steam engines). And there was a time roughly two centuries ago when, demand for guns having outpaced the still nascent industry’s ability to provide, it was common to make gun barrels by hammering spiral strips of metal around a stick until they held together. Which gave you rifling for free, but tended to end in the barrel bursting, with that flowering effect you can see in old Loony Tunes cartoons.
Funny how animators from half a century ago, who were only trying to be funny, knew their history better than people making, you know, historical videogames. And there was no Wikipedia back in the day…
Last but not least, Hardcore Gaming 101 has a feature on 80 Days, the indie smash hit from a couple of years ago. Appropriate, given the IFComp is in full swing.
And that’s really all. See you next week.
Funny how much morale matters in game development. While this weekend I was in no condition to work on Laser Sky, the game was in a condition to be seen by a few early testers, and that gave me the energy to go on. Not that the feedback was so great: everyone’s first reaction was to call it sluggish and unresponsive. It didn’t feel that way to me, but when three people say you’re drunk…
So the first thing I did on Monday morning was to make the player’s ship accelerate just a little faster. Which, to my surprise, improved the game balance, and subsequent testers merely remarked the game is slow-paced. In other words, exactly as intended. Success! Most of them also praised the graphics, though one tester was put off by the same “paper airplane” enemies another loved. There’s no accounting for taste. And hey, both of them recognized the inspiration despite the abstract shape. Go me.
Anyway, as predicted last time, the rest of the day was spent adding sound effects. They’re from the same Creative Commons pack I used for Attack Vector, except a different selection (twice as wide, too), and with no additional sources. So the two games ended up sounding nothing the like. Couldn’t locate any suitable music, but a friend offered to help with that, and from what we discussed it seems we’re on the same wavelength. So this should be great.
I wasn’t planning on posting updates today, since real life problems and bad weather conspired to keep me down, but in retrospect the game has progressed noticeably anyway, even if it didn’t feel like that at first.
So, a week ago I announced my new game, a good old shoot’em up called Laser Sky simply because the name was available — as opposed to pretty much anything involving the word “neon”. (Do you know how hard it is to come up with original titles these days? RogueBot for instance is used by a whole bunch of other projects, from a variety of fields. Hopefully nobody sues.)
Anyway, at the time Laser Sky was just beginning to feel like a game, but still lacked variety. So one of the first things to add was power-ups. The first one restores lost energy, or else gives points if you’re topped up — power-ups should never become useless! The second gives you an extra gun (then a third in the tail, which was sorely needed), and after that it erases the heat build-up, that gets significant even though with two guns you fire more slowly. The whole thing took some balancing work, because more guns should be more powerful overall, but still come at a cost. With a bit of special-casing, and otherwise fewer changes than expected, that too worked out great. It requires a change in strategy that just makes sense, and feels satisfying. Not bad for just one addition!
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.
Hello, everyone! Despite difficulties that nearly killed the event, Ludum Dare 36 took place last weekend. My friends Chip Caramel and Jimun were at it again, and came up with their best game yet. Check this out:
Around the same time, I was briefly involved in a Tumblr conversation about the point of videogames, and the consensus is what I’ve been pointing out for years now: that games express themselves through the way they interact with players, and unless a game mechanic is front and center, what you have isn’t a game. Read for details.
On a similar note, Alexis Kennedy of Fallen London and Sunless Sea fame explains why more content won’t save your game — a write-up that starts kind of abruptly, but has a lot to say by the end. And still in the game design department, here’s the first installment in a comparative history of videogames from the perspective of inventory systems. Knowing how tricky it is to make a good one, I say that’s as useful as it is unusual.
I’ll end with a little bit of history. Remember a while ago when Jason Scott recovered the source code for the original Prince of Persia? Turns out he’s been at it again, making available previously unknown alpha and beta builds of Karateka — Jordan Mechner’s other classic. Game designers can now see how the seminal beat’em up took shape, and that’s no less important than writers being able to read the early drafts of famous novels or poems from centuries past.
On that thought, I’ll leave you enjoy the Sunday. Have a great next week.
You know, it’s funny. Usually when I’m working on something not related to games, the newsletter tends to be pretty thin, since my attention is directed elsewhere. This week is an exception, and a big one at that.
Let’s start with news from interactive fiction, where there’s a new authoring tool on the block. After years in development, Texture was just opened to the public, prompting Emily Short to interview co-author Jim Munroe. An interesting experiment, but I’d rather explore the interface from Infocom’s Journey, as detailed by Jimmy Maher
Moving from IF to retrocomputing, via Vintage Is the New Old we get an interview with a C64 developer from Sweden — an intriguing history lesson. And from the same source, Nintendo launches a NES clone with dozens of classic games built-in… more than ten years after cheap South Asian clones of the legendary console went out of fashion. Good morning, big N. Last but not least, the world’s first graphical MMORPG (it ran on the C64 nearly 30 years ago!) has been open sourced, and they’re trying to get it running again. Specifically, the server, which is a rather thorny problem, for reasons both technical and legal.
To end with a trio of random links, the annual Procjam conference and gamedev event just announced its upcoming zine (with a call for submissions), and for fans of tabletop roleplaying there’s a new web-based tool to make rule supplements that look just like official D&D books. And knowing the kind of work that goes into good-looking RPG books, I can only appreciate the effort. Last but not least, let me highlight ComboPool, a Pico-8 game that manages to blend billiards with 2048, of all things.
Goes to show that limitations really do spur creativity. So be creative.
Hello, everyone. This week I must confess to a couple of broken promises. I didn’t get around to uploading a fix for the bug found in the online version of Glittering Light. And last time I forgot to announce my decision to abandon the graphical port of Tomb of the Snake. Sorry, but an already overengineered game was only getting even more so, FreeBasic’s supposed portability turned out to be illusory where it mattered (though SDL carries part of the blame), and the community less than friendly. But I learned a few things; my next projects will be tools, not games. Hopefully you’ll find them useful.
In other news, early this week Konstantinos Dimopoulos alerted me about Procedural Content Generation in Games, an academic textbook on the topic that’s nevertheless an easy enough read overall. It seems the project was launched a few years ago, but it’s only now ready for publication. Grab it while it’s still free!
Also in the way of long reads, Hardcore Gaming 101 is running a six-part feature on the Fallout series. And for the impatient, my friend Chris Meadows compares two online games of Catan. Last but not least, a piece of news not related to games, but just too cool to pass up: the source code for the Apollo 11 mission is now on GitHub! Amusingly, lots of people have been submitting pull requests, some jocular, others not so much.
But that’s about it for the past week. See you around.
Hello, everyone. This week felt like very slow progress, but after a long coding session yesterday, the game ended up nearly complete:
Not depicted: the horrible screen flickering every time you make a move on higher zoom levels; hopefully it will go away on more powerful computers, because clearly double buffering in sdlBasic isn’t working the way I thought. But hey, it runs, and looks just fine too. Water is surprisingly nice for such a simple trick, and knowing the exact screen aspect ration enabled me to come up with a nice non-verbal HUD — the minimap is displayed on-demand like in the new online version. Speaking of which, I found a bug in the latter that made speed boosts basically useless by the time you found any. Going to upload a fix soon, along with the desktop port.
In other news, this week I found yet another HTML5 library to ease roguelike development. Unlike the competition, rl.js is a single 600-line file, and doesn’t try to include the kitchen sink. It handles input, output, tilesets — including procedural art features — and manages the map, including collisions. In other words, a focused (and very well documented) product. Only its use of the General Public License is a potential obstacle.
Still on the same topic, there’s a new roguelike review blog in town, and it might just be worth following for a fresh perspective. And speaking of perspectives, just yesterday I was pointed at an academic, yet quite readable, article on diversity in games with procedural generation. Tl;dr version: the data structures and algorithms we use, even the programming languages, encode biases and assumptions, of which we have to be aware, lest we end up conveying unintended messages.
Last but not least, the news surfaced a few days ago of the brand-new Interactive Fiction Technology Foundation, which aims to future-proof certain tools and services the IF community has come to depend on. A most welcome initiative.
But I’m over my quota again. Until next week, code mindfully.
Hello, everyone. Hard to believe it’s been only one week since I started work on a desktop port of Glittering Light, because it already looks like this:
Mind you, it’s not even an alpha right now, and there are compatibility issues that may yet kill the project; but even if it does, I’ll still recommend sdlBasic as a nice little tool for rapid prototyping and such — it’s a surprisingly well-designed dialect and implementation, with a tiny but friendly community.
In the mean time, the Bring Out Your Dead game jam, after closing yesterday, reopened again for a few more hours. (If you’re reading this on Sunday, you might still catch it!) My list of favorites however remains unchanged: Total Oblivion, an experimental tabletop RPG with an intriguing subject matter that’s quite relevant these days; Kulhwch, a text-based room escape game made in Twine (and in verse, no less), which proves — in the small — that you don’t need hunt-the-pixel puzzles for the genre to work; and an interactive comic prototype by a veteran of the interactive fiction community. Other entries are worth a look as well; if you drop by, leave the authors a comment, because socialization has been scarce during this jam as well.
On to more conventional news. While my neighbor from the south Konstantinos Dimopoulos writes about implying size and complexity in game cities (goes for any kind of virtual environment, really), one of Defender‘s creators talks about the bright future of arcade games. Last but not least, in Le Monde of all places there’s an interview about what made Super Mario 64 so special. It’s all in French, but the short version is, that was the first console game to feature a vast, wide open 3D world with sandbox gameplay — something we nowadays take for granted on all platforms.
So, games to play, lessons to learn and a new toy to play with. It’s been a pretty good week after all. Have fun, and see you next time.
Hello, everyone. Having at long last finished with a translation project that took me all spring and then some — way longer than expected — I finally had a few days to work on the desktop port for Tomb of the Snake more intensively. And it’s also taking longer than expected. Too much, in fact, for a project I won’t be able to monetize. At least it’s this far along:
It’s basically just an interactive mock-up at this point, but the framework is in place to add mouse support next, along with modal overlays like the help screen. I still don’t know what the cave levels will look like, or where to get all the icons for the game screen (it should be entirely playable with either mouse or keyboard). As for the inventory screen… more experienced game programmers dread coding them. But you can’t make a graphical RPG without knowing this stuff.
It will all have to wait, however. Got another game port in the works that’s both smaller and more likely to sell, then the book mentioned above. In the mean time, let’s see this week’s other news:
As announced three weeks ago, the Bring Out Your Dead game jam started yesterday, and as of this writing there are fifty entries, with nearly as many to come if the number of people subscribed is any indication, so I’ll wait until next week to highlight my favorites.
Until then, the same Emily Short just got herself an interactive fiction column in Rock, Paper, Shotgun, and her first article is about parser games with a reduced command set — a topic myself and others have also covered as of late. This is turning into a trend; hopefully something will come out of it.
Last but not least, it was great to learn that the issue of videogame preservation has now come to the attention of academia, and the article presents not just some issues I hadn’t thought about, but also some novel solutions. Tl;dr — Let’s Play videos may be more valuable than you think.
And speaking of game preservation, only yesterday I stumbled upon a site where you can play DOS games right in your web browser. Has it been two years already since DOSBox got an Emscripten port? My, how time flies…
Either way, sometimes living in the future is awesome. See you next time.