Go Back   EQEmulator Home > EQEmulator Forums > Development > Development::Feature Requests

Development::Feature Requests Post suggestions/feature requests here.

Reply
 
Thread Tools Display Modes
  #16  
Old 08-28-2008, 12:07 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Spawn conditions would take care of what LDoN dungeons do, which is to spawn a certain set of mobs (levels) based on certain conditions. The only real hard part is creating copies of all the mobs needed, including different levels, stats, etc, then interconnecting all of it. I think that's the main reason there isn't much happening with them. However, once you have the spawn conditions configured, you can trigger them using quest::spawn_condition(). Example:

Code:
sub EVENT_SAY {
	if ($text~=/Hail/i) {
		quest::say("Do you want to start a [task]?");
	}
	elsif ($text~=/task/i) {
		quest::spawn_condition("raja", 1, $Group->GetHighestLevel()); # spawn condition id of 1 equals whatever the highest member's level is in the group, which is what level range everything should be tuned for
		quest::say("Have fun!");
		quest::zone("raja");
	}
}
One of the nice things about the spawn2 table is that the respawn timers use the spawn conditions. For example, the max level character in the group is level 50 and every mob in the instance (minus some roamers?) have a respawn time of 2 hours (how long the instance stays opened?). If you enter the zone with a max level of 49, all of the mobs spawned for 49 would spawn on their own timers. If you rezoned with max level of 50, they would still be carrying the respawn timers (the remainder of the 2 hours).

I have a feeling that zone instancing can be done using something like spawn conditions. I know for a fact you can run 2 of the same zone by zoning into a dynamic version, then booting up a static version without zoning. The problem then becomes determining what should or shouldn't be done in an instance vs a regular version, how do you create entry to an instanced zone, and what is the best way to make any zone instanced if you want to (for custom servers).

Kinda rambling & thinking out loud, I would think that instances could be based on groups, raids, and guilds. The type could then be defined in the zone table as an additional column, possibly inst_type (0 = normal, 1 = group instance, 2 = raid instance, 3 = guild instance). Then, if someone attempts to zone into one of those zones, and they meet the requirements (are in a group/raid/guild, have X amount of people in the group/raid), they zone successfully. If not, return false.

Anyway, just some thoughts...
__________________
GM-Impossible of 'A work in progress'
A non-legit PEQ DB server
How to create your own non-legit server

My Contributions to the Wiki
Reply With Quote
  #17  
Old 08-28-2008, 01:27 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Just to make a note about it, since it was mentioned; the reason that people had to wait to get the kind of adventure type they wanted was because SOE set a minimum time between how often you could request adventures. This is so people would either have to do the random adventure they gave them, or they would be forced to wait until they were lucky enough to get the one that they wanted. Otherwise, people would all just be doing the same ones over and over again. Having a minimum time to wait meant that each type they had created would be used instead of just the favorite or easiest/quickest ones.

Those are the only times I ever remember waiting at all for LDoNs. Of course, for the emulator, I think that we could potentially set it up to be done without any instancing and not have to worry much about running out of room for players. If we did that, then all we would need to do is get the adventure system working and set it to chose the first available zone in the zone list for that particular theme. We wouldn't need to worry about spawn timers or anything, because everything would still work like normal zones.

I think the progress towards getting the task system done could probably have most of it applied towards getting LDoN adventures working.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #18  
Old 08-29-2008, 02:44 AM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default Zone Instancing

Well I think I have a starting point for the code portion
Zone\zone.cpp
Zone\zonedb.cpp

and maybe

Zone\zoning.cpp

I am still trying to understand alot of the code in here but it is late so I am headed to bed.
Just thought I would post the code location incase someone else was looking for it.

If I am off on where the code needs editing please let me know.
Reply With Quote
  #19  
Old 08-31-2008, 10:56 AM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

Well after looking through the code this is definitely out of my league. Though here is what I think needs to occur for zone instancing to work.

Add a UniqueID to field to the zone table that increments for every zone, including ones that are added.

Add a InstanceZoneType field to the zone table.
0 = Not a instance capable of being instanced
1 = A zone capable of being instanced that is for only one player
2 = A zone capable of being instanced that is for a group
3 = A zone capable of being instanced that is for a raid

Add a InstanceZoneFlag field to the character_ table

When the players InstanceZoneFlag field is set the server will need to create a new entry in the Zone table by copying all of the information from the zone’s entry that matches the short_name.

When a zone is started the server checks to see if that zone’s InstanceZoneType is greater then zero
If not the server goes about the zone loading as normal
If it is the server gets the zoning players character_.InstanceZoneFlag
The server then checks to see if a Zone.UniqueID matches that player’s InstanceZoneFlag
If it does then the zone is loaded and the player is sent to that zone based on the Zone.UniqueID

Sorry, if this post makes no sense. I was up all night looking through the source code trying to figure it out.
Reply With Quote
  #20  
Old 08-31-2008, 11:09 AM
Rocker8956
Hill Giant
 
Join Date: Sep 2007
Posts: 117
Default

Forgot to mention the new zone entry would need to be given a unique zoneidnumber. Since the source code seems to track most things through the zoneidnumber.

It is possible the instanced zone could then be loaded based on that ZoneIdNumber instead of the Zone.UniqueID.
Reply With Quote
  #21  
Old 09-17-2008, 12:59 PM
Kagatob
Sarnak
 
Join Date: Sep 2008
Location: New England
Posts: 39
Default

I don't know if this is the correct thread to post this in, but the question I've been asking myself as of late, is do you really want to add any kind of instancing to EQ EMU at all? Even the largest servers only have around 150 people on them at peak times, and their communities, while thriving now, are certainly fragile with such a small (when compared to live) player base.
Instancing is certainly not good for those types of communities as not being in normal zones helping and interacting with each other you would start to get the WoW effect on the community.
If you've never played WoW ask someone who does, this question.
"Besides in the auction hall, when was the last time you've talked to someone outside of your guild?"

Just my 2 cp.
Reply With Quote
  #22  
Old 09-17-2008, 01:13 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

even on 50 men server instancign has its uses.
for exmaple i like to have Time B to be only doable once a week. (to enforce item rarity), but this means that only 1 raid total can ever do it. and if server has say 5 guilds - you not gona see your turn in in less than a month.

if i increse Time repop rate by once a day - which ever guild plays at earlier hours- can do Time EVERY DAY, and then you never gona get a chance to raid it, until every single twink and their dog in their guild has every single drop

thats where instancing comes in friendly. each guild can have their own once a week run

WHile i myself prefer to keep loot zones contested, when it comes to doign quest/progression raids -repop timers suck when you have to wait a week to do a progression flagging
Reply With Quote
  #23  
Old 09-17-2008, 01:17 PM
Kagatob
Sarnak
 
Join Date: Sep 2008
Location: New England
Posts: 39
Default

Quote:
Originally Posted by ChaosSlayer View Post
even on 50 men server instancign has its uses.
for exmaple i like to have Time B to be only doable once a week. (to enforce item rarity), but this means that only 1 raid total can ever do it. and if server has say 5 guilds - you not gona see your turn in in less than a month.

if i increse Time repop rate by once a day - which ever guild plays at earlier hours- can do Time EVERY DAY, and then you never gona get a chance to raid it, until every single twink and their dog in their guild has every single drop

thats where instancing comes in friendly. each guild can have their own once a week run

WHile i myself prefer to keep loot zones contested, when it comes to doign quest/progression raids -repop timers suck when you have to wait a week to do a progression flagging
I can understand that for progression and big events like PoTime, I was talking more about people grinding their AAs, Leveling and spending 90% of their time in said instances to do such things. When LDoN released on live, the decrease in community was palpable.
Besides, who says you can't simply inforce that everyone who is able to go to Time gets a chance just by saying, ok you had your shot, next guild please.
Reply With Quote
  #24  
Old 09-17-2008, 01:28 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by Kagatob View Post
I can understand that for progression and big events like PoTime, I was talking more about people grinding their AAs, Leveling and spending 90% of their time in said instances to do such things. When LDoN released on live, the decrease in community was palpable.
Besides, who says you can't simply inforce that everyone who is able to go to Time gets a chance just by saying, ok you had your shot, next guild please.
actualy LDON when first released brought more people togther than any other EQ feature =)
simple cuase it given people tool to easily find group to XP and get garanteed rewards via time invested=points earned system (since eq before that UTERLY sucked on loot specialy for non raiders)

Important point to note that myself I don't see a need for instancing at low levels. Instancing would be used for most group quest/raid purposes, where you woudl do the dungeon, get to the end, kill the boss, and get an option to try an ultra-hard sub-level. Now this kind of thing should be instanced

As far as raid rotation go - that don't realy works very well on small servers.
Did not worked very well on live either. When my guild was coming up on elementals and VT we faced a situation where 5 upper guilds who were at that level for a while (over a year) looked at us and said "who said you can come and raid here? Yeah we a rotation but that does not mean we let you into it". And there simply nothing you could do about it, but pick up a scraps

When Time B was on rotation it was a nightmare, europian guilds would on regular bases storm in early in the morning, wipe it clean, and there is nothign you can do to stop them since in US no one raids till 6-9pm
And same thing would repeat every week
Reply With Quote
  #25  
Old 09-17-2008, 01:37 PM
Kagatob
Sarnak
 
Join Date: Sep 2008
Location: New England
Posts: 39
Default

Quote:
Originally Posted by ChaosSlayer View Post
actualy LDON when first released brought more people togther than any other EQ feature =)
simple cuase it given people tool to easily find group to XP and get garanteed rewards via time invested=points earned system (since eq before that UTERLY sucked on loot specialy for non raiders)
This is completely untrue, half of the entire existing EQ player base left between LDON and GoD. I felt these effects because I wasn't one of them, though in retrospect I wish I was because that year and a half that I kept playing was the worst experience I've ever had in EQ.

Quote:
Originally Posted by ChaosSlayer View Post
Important point to note that myself I don't see a need for instancing at low levels. Instancing would be used for most group quest/raid purposes, where you woudl do the dungeon, get to the end, kill the boss, and get an option to try an ultra-hard sub-level. Now this kind of thing should be instanced

As far as raid rotation go - that don't realy works very well on small servers.
Did not worked very well on live either. When my guild was coming up on elementals and VT we faced a situation where 5 upper guilds who were at that level for a while (over a year) looked at us and said "who said you can come and raid here? Yeah we a rotation but that does not mean we let you into it". And there simply nothing you could do about it, but pick up a scraps

When Time B was on rotation it was a nightmare, europian guilds would on regular bases storm in early in the morning, wipe it clean, and there is nothign you can do to stop them since in US no one raids till 6-9pm
And same thing would repeat every week
When I said rotation I meant developer/GM enforced rotation, not discussion between the guilds.
Reply With Quote
  #26  
Old 09-17-2008, 02:31 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by Kagatob View Post
This is completely untrue, half of the entire existing EQ player base left between LDON and GoD. I felt these effects because I wasn't one of them, though in retrospect I wish I was because that year and a half that I kept playing was the worst experience I've ever had in EQ.
.
umm i totaly disagree. LDOn is when casual player gaming was on its climax. It was easiest time in my 5 years with eq to find a casual XP/loot group in under 15 min wihout having to run across the world just to get soemwhere and have group fall appart 15 min later.
People started leaving after Eq2/WoW was realesed year later. Eq1 droped 50% in population during October/November 2004

Quote:
When I said rotation I meant developer/GM enforced rotation, not discussion between the guilds.
well thats up to a server gm, but I would hate to the one to continusly have to listen to 1 guild accusing another of rotation violation, traning, ks, leap froging, etc on dayly bases. There gona be 2 dozens people saying one thing and 2 dozens people saying the opposite.

I much rather stick them into instance than to sit and enforce play nice policy 24/7
Reply With Quote
  #27  
Old 09-17-2008, 02:42 PM
MNWatchdog
Hill Giant
 
Join Date: Feb 2006
Posts: 179
Default

Quote:
Originally Posted by Kagatob View Post
This is completely untrue, half of the entire existing EQ player base left between LDON and GoD. I felt these effects because I wasn't one of them, though in retrospect I wish I was because that year and a half that I kept playing was the worst experience I've ever had in EQ.



When I said rotation I meant developer/GM enforced rotation, not discussion between the guilds.
They left not because of LDON, they left because of the constant needing to key up to access parts of the server you payed for, but couldn't get into UNLESS you were in a uber guild and happened to be on at the right time(s) to get keyed.

You miss a night and everyone progresses without you for days or weeks without you.

Sure, you could slip a FEW unkeyed people in the keyed zones, but if you happen to not get there early enough or a needed class shows, you sat around on your ass.

Then there's the 72 person raid/zone limits. You gotta have large guild sizes to be have reliable numbers to raid, but then there's nights when everyone logs on and again, you sit on your ass excluded.

It's one of the reasons I quit. I got tired of sitting out while the rest of my guild raided.
Reply With Quote
  #28  
Old 09-17-2008, 03:42 PM
Andrew80k
Dragon
 
Join Date: Feb 2007
Posts: 659
Default

Quote:
Originally Posted by MNWatchdog View Post
They left not because of LDON, they left because of the constant needing to key up to access parts of the server you payed for, but couldn't get into UNLESS you were in a uber guild and happened to be on at the right time(s) to get keyed.

You miss a night and everyone progresses without you for days or weeks without you.

Sure, you could slip a FEW unkeyed people in the keyed zones, but if you happen to not get there early enough or a needed class shows, you sat around on your ass.

Then there's the 72 person raid/zone limits. You gotta have large guild sizes to be have reliable numbers to raid, but then there's nights when everyone logs on and again, you sit on your ass excluded.

It's one of the reasons I quit. I got tired of sitting out while the rest of my guild raided.
Totally agree. LDoN was great and I spent lots of time there. And most folks that I played with liked it as well. Problem was GoD. It was TERRIBLE. Poorly implemented and the zones were so much more difficult and the itemization was awful. It took me forever to get a good enough group together to get Qvic access because you had to have the right group it seemed like. It wasn't much fun. Of course EQ2 and WoW came out that was sort of the perfect storm and people left in droves.
Reply With Quote
  #29  
Old 09-17-2008, 05:13 PM
ChaosSlayer
Demi-God
 
Join Date: May 2007
Posts: 1,032
Default

Quote:
Originally Posted by Andrew80k View Post
Totally agree. LDoN was great and I spent lots of time there. And most folks that I played with liked it as well. Problem was GoD. It was TERRIBLE. Poorly implemented and the zones were so much more difficult and the itemization was awful. It took me forever to get a good enough group together to get Qvic access because you had to have the right group it seemed like. It wasn't much fun. Of course EQ2 and WoW came out that was sort of the perfect storm and people left in droves.
I honestly liked GoD =)
I liked the theme and the thrill
The problem was that content and DIFICULY was designed with lev 70 in mind
The dev group that was handling content was not aware till very last moment that there is no level cap increase planed

As result GoD monsters (past Qumini) were all dumped down 5 level to become 62-70 instead of 67-75, but they all retained their insane hp and insane dps, so taking 5 levels off wasn't much of a fix at all

Raiding there of course was out of the quetsion for my guild - to go past Qumini you need to be allready WELL Elementaly geared, and we were rigth about stack at Ralos Zek =)

OoW tried to fix the gaps in GoD essentialy and win peopel back with epics 1.5 and 2.0, but then Eq2/WoW hit liek a truck and thats prety much where fun has ended
Reply With Quote
  #30  
Old 09-17-2008, 05:29 PM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

I think the thing that is being overlooked is that instancing in the emulator is just 1 more feature that can be used by admins to make cool new things. Anything that adds more options and variety to the emulator is a good thing. Sure, instancing every zone isn't really a good idea in the emulator, but having the option to do so is nice. I can already imagine a couple of great reasons to have instancing in the emu. One would be for end zones that are overpopulated. On custom servers, quality content takes a while to create, so some zones may be too over-saturated with players. Not only does this cause way too much competition between players, but it can also cause performance issues. At least on my server, if there are more than 20 players all raiding a zone at once, it risks a zone crash. I have seen as many as 30 in a zone, but it crashed after a short time. With instancing, you could set a cap on the zones for how many people can be in them (in the zones table) and then create new instances where needed. Another use for instancing would be for zones that are designed for a max number of 1 to 6 players or so. If a raid would trivialize the content, then you might use this type of limiting. With instancing, you could potentially still allow others to play in that zone without having to wait in line for the people currently in there to leave.

I am actually working on a new player limited and time limited zone access script for a zone on my server. I will post it in the custom section when it is all done. I don't plan to use instancing for it just yet, but it is really cool to know that the option is there. I don't think instancing should be used as widely as it was in EQ2 or anything, but I do think it will be a nice option to the emulator. And, I love having options

Oh, and I quit live around that same era. Though, my reason for quiting was due to almost all of the best guildies I had played with for years were gone. Also, I didn't like the fact that I had to work my ass off for like 10 hours every day for maybe 2 or 3 pieces of loot per month. Progression that slow is just ridiculous. And just when you start to get caught up to where you feel uber again, they release another expansion and make all of your hard earned gear obsolete.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!

Last edited by trevius; 09-18-2008 at 01:33 AM..
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 07:50 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3