|
|
Important: The new JADE website is located at http://www.ancientdomainsofmystery.com. There you can find the latest news, downloads, etc. This website exists simply for documentation purposes. Please update your bookmarks and links! JADE Events - lots of stuff is happening!JADE will be completely event-driven. After the initial startup has been finished (and this includes just setting some options and parsing the command line), an event-driven action system will take over and completely control game flow. This seems to provide a very powerful mechanic for an extremely detailed game without having to care for a bazillion special cases... here is how it is going to work:Event TypesJADE will know two general event classes: standard events and meta events. Standard events are used for in-game actions like weather changes, the next player action, a monster attack, spell learning and so on. Meta events will be used for game control (e.g. events to repaint the screen, to save the game, to abort with an error and so on). Events will be queued in two event queues:
RedrawScreenEvent,
a RechargeItemEvent, a MoveWallEvent and a RegainHitpointEvent.
Event OrderingEvents will be ordered in the event queue according to the point of time at which they are going to happen. Each event will posses a scheduled turn on which it is going to occur. Standard events use the game turn counter (starting at 0 and going up to 263-1). Meta events use a negative turn counter (starting at -263+1 and going up to -1). 200 game turns will make up one second of actual time, so that the counter (long variables are your friend) will be sufficient for 1.5 billion game years (!). Each game
action (and thus each standard event) will take a certain amount of energy to complete (from 0 for 1000 for a standard action to a lot more).
The current term plus the amount of energy required yields the turn at which the event is going to happen. Events are inserted into the
queue in a sorted order. The event with the lowest turn number is executed next. This continues until a FinalEvent instance
is retrieved from the event queue(s) and executed successfully.
Long EventsSome events take longer to be completed than others. Quaffing down a potion is a pretty fast action but reading and learning a spell from a spellbook takes quite a bit of time - and you can be easily interrupted while doing so. Thus JADE will know shortJadeEvents
and long and interruptable LongEvents. Long events require a total amount of passed time to be complete but will get a chance
to be completed partially after every predefined fraction of the total time that passes. Thus you can easily simulate eating (where a part of
the food is devoured every fraction of the event) and you also can easily simulate interruptable actions like learning spells.
Event UsesEvents can be used for many things in the game and allow the trivial implementation of many features that are pretty hard to add in standard procedural roguelike games (like ADOM). Here are just a few examples:
|
|
|
|
More details about this item can be found here: United States, United Kingdom, Canada, Germany.
A complete list of my reading recommendations is available here. |