It seems sometimes like no matter how much we accomplish, more tasks turn up that are still unfinished. Since we
have to release pre-beta next week, it really is crunch time now. There's not much choice in this matter--if it doesn't go out, we won't have enough time to test everything before school starts, all of our time will be consumed by classes and the summer will end without a release. That I'm starting to feel a little burned out doesn't help me worry less. However, this is going to happen. It has to. This just means the mantra "what's the simplest thing that could possibly work" is even more important now than ever, given the number of tasks left to complete.
To help organize my thoughts, I'm going to list all of the biggest things (no details, like in the document we've been maintaining) that need to be implemented before pre-beta can go out:
- Spells
- Monster AI
- Treasure
- Geosid item-sacrifice & portaling system
- Merchants (bazaar, geosid, storage)
- Design & Implementation w/ Editor...this is where all the content gets implemented and the world is built.
I think the most immediately important thing is to get monsters alive, interacting and dropping loot. Since most of the melee stuff is implemented, the next most important thing would be to get the merchants back online (this is prerequisite for the geosid system). Finally, filling out the rest of the spells, finishing up the design and implementing all the content with the editor, and taking care of the miscellaneous stuff (like logging server data).
Ah! Here's a breakthough--I think I just figured out how to do the geosid portals: give players a "spell" that allows them to use geonite to create a portal. The different levels of spell are only available when they can be used--i.e. near a geosid with a portal configured for that amount of geonite--and when the player is both high enough level to have that spell and has enough geonite.
For example, players get a Geosid Portal I spell at level 1. The description indicates "Use this ability to have a nearby Geosid consume 10 of your Geonite and create a portal to another nearby Geosid. This ability is not strong enough to move you beyond the Chaos."
Geosid Portal II, a higher-level ability (say 10) could say "Use this ability to have a nearby Geosid create a portal. This consumes 1000 Geonite ." As you gain more levels, you can consume ever more geonite creating portals to more remote areas.
Ok, well that makes me feel better. I can implement that. First, though, I need to solve the monster problem. The basic melee monster is in the editor, but doesn't attack. That's first on my list to fix.
-So I had to backtrack a bit. I noticed monsters weren't disappearing from the client when they died, so I fixed that first. There is no need now for a destroy-actor message, since all clients will remove an actor from the world at a maximum of
300 + lag milliseconds (max ~500), which is short enough that players shouldn't even notice. Instead of basing it purely on a time delay, it is now based on a sync--this has the added benefit of not nuking all of a client's on-screen data just because their network had a lag spike.