Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to verify your details, confirm your email, resolve issues, making threats, or asking for money, are
spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the
password reset link.
Due to spam on this forum, all posts now need moderator approval.
Entire forum
➜ MUDs
➜ General
➜ Instances in a mud ??!!??
Instances in a mud ??!!??
|
It is now over 60 days since the last post. This thread is closed.
Refresh page
Posted by
| Dextermovies
(65 posts) Bio
|
Date
| Wed 10 Feb 2010 08:21 PM (UTC) |
Message
| Right I am using The Beast within codes base, which I got from unifex. I was wondering is there a code bases that uses instances ( like in wow ) or would I have to write the system my self ? If so where would I start ? I am a newb coder :(
Any help here is greatly appreciated.
~Josh | Top |
|
Posted by
| Rash
United Kingdom (56 posts) Bio
|
Date
| Reply #1 on Wed 10 Feb 2010 08:36 PM (UTC) |
Message
| I've never really seen an instance system in a mud. Although it would be a nice idea having private instances for players to run through. Would love to see if someone has came up with the system for a code-base already or has some ideas on it for muds.
I imagine you could have it load an area up and clone it for each player/group that wanted to enter it.
There are a LOT of problems however I can see with this. One been how to check if the players group and allow them access, saving the status of the area should the players leave and decide to come back later (Which mobiles are dead etc...) even cloning an area and making it unique (Thinking of Smaugs VNUMs here).
Tal
(Just some thoughts on the subject) | Top |
|
Posted by
| Twisol
USA (2,257 posts) Bio
|
Date
| Reply #2 on Wed 10 Feb 2010 08:40 PM (UTC) |
Message
| I believe Aetolia (an IRE MUD) just recently implemented instances. I don't play, but they announced it in the IRE newsletter, apparently the Black Keep in Azdun. |
'Soludra' on Achaea
Blog: http://jonathan.com/
GitHub: http://github.com/Twisol | Top |
|
Posted by
| Nick Gammon
Australia (23,140 posts) Bio
Forum Administrator |
Date
| Reply #3 on Wed 10 Feb 2010 08:59 PM (UTC) |
Message
| If the MUD doesn't have them already, it would be a big job, even for an experienced coder.
One approach would be to assign an instance number to each player (with 0 being "no instance") and then if you are in a room only show other players who have the same instance number. You would also need to only show items on the ground with the same instance number. And mobs. And when you repop mobs you would need to check which instance a dead mob is in. And then when you say or emote, it should only be seen by players in the same instance.
And that system doesn't allow for how to know you have left the instanced part and gone back to the non-instanced part (maybe for repairs) and then go back into the instanced part.
It could be done - anything can be done - but depending on the existing code, which you would need to know intimately, and your coding experience, it might take a long, long time. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Rash
United Kingdom (56 posts) Bio
|
Date
| Reply #4 on Wed 10 Feb 2010 09:28 PM (UTC) |
Message
|
Nick Gammon said:
One approach would be to assign an instance number to each player (with 0 being "no instance") and then if you are in a room only show other players who have the same instance number. You would also need to only show items on the ground with the same instance number. And mobs. And when you repop mobs you would need to check which instance a dead mob is in. And then when you say or emote, it should only be seen by players in the same instance.
And that system doesn't allow for how to know you have left the instanced part and gone back to the non-instanced part (maybe for repairs) and then go back into the instanced part.
That seems like a good way to tackle instances although imagine if 10 people hit and instance separately, that would mean your popping 10 instances of each mob that may have complicated mprogs attached to them. As the player base grows and the usage of instances do, so would the game cpu/memory requirements would could be a problem down the line.
This actually may be possible with a lot of thought and careful planning. | Top |
|
Posted by
| Nick Gammon
Australia (23,140 posts) Bio
Forum Administrator |
Date
| Reply #5 on Wed 10 Feb 2010 09:57 PM (UTC) |
Message
| You raise an interesting point. The moment an instance is created (eg. a player or group enters it) then the extra mobs and items on the ground will need to be created. Then at some future point (which may not be obvious to determine) they will need to be removed. That point could be when they all leave the instance, but that might be too soon, if they immediately go back in.
And if a player, previously grouped, leaves the group and enters the instance again, that probably requires a new instance to be created. |
- Nick Gammon
www.gammon.com.au, www.mushclient.com | Top |
|
Posted by
| Rash
United Kingdom (56 posts) Bio
|
Date
| Reply #6 on Thu 11 Feb 2010 03:43 PM (UTC) |
Message
| Possibly a way to work this could be to clone the instance from an 'original' area so that way each instance has a reference to work from. Each clone can be assigned a unique vnum range for each instance as well as a instance number much like what Nick mentioned above. You would need to have an empty vnum range permanently available for this reason.
This way each instance will have the right amount of mobs, objects etc in it (all with an instance number attached). So when and if a reset is required (More likely it wont be) you can make sure that each instance been handled separately.
There are naturally issues with this, one been mprogs/oprogs and rprogs using vnums from the 'original' instance so you would need to find a way to modify each prog to use that instance's unique range or something similar to that.
The only glaring problem other than the one above is how to handle closing the instance should the players leave it. I think that a timer would be best. Start the timer when the player(s) enter and they have that long to complete the instance. If the time end's when they are out of the instance, then it closes (i.e. delete the clone). If they are still in then you can either kick em out to the instance entrance or extend the timer over and over until they leave and then close the instance clone.
A timer allows them to leave and re-enter any number of times so long as there's time left. You could even use a timer to lock the instance from them so to stop them from doing it over and again (Could be important if there is rare equipment or lots of gold/xp to gained from doing so).
Anyway, some more thoughts to muse over. | Top |
|
Posted by
| Dextermovies
(65 posts) Bio
|
Date
| Reply #7 on Thu 11 Feb 2010 11:48 PM (UTC) |
Message
| I found a code base that offers instances, how ever it is written in java and I know nothing about java. Coffeemud.
Thanks for the info guys
~Josh | Top |
|
The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).
To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.
22,188 views.
It is now over 60 days since the last post. This thread is closed.
Refresh page
top