Rather than push through with a project that is actually fairly ambitious and ill-defined in terms of game design, I have decided that the smart thing to do is to shelve "hax0r" for the time being in favour of a project that catches my fancy at the moment.
Now, in 1993, in the heart of the era of gaming that this very site celebrates, I was a young boy of eleven years. I knew enough BASIC to be dangerous, and gosh darn it, I was going to start a shareware games company with my best friend Roman. Together, we created a game whose only redeeming value was the fact that we had managed to make digitized speech sort of work in QBasic by running an external VOC-playing program. We called it, "The Alien Zit".
Today, I remembered a promise that I'd made to a good friend, many years ago. A... a sacred promise. On her deathbed, maybe. It was very serious. I promised her that I would remake The Alien Zit with modern technology. For too many years, I had forgotten that promise, but now, my way is clear.
Prepare, unsuspecting world, for ALIEN ZIT 2000.
STARTING IN LIKE TEN MINUTES
http://www.clickteam.com/webftp/files/6/10/KPSchool.exe
Do you have anything better to do? I DOUBT IT.
GO GO GO
I haven't forgotten you, Glorious Trainwrecks! It's just hard to work on anything with this computer in such an unstable state (oh, and also completely reformatted.)
By way of apology, how about a little teaser of things to come?
Yes.
(Man, poor Firefox just has no idea how quickly it should animate gifs, does it?)
Save/load works! HOORAY. Stackless has some pretty fantastic technology inside of it that nobody in the world freakin' uses because they're dumb. (Well, okay, there's EVE Online and this guy's engine. I'll probably steal an idea or two from that guy, but I haven't needed to yet.)
GODDAMMIT SELF LET'S GET GOING ON THE ACTUAL GAME SHALL WE
So, this weekend I mostly implemented a totally general-purpose save/load routine. It required some restructuring, but the save routine is literally one line of code. I say "mostly implemented" not because that line of code is going to get longer, but because it's currently trying to save all of the resources inside the savegame file -- music, graphics, etc., as well as things that are totally unsavable like sound channels -- and I've got to write some wrappers to fix that. All hail Stackless!
I think I may be able to forgo the level editor for a bit, thanks to some game design choices I made last week, inspired by an evening's run-through of Manhunter: San Francisco. I'd tell you all about it, but that would ruin the surprise, now wouldn't it? [ed: It wouldn't, since it will be the central game mechanic.] Quiet, Ed!
Thus far, there has been one small downside to my choice of Stackless Python as a development language -- the standard Python debuggers don't friggin' work. Thus did I spend my entire weekend trying to figure out why my collision detection was stopping objects stone dead, rather than only in the direction that they collided in. (Imagine Mario jumping into a wall and hovering there.) Finally fixed it last night. BLIMEY.
Isaac was scared that I'd already have a game up and so he'd never see my embarrassing home video footage. I'll tell all of you what I told him: Currently my game is a green box on a blue grid called the "Intertrongs" and it can run into a JPG of a castle. I need to write a level editor soon, because specifying coordinates for things manually is going to be painful as hell. The lesson: Don't use a general-purpose programming language, and you will beat me. I'm a masochist who insists on seeing to fruition some manifestation of a general-purpose videogame engine that I first began imagining some six years ago.
Glory be, but I dislike writing physics engines. Just about done with some simple collision detection that'll do what I need for the top-down Intertrongs section(s). It'll probably be sufficient for Mario-like cartoon physics, too, though I'm also considering turning the Box2D engine into a Python extension. Either way I will probably soon turn hax0r into an Urban Yeti-ish version of the single-screen puzzle platformer that I'm secretly dying to make. Box2D would allow for some great network security systems -- just fiddling with the demo convinces me that I'll need to put the sport of Cat Bowling SOMEWHERE in the game. (Not that there is Cat Bowling in the Box2D demo.)
It's beginning to dawn on me that very soon I'll need a level editor of some kind, which, man. Damn. I am going to be forced to upload embarrassing childhood home video if anyone else decides to seriously attempt this with Gamemaker or Klik N' Play, because I keep biting off pieces that are genuine work. If I made an editor and combined it with Box2D I probably wouldn't get any work done, for all the torture devices that would demand to be built in its Incredible-Machine-ish sandbox. (Although now that I've written it down, that sounds like a rather delicious idea, doesn't it?)
Work has not slowed on Hax0r over the past week. Oh, quite the contrary! Unfortunately, it has been put to a less than productive use: IMPROVING CODE QUALITY. Bah! Ptoo! Ugh! You know what this means: OVERTHINKING IT. The cardinal sin of glorious trainwrecking! OH, THE SHAME.
I admit! I still think that much of what I did was necessary -- I can somehow convince myself that the crime is that it was merely premature. But in any case, it's DONE now, and I can get on with writing a game with some motherfucking interactivity. If I have not posted a screenshot of some totally new gameplay within the week, AVENGE MY DEATH.
OH EM GEE.
What is sad is that this program would have taken less than fifteen minutes to write in BASIC on any given 8-bit computer, and the result certainly would not have been over 2 megs compressed. SUCH IS THE PRICE OF PROGRESS, MY DROOGS.
Off to a cracking good start, it is! Download it here!