logo background


by Jim Babcock

The current version is Beta 6c (Downloads page, Changelog)


Status update
Classes are over and I'm back home, which means that after a whole semester of basically doing nothing CalcRogue-related, I'm getting back to work. So here's the plan.

I spent this weekend cleaning up the data file. It's not exactly what I'd call clean, but it's no longer an impenetrable C-and-m4 mongrel, and errors will give you correct line numbers at least most of the time. The data part is still basically macros around an assembly-level description of the data structures, but at least the macros themselves are reasonably clean and it's all in one language.

That's the first big step. There are two big steps left. The next step is to rewrite the compiler that compiles this thing in a language other than C. At present, the compiler for the data file is written and C while the data file itself is written in a language that's kinda like C. Well, it /looks/ like C, but when you try to actually /write/ in C you find there are big, important parts of the C language that are simply missing. And while the current compiler performs admirably at what it does, it's really not going anywhere as far as supporting the rest of the language; and it's a pain to build things without global variables, struct constructors, and the like.

With that done, and a few extensions to C along the way, it'll be possible to convert the data file into a format that's actually pleasant to edit. So the next step will be to convert it all, and do some actual editing. More specifically, to create a complete quest, and document every step in a tutorial so that other people can do the same.

There are a few other technical-side features I'll try to get in too: user interface improvements for Palm, graphical tiles support, an SDL version. There's obviously a lot to do on the content side, but I think that with the new data file compiler, quest making will be quite straightforward. That's the hope, anyways.

22 May 2005 by jimrandomh

mail: (optional)

Older News