25 Jan, 2013, quixadhal wrote in the 161st comment:
Votes: 0
Scandum said:
quixadhal said:
I would call it a sensible way of coding things, since you ALWAYS have the choice of coding for space vs. coding for speed. RAM is cheap. CPU's are not so cheap. I'll happily store a few extra pointers to make an O(N) problem become an O(log(N)) one.

You're misunderstanding me as this has nothing to do with CPU usage. The moment you add a lookup table for objects you've effectively implemented a room system, and as such we could no longer speak of a roomless MUD.


Can I have some of the drugs you're on?

So, you're saying that because you can lookup the coordinates of a vendor NPC in World of Warcraft, that it's a room based game? Seriously?
25 Jan, 2013, Orrin wrote in the 162nd comment:
Votes: 0
quixadhal said:
So, you're saying that because you can lookup the coordinates of a vendor NPC in World of Warcraft, that it's a room based game? Seriously?

Perhaps not, although maybe you could argue that any graphical game using Hero Engine is room based ;)
25 Jan, 2013, Telgar wrote in the 163rd comment:
Votes: 0
^^^

Lol

(Edit: unintentionally meant for the post above the previous post). Somehow this makes it more lol.
25 Jan, 2013, Scandum wrote in the 164th comment:
Votes: 0
Runter said:
Rooms are a game concept. It has nothing to do with the underlying data structure. Do you think roomless muds must limit themselves to a single, global linked list for all calculations?

Like I said, an npc lookup table is a particularly poor implementation of a room system, so poorly some people may not want to consider it a room system. But effectively you are creating rooms, and each room contains a list of mobs that are contained within it.
25 Jan, 2013, Rarva.Riendf wrote in the 165th comment:
Votes: 0
arendjr said:
@Rarva: Do you understand the concept of a benchmark?

Maybe better than you do. Your code if coded sensibly (meaning nothing to do if noone is there to receive the input) could propagate in a trillion room, all it would time is how fast you iterate through your trillion rooms.
That could be a meaningful test if only a few of those rooms were in memory. Then you would have something that has a meaning, needing to load the room from files before you can know if you have something to do in it or not.

But your test ? Meaningless.
25 Jan, 2013, Rarva.Riendf wrote in the 166th comment:
Votes: 0
Arendjir:of course I take for granted that your spawned event keep their ancestor event in themselves, and that rooms can acknowledge if they have been already hit by that same ancestor in order to not hit them twice with it. Basically the reason why it is a O(N) algorythm.
25 Jan, 2013, Kelvin wrote in the 167th comment:
Votes: 0
It's funny, because this thread has diverged into exactly the kind of thing petty technical quibbling that my article warns against :)
25 Jan, 2013, arendjr wrote in the 168th comment:
Votes: 0
With all due respect, Rarva, but you have no clue what you're talking about. Better you don't pretend you do.

The reason I cited the benchmark, and the reason I wrote it in the first place was to show the viability of the propagation algorithm. And indeed it shows it's a viable approach. In addition the test that runs the benchmark provides a useful setup for profiling and optimization. Maybe you don't care, but it's far from meaningless.
25 Jan, 2013, Kelvin wrote in the 169th comment:
Votes: 0
So now that we have all of Mudbytes in here vying for supremacy, do any of you want to share what makes up the minimum viable product for your respective games?
25 Jan, 2013, Rarva.Riendf wrote in the 170th comment:
Votes: 0
arendjr said:
With all due respect, Rarva, but you have no clue what you're talking about.

The only thing I do not have a clue about is how exactly your code is written. But propagating event is a pattern I am well aware off. Hence why unless you had screwed it, it is fast. (and is perfectly inline with a single loop, as all elements will only be hit exactly once)
25 Jan, 2013, quixadhal wrote in the 171st comment:
Votes: 0
One nice advantage of propagation is that you are future-proof against adding new listeners. In arendjr's case, he may currently use it for sight and sound, but if he adds radiation as an effect, his propagation code can already handle that and add the appropriate rad count to any living OR non-living things within the area… If you used my approach, you might need to add a new lookup vector, since for things like sight, sound, and smell, non-living objects wouldn't be affected. For radiation, you want objects to gradually become irradiated too, so they act as a contaminant if picked up and moved out of the radiation zone.

EDIT: Note that where this argument started, was in suggesting the use of a database. In a database, you don't need to add lookup vectors… you simply need to revise your query to include the appropriate types of things. Worst case is you need to add an index, but entering a one-line create index statement is much simpler than adding another link layer to code.
25 Jan, 2013, Rarva.Riendf wrote in the 172nd comment:
Votes: 0
Now I feel the urge to code a propagation mini engine so I can slowly put the whole mud in darkness or plague or whatever from a single source…like if I did not have anything else to finish…
25 Jan, 2013, Nathan wrote in the 173rd comment:
Votes: 0
Really a roomless mud isn't truly roomless. It combines a single "physical" room of near infinite size with a virtual room of sorts for each player, which might overlap with another player's virtual room forming a sort of meta room containing all players within a certain distance from each other.
25 Jan, 2013, Telgar wrote in the 174th comment:
Votes: 0
:lol:
Kelvin said:
It's funny, because this thread has diverged into exactly the kind of thing petty technical quibbling that my article warns against :)
25 Jan, 2013, KaVir wrote in the 175th comment:
Votes: 0
Nathan said:
Really a roomless mud isn't truly roomless. It combines a single "physical" room of near infinite size with a virtual room of sorts for each player, which might overlap with another player's virtual room forming a sort of meta room containing all players within a certain distance from each other.

That's like arguing that a classless mud isn't really classless, it's just that all characters belong to the same class, with a virtual class for each player representing their particular combination of skills. Or that levelless muds aren't really levelless, it's just that everyone is level 1, with a virtual level representing their particular skill levels.

Kelvin said:
It's funny, because this thread has diverged into exactly the kind of thing petty technical quibbling that my article warns against :)

QTF.
26 Jan, 2013, Ssolvarain wrote in the 176th comment:
Votes: 0
26 Jan, 2013, Kelvin wrote in the 177th comment:
Votes: 0
Yes, more of this! :)
26 Jan, 2013, Nathan wrote in the 178th comment:
Votes: 0
KaVir said:
Nathan said:
Really a roomless mud isn't truly roomless. It combines a single "physical" room of near infinite size with a virtual room of sorts for each player, which might overlap with another player's virtual room forming a sort of meta room containing all players within a certain distance from each other.

That's like arguing that a classless mud isn't really classless, it's just that all characters belong to the same class, with a virtual class for each player representing their particular combination of skills. Or that levelless muds aren't really levelless, it's just that everyone is level 1, with a virtual level representing their particular skill levels.

Kelvin said:
It's funny, because this thread has diverged into exactly the kind of thing petty technical quibbling that my article warns against :)

QTF.


Perhaps, but it really seem like a misnomer for a variation on a system, rather than the absence of it. If I could see the whole space and really was infinite (i.e. I can keep going indefinitely) then it would be roomless. I would think THAT would be pointless.
26 Jan, 2013, quixadhal wrote in the 179th comment:
Votes: 0
And yet, it's pretty trivial to make an infinite space, in either a room OR an roomless model, in which the user can just keep walking forever.
26 Jan, 2013, Scandum wrote in the 180th comment:
Votes: 0
Orrin said:
Perhaps not, although maybe you could argue that any graphical game using Hero Engine is room based ;)

This is actually fairly interesting and highlights the problem nobody really wants to address, the fact that there is no good general purpose dynamic description engine in existence.

Builders may want to restrict what information is rendered for a variety of reasons. A chest may get a special flag to get more or less attention in a dynamic description. But at this stage of the game we may as well talk about visiting the moon, as the chances of anything interesting being developed are almost non existent.
160.0/204