Category: Cool People

Okay, back to work.

(Not to work-work; I can’t go back to that until I’m cleared by my doctor and I’ve no idea when that might happen. I mean Planitia-work.)

One of the things I want to get done (and get done quickly) is to create a playable alpha version of Planitia, as well as create a trailer. That will make my funding and marketing push more effective.

“But Anthony!” I hear you say. “You already have a playable alpha! I remember you posting it on your blog! With source code, even! Here, even!

This is true. But that version has a terrible bug in it that I just cannot seem to track down – after about ninety seconds of play, the frame rate instantly drops from 60 to 30 and then descends from there. All my attempts at profiling have met with failure.

Basically, I fought code entropy and code entropy won. I’m pretty sure that my framework, which I’ve been using for years, has some rather terrible bug in it and the code is just too overgrown to track it down. Of course, that was the first game framework I ever wrote, so of course it was krep. Before you say anything, It’s not just Planitia that is making me think this, there are parts of Inaria that bog down as well. Both of these games are so damn simple that they should run at about a thousand frames a second on a TI-99/4A, for crying out loud.

I talked to my friend Jari Komppa about this (who was recently called a god of the indie demo scene, by the way) and he had this advice:

“Code like it’s 1999.”

I also stole his base code, which you can find on his site here.

So how were we coding in 1999? Well, procedurally, for one thing. OOP hadn’t really penetrated game development yet. Game engines were usually just collections of functions rather than interlocking game objects. Classes were rare, and inheritance non-existent. Very much KISS territory (the design/programming philosophy, not the metal band that saved Santa).

Jari’s code is just like that. There are no classes. There is no inheritance. There’s just a bunch of functions – all in one source file, even – that do practically anything you might want to do in a 2D game, and lot of the stuff you’d want to do in a 3D one.

So I started over. While I do sort my functions into different source files, they’re now standalone functions rather than class methods. I added code I needed from my own framework (configuration file reading, logging, industrial-grade RNG, etc) but I only made objects out of things that there can be multiple instances of, like fonts and game objects.

This took me about eight hours worth of work. I now have a framework that’s just as functional as my current one but with (let me count) about 1/4 the lines of code.

I’m actually kind of eager to see how quickly I can recreate the gameplay of Planitia using the new engine. It could turn out to be a mere 40-hour project.

Updates to follow.


Cardinal Quest

Okay! I’ve sold exactly one copy of Inaria through BMT Micro, which is enough because I wanted to find out what the experience was for the buyer. The buyer was one Ido Yehieli, who just happens to be an indie himself. After quizzing him on how BMT Micro worked for him, he then sent me a free copy of his game, Cardinal Quest. Which is actually a pretty good little Roguelike with modern features. I especially like the scrolling combat text – I was attacked by a succubus with her special power; the scrolling text told me I’d “Lost 3 Attack”. I killed her and a few turns later saw “Recovered 3 Attack”, which made it VERY clear that her spell had worn off. THAT’S the level of clarity I need in my Roguelikes. (I’m talking to you, NetHack. I don’t care how famous and beloved you are, I still think you’re a crappy game.)

Anyhoo, you can buy Cardinal Quest for a measly $5, and unlike my game there’s actually a demo so you can find out if you like it before you play. So check it out!


What I Learned Watching Notch Code

I’ve read a couple articles about Notch’s entry into the most recent Ludum Dares. Both of those articles are worthwhile and I suggest you read them both.

Apparently Notch is just incredibly prolific – in a 48-hour period (while making Prelude of the Chambered) he coded for about forty hours and slept for about eight.

If you watch this timelapse, at no point will you see him goofing off on web pages. At no point will you see him checking on his World of Warcraft auctions. He watches a little YouTube and plays one game – Quake – for about an hour while he’s eating his lunch.

And if you don’t trust that, you can watch almost the entire 48-hour period in real-time over on Twitch.Tv. The man has the most amazing work ethic.

Some of the tricks he uses during the making of Prelude of the Chambered:

* He draws all the graphics in the game in greyscale, then uses vertex colors to actually color them in game.

* All of his graphics are 16×16 PNGs, even the wall textures.

* All of his levels are PNGs created in Paint.NET. The PNG contains every bit of information about the level, including which block to use where and what color to make it. The alpha channel information is used to place objects and triggers. His Paint.NET is set up to never ask him what format he wants the image in; it just always saves as 32-bit PNG. You may think, “What’s one more click?” but it adds up.

* He uses SFXR to create his sound effects.

But that’s only part of it. He’s also chosen a platform that makes projects easy to set up, allows altering of code while the program is running (thus reducing the amount of time it takes to debug), and allows people to play his game almost instantly – no installing, no configuring, just give them a URL.

Notch uses Java for pretty much everything he does. I’ve been resistant to change for its own sake, but this isn’t for its own sake. Making my games browser-playable means more exposure and better feedback. So I’m going to be learning Java and Java3D, and I’ll be writing a new prototype of Planitia using it.

Oh, and if you want a nice history of how Minecraft progressed, here’s the thread where Notch announced it for the first time. It’s fascinating reading.


Reprisal

This is Reprisal, a free flash game.

Okay, my first thought when I saw this on Rock, Paper, Shotgun was “What the hell?!” Saying this game was “inspired” by Populous is like saying Pepsi was “inspired” by Coke. Except for the interface, it would be very easy to mistake a screenshot from this game for one of Populous and Populous 2.

I was a bit irate at first…and I’ll be honest. It’s because, despite all my efforts, this game is more complete than Planitia. Planitia, after years and years and years of work, is still not a game that anyone would want to play.

But after reading the development blog, my ire waned. The developer, Jon Caplin, is just a guy who loves Populous and wants to write his own version in Flash. I can’t begrudge him that.


Oh yeah, the blog!

I’m so sorry guys. First I was semi-crunching on the Inaria update and then I was getting ready for Independence Day (we had a big ol’ cook out).

The good news is that I have this whole week off (GM shuts down for a whole week for the Fourth). So more updates will be forthcoming.

Plus, I’ve been participating in the Indie Conversation. This is a YouTube channel where several full-time and part-time indies have been posting videos straight from their webcams discussing various topics. It’s been pretty great; you guys should check it out. Just remember that it’s a “conversation” and thus the videos are effectively sequential.

More updatey stuff in the near future!


Okay, This One’s For Everyone Who’s Telling Me To Keep Working On Inaria…

This is Dungeons of Dredmor.

Notice how the first feature of the game is that it’s a Roguelike but with a modern interface. Sound familiar?

Notice how awesome those screenshots look.

And now notice this announcement that it’ll be released for $4.99.

This just reinforces the idea that Inaria was wrong game, wrong time (not to mention all its other flaws). I need to do something completely different, and frankly, I need to release it now.

Fortunately, I do have a couple of ideas.


I have found my distaff counterpart…

Meet DOSBoxMom, a mother who has been playing video games for decades and is now Let’s Playing an excellent but lesser-played game from the 80’s. Sound familiar?

While she’s just starting out and there’s some growing pains (lots of background noise on some of her early videos) I can’t wait to see where she goes with this.


I finally wrote a nice, long, meaty post…

…and posted it somewhere else.

See, Jay Barnson (aka the Rampant Coyote) was going on vacation (to New Orleans, also the favorite getaway spot of the CRPG Addict) and he needed some guest posts. So I submitted something that had been kicking around in my head for a while.

And he published it. Head on over to read it.


Preview of Coming Attractions

Here’s a screenshot of the current version of Inaria (click to expand).

And here’s the opening them to Inaria, courtesy of H. Arnold Jones:

[audio:https://viridiangames.com/bin/cfx-inaria_theme.mp3]

Music, Professor!

Inaria now has a musician in the body of one H. Arnold Jones! The first tracks he has delivered are great, and I think fit the game well. Check out his stuff at http://www.cfxmusic.com/site/.