It's a stew-pendous update...
I have an initial pass at line-of-sight and weapons/armor. The line-of-sight seems sound, but ranged attacks aren't in yet. (I know how I'm going to do them, though. I had been worried about the lack of modal events in my event-driven archetecture.)
I had an epiphany and I've decided on an approach to handle "objects having arbitrary verbs" which is a long-term goal of STEW, but really one I didn't expect to complete for the Rogue phase. With the help of some utility functions, arbitrary verbs can be placed on objects -- and written in Python. Yes, that's right. I'm ever so pleased.
The new verb logic is causing me to rewrite most (if not all) of the older attack logic. Yes, special attacks will soon be handled as arbitrary verbs placed upon creatures. Due to the crude nature of Rogue-style special attacks, we have a simple list containing the special attack verbs to use.
The existing armor and ring logic will also be rewritten for the new verb logic. In this case, there's a setup/tear-down structure that's only been sketched out in the new system so far.
It should allow things like a "ring of divine flame" which (1) burns every scoll in your possession when you put it on, (2) grants you immunity to fire, (3) gives any weapon you wield additional fire damage, (4) when empty-handed allows you to shoot bolts of fire at your foes, and (5) slowly gives you permanent sensitivity to water attacks. Yeah, such an artifact would be like cheating in most scenarios, but the very nature of the system is that such an artifact could be a third-party addition added specifically for cheating. (Did I mention the only way to disable cheating is for me to start on the network-based play?)
I may go so far as to actually push the normal attack logic in to verbs, but I'm thinking that may be more complicated than I might first imagine, so it may wait out for a bit. In any case, I'll need the ability to impliment removing of some of the ranged attacks so I can do "Wands of Cancellation" properly.
Tuesday, July 20, 2004
Monday, June 28, 2004
STEW update...
It's my journal so I can pretend someone cares...
Here's what I have so far:
1. The infrastructure seems sound. I like the general design principle.
2. I have a functional visual interface. The design is to eventually allow multiple interfaces, with the capacity to add new interfaces in a piece-meal fashion. That goal isn't quite there yet. What I have now consists of multiple interface APIs and a clear separation of underlying logic and page interface. I have the start of a second interface (a dumb line-mode interface) in addition to my initial curses interface, and the curses interface fully supports the line-mode API. We'll see if any of the interface logic holds water once I start working on Tk support (which will be after my initial release).
3. The design allows for multiple games to be written from the same infrastructure. This works, and has been tested.
4. The first functional game, made primarily to test the visualization logic was Conway's Game of Life. This also brought about the testing of the remappable key logic.
5. The second functional game, a clone of the BSD Robots was also a success. This was the first test of the heightened single-player cheating facilities. It brought in to play some aspects of the system that had been brushed over with Life. With it, I started playing with some of the visual artifacts that would be needed for true rogue-like games. These included message panels and information panels attached to the main map screen.
Currently, I'l working on the third functional game. This one is a clone of the BSD Rogue game.
My monster following logic is very sound, but there appears a bug in it causing to fail to notice that a route is impossible. (At least, that's my guess as to what is going on.) In any case, the whole "follow you anywhere, even if you teleport out of sight" is excessive. Particularly when you keep in mind that some Rogue-like games can't even follow any sort of indirect route to get to you. (IIRC, Moria in particular.)
The initial set of monster was taken straight from BSD Rogue, as were the initial objects. I have sime magic items, but I've not yet implemented equip/wield, so things aren't quite as complete as they should be there.
At this point, I'm working on my line-of-sight logic. This is primarily for ranged weapons and wands and what-not. However, I've gone ahead and started work on actual visual line-of-sight. (Something BSD Rogue doesn't really have.) I may actually implement it for my Rogue, just so I don't have to implement the BSD Rogue's "room-based sight."
In any case, it is time to stop gabbering, as my honey has decided it is time for me to sleep.
Here's what I have so far:
1. The infrastructure seems sound. I like the general design principle.
2. I have a functional visual interface. The design is to eventually allow multiple interfaces, with the capacity to add new interfaces in a piece-meal fashion. That goal isn't quite there yet. What I have now consists of multiple interface APIs and a clear separation of underlying logic and page interface. I have the start of a second interface (a dumb line-mode interface) in addition to my initial curses interface, and the curses interface fully supports the line-mode API. We'll see if any of the interface logic holds water once I start working on Tk support (which will be after my initial release).
3. The design allows for multiple games to be written from the same infrastructure. This works, and has been tested.
4. The first functional game, made primarily to test the visualization logic was Conway's Game of Life. This also brought about the testing of the remappable key logic.
5. The second functional game, a clone of the BSD Robots was also a success. This was the first test of the heightened single-player cheating facilities. It brought in to play some aspects of the system that had been brushed over with Life. With it, I started playing with some of the visual artifacts that would be needed for true rogue-like games. These included message panels and information panels attached to the main map screen.
Currently, I'l working on the third functional game. This one is a clone of the BSD Rogue game.
My monster following logic is very sound, but there appears a bug in it causing to fail to notice that a route is impossible. (At least, that's my guess as to what is going on.) In any case, the whole "follow you anywhere, even if you teleport out of sight" is excessive. Particularly when you keep in mind that some Rogue-like games can't even follow any sort of indirect route to get to you. (IIRC, Moria in particular.)
The initial set of monster was taken straight from BSD Rogue, as were the initial objects. I have sime magic items, but I've not yet implemented equip/wield, so things aren't quite as complete as they should be there.
At this point, I'm working on my line-of-sight logic. This is primarily for ranged weapons and wands and what-not. However, I've gone ahead and started work on actual visual line-of-sight. (Something BSD Rogue doesn't really have.) I may actually implement it for my Rogue, just so I don't have to implement the BSD Rogue's "room-based sight."
In any case, it is time to stop gabbering, as my honey has decided it is time for me to sleep.
Subscribe to:
Posts (Atom)