January 2000
- JavaWorld: Build an object database J C Lawrence
- Muq update Cynbe ru Taren
- New link support J C Lawrence
- OS Inspiration Phillip Lenhardt
- OS Inspiration Greg Miller
- Chomsky's recursive theory of grammar J C Lawrence
- concerning tokenization, compilation, performance, and other fun stuff. Nate Cain
- concerning tokenization, compilation, performance, and other fun stuff. cg@ami-cg.GraySage.Edmonton.AB.CA
- concerning tokenization, compilation, performance, and other fun stuff. Joel Dillon
- concerning tokenization, compilation, performance, and other fun stuff. Ola Fosheim Grøstad
- Library submission notification and updates J C Lawrence
- EQ packet sniffer J C Lawrence
- Catalog of Compiler Construction Tools J C Lawrence
- Microthreads for Python J C Lawrence
- For those interested in parsers and compilers J C Lawrence
- EQ packet analyzer is gone? Sellers, Michael
- EQ packet analyzer is gone? J C Lawrence
- EQ packet analyzer is gone? J C Lawrence
- RFC: Worldforge project Scott Clitheroe
- ScryMUD 2.0.9 released (compiles on Windows (cygwin)) Ben Greear
- Clay Shirky's "Playfulness in 3-D Spaces" J C Lawrence
- Clay Shirky's "Playfulness in 3-D Spaces" Raph & Kristen Koster
- Clay Shirky's "Playfulness in 3-D Spaces" Sellers, Michael
- Clay Shirky's "Playfulness in 3-D Spaces" Nick Shaffner
- Clay Shirky's "Playfulness in 3-D Spaces" Sellers, Michael
- Clay Shirky's "Playfulness in 3-D Spaces" Jeremy Music "Sterling"
- Clay Shirky's "Playfulness in 3-D Spaces" msew
- ShowEQ Ashran
- Hello! F. Randall Farmer
- Hello! Cynbe ru Taren
- Y2K archives J C Lawrence
- An introduction... Geoffrey A. MacDougall
- An introduction... Lovecraft
- Laws website moves Raph & Kristen Koster
- Ok, got some brand new core dumps. J C Lawrence
- player politics (was An introduction...) Sellers, Michael
- player politics (was An introduction...) Ola Fosheim Grøstad
- player politics (was An introduction...) Sellers, Michael
- player politics (was An introduction...) Ola Fosheim Grøstad
- player politics (was An introduction...) J C Lawrence
- player politics (was An introduction...) Sellers, Michael
- A quick business question... Geoffrey A. MacDougall
- A quick business question... Matthew Mihaly
- A quick business question... Darrin Hyrup
- Question about multithreaded servers Fabian Lemke
- Question about multithreaded servers AR Schleicher
- Question about multithreaded servers Nick Shaffner
- Question about multithreaded servers Ola Fosheim Grøstad
- Question about multithreaded servers Fabian
- Question about multithreaded servers Jon A. Lambert
- Question about multithreaded servers J C Lawrence
- Question about multithreaded servers Greg Underwood
- Question about multithreaded servers cg@ami-cg.GraySage.Edmonton.AB.CA
- Question about multithreaded servers J C Lawrence
- Question about multithreaded servers Greg Underwood
- Question about multithreaded servers J C Lawrence
- Question about multithreaded servers Emil Eifrém
- Question about multithreaded servers J C Lawrence
- Community Relations Dundee
- Community Relations Christopher Allen
- Community Relations Matthew Mihaly
- Community Relations Greg Miller
- Community Relations Darrin Hyrup
- Community Relations Dundee
- Community Relations Ola Fosheim Grøstad
- Community Relations Dundee
- Community Relations Ola Fosheim Grøstad
- Community Relations Dundee
- Community Relations Marian Griffith
- Community Relations Koster, Raph
- Community Relations Jon A. Lambert
- Community Relations Matthew Mihaly
- Community Relations Ola Fosheim Grøstad
- Community Relations Matthew Mihaly
- Community Relations Ola Fosheim Grøstad
- Community Relations Matthew Mihaly
- Community Relations Marc Bowden
- Community Relations Eli Stevens {Grey}
- Community Relations Matthew Mihaly
- Community Relations Raph & Kristen Koster
- Community Relations Matthew Mihaly
- Community Relations Koster, Raph
- Community Relations Travis Casey
- Community Relations Ola Fosheim Grøstad
- Community Relations Travis Casey
- Community Relations Ola Fosheim Grøstad
- Community Relations Matthew Mihaly
- Community Relations Rahul Sinha
- Community Relations Matthew Mihaly
- Community Relations Matthew Mihaly
- Community Relations Ola Fosheim Grøstad
- Community Relations Koster, Raph
- Community Relations Matthew Mihaly
- Community Relations Geoffrey A. MacDougall
- Community Relations Jon A. Lambert
- Community Relations Matthew Mihaly
- Community Relations Ola Fosheim Grøstad
- Community Relations Travis S. Casey
- Community Relations Douglas Couch
- Community Relations Dundee
- Community Relations Marian Griffith
- Community Relations Jon A. Lambert
- Community Relations Matthew Mihaly
- Community Relations Jon A. Lambert
- Community Relations Matthew Mihaly
- Community Relations Geoffrey A. MacDougall
- Community Relations Matthew Mihaly
- Community Relations Lovecraft
- Community Relations Geoffrey A. MacDougall
- Community Relations Lovecraft
- Community Relations Marian Griffith
- Community Relations Matthew Mihaly
- Community Relations Sellers, Michael
- Community Relations Lovecraft
- Community Relations J C Lawrence
- Community Relations Lovecraft
- Community Relations J C Lawrence
- Community Relations Koster, Raph
- Community Relations Jon A. Lambert
- Community Relations Ola Fosheim Grøstad
- Community Relations Lovecraft
- Community Relations Jon A. Lambert
- Community Relations Lovecraft
- Community Relations Jon A. Lambert
- Community Relations Jon A. Lambert
- Community Relations J C Lawrence
- Community Relations Wes Connell
- Community Relations Marc Bowden
- Community Relations Dundee
- Community Relations J C Lawrence
- Community Relations J C Lawrence
- Community Relations F. Randall Farmer
- Community Relations Dr. Cat
- Community Relations J C Lawrence
- Community Relations Koster, Raph
- Community Relations Geoffrey A. MacDougall
- Community Relations Matthew Mihaly
- Commercial-use Restrictions on Code Bases (was: help me find 100% fre (fwd) J C Lawrence
- Commercial-use Restrictions on Code Bases (was: help me find 100% fre (fwd) J C Lawrence
- Databases (was Commercial-use Restrictions on Code Bases) Charles Hughes
- Databases (was Commercial-use Restrictions on Code Bases) cg@ami-cg.GraySage.Edmonton.AB.CA
- Databases (was Commercial-use Restrictions on Code Bases) Jon A. Lambert
- Databases (was Commercial-use Restrictions on Code Bases) Jon A. Lambert
- Databases (was Commercial-use Restrictions on Code Bases) J C Lawrence
- Mud-Dev FAQ part I Marian Griffith
- Mud-Dev FAQ part II Marian Griffith
- META: List goals (was OS Inspiration) J C Lawrence
- Valhalla license? CFrancy@aol.com
- Valhalla license? Matthew Mihaly
- Valhalla license? Richard Woolcock
- Planet/Solar System Generation Wes Connell
- Planet/Solar System Generation icecube@ihug.co.nz
- Planet/Solar System Generation Christopher Allen
- Planet/Solar System Generation J C Lawrence
- Planet/Solar System Generation Nolan Darilek
- Planet/Solar System Generation Wes Connell
- Planet/Solar System Generation Richard Woolcock
- How to handle/display partial language skill Joe Kingry
- How to handle/display partial language skill Greg Underwood
- How to handle/display partial language skill Wes Connell
- How to handle/display partial language skill Matt Chatterley
- Signing off... IronWolf
- Simulated Populations phlUID
- Simulated Populations Charles Hughes
- Simulated Populations Vladimir Prelovac
- Simulated Populations phlUID
Vladimir Prelovac wrote:
> I am just having a look at this from the programming side of view. If
> you are going to have large numbers of mobs moving from one location to
> the other (ie. hunting, searching for food, going to war...) you will have
> to spend a *lot* of CPU time calculating shortest paths. And I still dont
> know an efficient way to handle this. Maybe there is a way to build this
> database with some kind of implemented solution to this problem within it.
Well, there are a couple of thoughts on this:
1. We could just throw out the whole path finding thing and make mobs
wander aimlessly. This would make sense because populations would
remain mostly concentrated in one locale. Obviously, this isn't the
fun way. :)
2. The database could calculate inter-wilderness paths upon bootup.
I've never heard of this being done before so I'll give a quick
description. Say I have a dwarven population in the north part of
the map, and I want to make routes to all the other populations
they might want to later interact with. I can use variations of
the A* pathfinding algorithm with different heuristics to generate
different paths through the wilderness. When one of the dwarves
enter's a room that is part of this path, they just have to pick
up the path ID and fallow all the path pointer's along the way to
it's destination. This creates invisible roads through which the
dwarves will move. Ranger's can also use tracking with zero CPU
time. The only problem with this is that the paths will break if
one of the rooms on them is destroyed. In this case, we will have
some method of destroying the path, or else all the dwarves will
end up in some deadend all trying to go east. :)
3. I use a wilderness system to connect different areas. This system
shows a small overhead map in your room description depending on
your current position within the wilderness. Luckily, the wilderness
is graphed, so path finding is extremely fast when determining the
way from one coordinate to the other coordinate. Of course, this
doesn't account for the fact that the area's that are not part of
the wilderness don't have coordinates. I will need to do cpu
tests on a hybrid version of this system, using both graph path
finding and non-graph path finding.
4. I can use regular pathfinding, but instead of just sitting there
and sucking up the CPU to death, I can use the idle time spent in
select() utilizing the path finding algorithm. Dwarves don't
need paths to suddenly appear at that very pulse because they can
effectively wait a few minutes for an answer. This conserves CPU
and produces very reliable results. What's the point of wasting
CPU cycles when you can use them to make the game more alive?
I believe that it is also possible to combine any number of these
elements together into one system. For example, I could use graph
pathfinding and wandering, so that a dwarf would wander around it's
area until it stumbled into the wilderness and then have it determine
if it wants to go back or go to another area. Another possibility is
to use pregenerated paths with wandering, so dwarfs will wander aimlessly
until they stumble upon a room with a path. It can then decide if it wants
to fallow that path.
Vladimir Prelovac wrote:
> Second matter is problem of handling system crashes or at least reboots.
> You would obviously need a very safe and precise method of saving all the
> data that have evolved (population info, every mob's current goal, etc
> etc) and restoring them back, because you dont want your world to start
> building itself from scratch every time you reboot.
Luckily, because Spellbound uses C++ every object in the game inherits
from a 'Savable' class. Because of this, Spellbound is 100% persistent.
When the game saves to disk and loads from disk, it is in the exact same
stage as it was when it went down or crashed. Total database saves are
done periodically ever hour, so the worst that can happen is a time
warp. The database is only copied if the save is successful.
Vladimir Prelovac wrote:
> The whole idea is of course very interesting. But also the effort that
> has to be put into building it is simply HUGE. Hope you will finish it
> though.
Me too. There never seems enough time for a good coding run. For some
odd reason people start asking questions about where you have been and
where all the twinkies and soda keep going. :)
Amos Wetherbee,
The Spellbound Project - Simulated Populations Dundee
- Simulated Populations Wes Connell
- Simulated Populations Nicolai Hansen
- Simulated Populations J C Lawrence
- Simulated Populations phlUID
- Simulated Populations J C Lawrence
- Business Licenses CFrancy@aol.com
- Business Licenses Bruce
- Business Licenses J C Lawrence
- [adv-mud] What good is a hero when nobody knows? (fwd) J C Lawrence
- [adv-mud] What good is a hero when nobody knows? (fwd) Matthew Mihaly
- [adv-mud] What good is a hero when nobody knows? (fwd) Wes Connell
- [adv-mud] What good is a hero when nobody knows? (fwd) Matthew Mihaly
- [adv-mud] What good is a hero when nobody knows? (fwd) Erik Jarvi
- Multiply oriented interactive worlds... Justin Rogers
- [adv-mud] What good is a hero when nobody knows? J C Lawrence
- [adv-mud] Topic list repost (fwd) J C Lawrence
- [adv-mud] Spellbound Hierarchy and Keys (fwd) J C Lawrence
- [adv-mud] Spellbound Hierarchy and Keys (fwd) J C Lawrence
- [adv-mud] Better Grammer Detection J C Lawrence
- [adv-mud] MUD-Dev vs. adv-mud J C Lawrence
- MUD-Dev vs. adv-mud phlUID
- [adv-mud] What good is a hero when nobody knows? phlUID
- (fwd) Avatarism and Role-Playing Game Design claw@kanga.nu
- Starlane test Joel Kelso
- hoho Matthew Mihaly
- Current Status of Middle Earth Online Geoffrey A. MacDougall
- ScryMUD 2.0.10 released. Ben Greear
- [adv-mud] What good is a hero when nobody knows? J C Lawrence
- [adv-mud] What good is a hero when nobody knows? Ben Greear
- [adv-mud] What good is a hero when nobody knows? J C Lawrence
- [adv-mud] What good is a hero when nobody knows? Wes Connell
- [adv-mud] What good is a hero when nobody knows? J C Lawrence
- Some new Library references J C Lawrence