[beam] hi :D

Posted by beam on Aug. 6, 2008, 7:41 a.m.

I haven't blogged in a long time :( it's also the first one I ever tagged.

I'm working on another roguelike. This time I'm making it in C, built on top of The Doryen Library, and scripted in Lua. I don't have any specific plans for it yet, so I'm just adding things I think I'll need. I have a lot of boilerplate code, plus support for ini file reading, Lua scripting, and a few different types of level generators. At the moment gameplay consists entirely of walking around on empty maps (with some nice FOV at least).

It's called PsionRL because originally I wanted the game to focus on psionics, but now I'm not too sure. I guess I'm just going to let the game evolve as I go.

Screenshots

Inside a cave

The cave generator is pretty simple, it's based on cellular automata rules. You can change the way it looks just by changing the rules.

Inside a forest

The forest is even simpler. It's just a 10% chance that a tile is a tree.

I originally wrote these generators in Lua because of its sheer elegance – you can define functions within functions, which made for some pretty looking algorithms. (Cave generator Lua source)

What I found was that once I started making scrollable maps, Lua took 60 seconds (or more) just to make a 60x25 map. Compare the C version, tested with maps 100x100 in size, is done instantaneously.

This is no small project, and it won't be done anytime soon. If you want to keep up with the project, you can check it out on its project page.

Comments

beam 15 years, 9 months ago

Yeah when I did the FOV for my old game, I ended up just using a lot of (de)activation and collision_line, which worked well enough. Some artifacts here and there, but it was worth the performance boost.

Juju 15 years, 8 months ago

If only someone would make a platform generator <_<

beam 15 years, 8 months ago

Juju you could make one pretty easily with the random walk method.