ID:27741
 
Keywords: cerulea, design, gs
The game engine was another matter. I had plunged into Cerulea pretty much right when I came to DUNG (presumably back in '99), and I did the opposite of what the experts advise: I got right into making the gigantic game I really wanted to make. So inevitably, eventually, I realized I'd have to totally change how the game worked if I ever wanted it to be flexible for the future. But I don't think it was a mistake to jump right in. If I hadn't done that much work on the game, I don't think I would have gotten to the point of realizing what I'd need for the future. But it was a huge amount of work, and it's actually still not finished.

The original game contained nothing special in terms of how it worked. People used verbs, the verbs did stuff. Now, everything is very indirect. I created a powerful parser (one of the only really skillful things I've done with programming... relative to that, a monkey could have made Lexiconomy), so now the only verb in the game is a verb called ">." The call() proc is used to call the right proc for giving, or bowing, or speaking, and at any step of the way, the process could be interrupted by the player's being dead, incapacitated, lying down, etc. It also allows for customization.

The game could, say, allow you to wave your sword. The default sword.wave calls the Wave() proc, which gives the message "You wave your sword around." "So and so waves her sword around." But I could make a special sword whose sword.wave is WaveFire(), which when called creates a fireball that smites a random creature in the room. And once I've written that proc, I can attach it to any sword in the game. I can enchant a player's sword so that it becomes a fire sword, all from within the game. It's not quite as powerful as being able to actually write the WaveFire() proc from within the game (and I could still someday make a language allowing me to do that), but it'll still allow me a good ability to create things on the fly.

So nothing is direct anymore. Everything works through the call() proc. And I don't imagine I'll need to overhaul that stuff again. But oh, the combat system!

Combat was something I really enjoyed in GS. Though I love roleplaying, I was also a big maximizer in terms of stats, and I found combat fun. (It didn't hurt that GS has some amazing AI, or really neat items to find.) I wanted to bring that aspect to Cerulea. But one thing I grew to dislike was how unrealistic some of the text game conventions were, like HP or walking into an area that's supposed to be huge but supposedly being in combat reach of everything in it. I wanted combat as realistic as I could make it while still keeping it fun. So I implemented an engagement system that takes into account the size of the room (extra work for me, of course) and allows you to gain advantage on creatures by getting close to them, getting behind them, and so on. And the system was shaping up to be more complex than that of GS, which is a very complex game.

Then I stopped working on Cerulea. I don't recall exactly why anymore, but I think it had something to do with my wandering away from BYOND in general, which did have something to do with my "getting a life." I had more things going on in real life, and it was important to me to devote time to them. I did come back to BYOND in little spurts, but Cerulea always seemed a bit overwhelming to tackle at those times. So it went from being almost my life's goal (I've been making games since I was in diapers, practically) and something I used to joke "won't be finished till 2005!" (it seemed far away at the time!) to something I wasn't sure about the date on but assumed I'd finish, to something forgotten, to something I still think I may finish but have no idea when.

The project itself is great, it has great potential. It could be an amazing game. The question is more about what I'll discover in my life, what matters to me; I do appreciate the computer as an unparalleled tool for creating, but sitting in front of a computer is not exactly the same as sitting in front of a natural landscape or a human being or even a good book. So we'll see.