Go Back   EQEmulator Home > EQEmulator Forums > General > General::Server Discussion

General::Server Discussion Discussion about emulator servers.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 09-21-2008, 06:34 PM
gierkep85
Fire Beetle
 
Join Date: Sep 2008
Location: China
Posts: 7
Default Dynamic Servers

Are there any dynamic servers where through a raiding force players could actually change the dominant faction of a city. IE: One race conquering another city and thus making it a human settlement and then through some coding the race that originated there would default to an allied city. Obviously this would be hell for certain class related quests and such. With that exception I would imagine (from my very basic knowledge) that guards could be defined by variables instead of values. And then those variable could be linked to a table of conquests changing depending on which group conquers which city. Then speaking to a certain NPC in say city A could trigger some sort of mini-quest that could activate a target in city B (say general of some city) that a raid force originated in another city would be told to assassinate. Or maybe even giving guilds power to control cities. Im just bored and it was a thought. I always thought that games would be much cooler if it was dynamic like this, and if written properly once, i would think it could run infinitely with no intervention after launching.

Obviously there would have to be defaults for major quest NPCs that could put them in hiding places or outside city guard limits under the circumstances that a major paladin guild city was conquered by trolls or something.

Same thoughts could go for:
Guilds having faction with cities
Default alliances being dissolved and having players redefining intercity relationships and factions. (Dwarves and High Elves start as default enemy factions or the like)

Im far from a developer and just bored. Feel free to ignore. Just thought quests only ever resulting in changing a single characters items or faction or whatever was silly. Grand scheme seems to be cooler.
Reply With Quote
  #2  
Old 09-22-2008, 12:49 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

I was doing some quest coding for moydock, creator of Pandemic (a good vs evil type of PvP, still in alpha I believe), a while back, although I'm not really sure if something like this was ever going to be incorporated. It's very doable using spawn conditions and would create very dynamic gameplay.
__________________
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
  #3  
Old 09-22-2008, 02:36 AM
gierkep85
Fire Beetle
 
Join Date: Sep 2008
Location: China
Posts: 7
Default So...

Just curious. I studied C++ SQL Java, and some HTML. Obviously most of that serves no purpose in this scenario, but Im curious how hard some of you vets might think an intelligent person with a basic knowledge of computers but not so much networks. How much energy would getting something like this together take me?
Reply With Quote
  #4  
Old 09-22-2008, 10:56 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Imo, the hard part is going to be coming up with the ideas and setting up your spawns & NPCs, which is only hard because it's tedious. Honestly, I would start by installing a server, then start messing with it & see where you get. If you have any trouble, post here and someone will help you out. If it looks like it's going to be too complicated, then at least you know.
__________________
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
  #5  
Old 09-22-2008, 11:33 PM
kedra
Sarnak
 
Join Date: May 2007
Posts: 71
Default

I just briefly read your initial post, but I think I have the gist of what you're saying. I might be wrong, but I'm pretty sure all of that could be done pretty easily just using perl to update your database.

This is by no means the best way to do this, but it's just quick way off the top of my head.

For instance, in a two-faction world with multiple cities... let's say 3 good and 3 evil cities (You would have 'good' and 'evil' factions in your database)

You'd need to create some type of criteria for 'defeating' a city (ie. killing a boss mob or a certain percentage of NPCs)

Create a new table to keep track of contestable cities and the current ruling faction.

Lets say an evil faction defeats a good city. So update NPCtypes table so that all NPCs in defeated zone are now ogres on the evil faction. Update your new table so that the evil faction now owns the city. (It's late, I hope I'm not forgetting anything.)

I would set it up so that each faction has their own completely safe zone that they respawn in when they die, from that zone they can use an NPC to go to any city that their faction controls. So, potentially, one faction could capture all of the cities and the game would end as the other team could no longer leave their safe zone.

Wipe the server and start over

That actually sounds like a pretty neat idea. And again, I don't see any reason you couldn't do all of that with perl.

Personally, I'd couple it with arcade-type play (fast leveling, spell scribers maybe), but that's just a really rough brainstorm; there are probably a lot of problems I'm not seeing here. It's late :p

Seems like it would be a lot of fun if it was done right, though.
Reply With Quote
  #6  
Old 09-23-2008, 01:42 AM
AndMetal
Developer
 
Join Date: Mar 2007
Location: Ohio
Posts: 648
Default

Quote:
Originally Posted by kedra View Post
I just briefly read your initial post, but I think I have the gist of what you're saying. I might be wrong, but I'm pretty sure all of that could be done pretty easily just using perl to update your database.
Yes and no.

Quote:
Originally Posted by kedra View Post
You'd need to create some type of criteria for 'defeating' a city (ie. killing a boss mob or a certain percentage of NPCs)
That would be done using a quest (Perl).

Quote:
Originally Posted by kedra View Post
Create a new table to keep track of contestable cities and the current ruling faction.
No new table is needed, you would use a combination of quest globals & spawn conditions, triggered in the above mentioned quest:
Quote:
quest::spawn_condition(zone_short, condition_id, value); - uses variables in the spawn_conditions table for spawning, despawning chosen npc's in a given zone. See SampleQuests.
quest::InsertQuestGlobal(charid,npcid,zoneid,varna me,value,duration) - Creates a Quest Global variable.
quest::setglobal(varname,value,options,duration) - Sets a variable for the current quest mob. See Tark's post below. DEPRECATED: requires qglobal=1 in npc_type.
quest::targlobal(varname,value,duration,npcid,char id,zoneid) - Set a variable for any mob. See Tark's post below. DEPRECATED: requires qglobal=1 in target's npc_type.
quest::delglobal(varname) - delete a variable for the quest mob. See Tark's post below.
The Sample Quests actually has pretty much what you're trying to accomplish, just on a more limited scale.

Quote:
Originally Posted by kedra View Post
Lets say an evil faction defeats a good city. So update NPCtypes table so that all NPCs in defeated zone are now ogres on the evil faction. Update your new table so that the evil faction now owns the city. (It's late, I hope I'm not forgetting anything.)
This is actually already in the server code. Check out the spawn_conditions table in the Wiki.

Quote:
Originally Posted by kedra View Post
I would set it up so that each faction has their own completely safe zone that they respawn in when they die, from that zone they can use an NPC to go to any city that their faction controls. So, potentially, one faction could capture all of the cities and the game would end as the other team could no longer leave their safe zone.
I'm thinking the best way to handle this is to have 2 separate zones as essentially a graveyard. Or, maybe use the Bazaar, since it's basically separated into 2 halves. Then, just set everyone's starting bind point there (only differing depending on what side they choose) and either have NPCs to teleport to other zones or change some zone lines. That way, they can still go to the same spot after death, and can spawn without immediate fear of dying.
__________________
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
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 03:12 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