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 08-30-2008, 03:36 AM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default The Path of Chaos

At the moment, this is more of an idea than much anything else.

Everything's ready to go to start working on this idea, but I don't really want to work on it alone and everyone I've tried to work on it with has refused to learn the necessary thingies needed for it : P.

The Path of Chaos server is a very unique server compared to the other servers that have been up on EQEmu in the past. For one, it features a different combat system, a different spell system, and a system that allows you to map personalities to NPCs, store any type of data in the NPC, etc and keep it persistant.

This is all run through PERL.

Combat System:
The current design idea for this is to create a grid of NPCs within a zone that are well invisible but can be selected in a way. This is so that the player's movements can be tracked, their text can be tracked, and their clicking can be tracked. When you click, it'll select one of these invisible NPCs and then unselect it. It'll also check the direction you're facing and see if you were attempting to click a player. Looting corpses might be a bit different because of this system.

Over-all, with something like this, when you click, you'll be able to swing your sword in the direction you clicked based on the sword's cooldown. Right click would control the item in your right hand, left click the item in your left hand, and well, yea. From here, you could be in regular mode (for chatting, considering, etc), and combat mode (which will auto swing your sword and so forth when you click), and you can be in ranged mode (which will fire your bow in the direction you clicked). Now, in this way, you can dodge attacks and you can block attacks. If you're within a quadrant that's being attacked, you have a small amount of time to defend against that attack with some sort of parry or block. With parries, you need to be much more accurate, with a shield, it'll block a set of points. Hopefully, with this grid it'll be able to detect the arc of an attack and so on : ).

Actual damage is done by the Grid NPCs.

Spell System:
Now, remember our grid? Well, we can use this grid with our spell system as well.

Let's say there are only a few spell gems in the entire game and these mark the different types of spells (conjuration, abjuration, etc). When you use a spell gem thing, that initiates the spell and is an instant cast. From there, you utter any incantations that are needed, you form any circles and so on through your movements, and you cast the spell. You also form a spell circle if it's needed. The actual spell casting will be cast by the Grid NPCs. They will find the spell you are casting based on what you are doing with incantations and so forth and cast it for you and link you to the spell.

Now, with summoning you can get something like the weak mage summoning the powerful demon. You can also get uncontained spells through sloppy spell circles (you actually circle around, and based on how perfect your circle is, your spell circle is stronger).

The Soul:
In this server, every player would start out first in the tutorial area of course (a custom zone), and then in the spirit world based on their initial soul type. You can either choose to have a soul or choose not to have a soul. If you have a soul, then when you die, you only have a set amount of time to get revived otherwise you lose all of your levels, your character, and so forth. Now, with souls, there are 3 types of death, the regular death where you need to get revived asap, the rebirth death which increases your soul power but you still have to restart your physical character, and the soul death, which actually kills your soul and would only happen with very special types of baddies.

Now, with revivals, there are two types of revivals... the clerical revival and the necromatic revival. Necromatic revivals launch you into a hellish world while the necromancer controls your corpse. When you escape the hellish world, you go back into your body and you can fight the necromancer or run away before he kills you and reanimates you. With things like this, you can see how the player population might outlaw necromancy because of how cruel and bitter most of the necromatic powers are. Yes, the players will have full control of the cities, and so forth. It'll be a free world, and when they create a law, they will have to enforce that law.

Now back to souls. Souls will either be a lighter side or a darker side. If you have no soul then you just auto revive at your respawn point. Now to souls again. In the spirit world there are 3 places you can start out. The place for dark souls, the place for light souls, and the place for people without souls. You may choose initially what type of soul you have, and then based on your actions and so forth, your soul will either get darker or lighter. Your soul's map is one factor to how effective your spells and abilities are.

Soul Weapons:
Soul Weapons are weapons that have souls imbued into them. These souls can be player souls as well (remember that third type of death from super baddies?). From here, you can rebirth the spirit weapon as it grows in power. As it rebirths, it changes form constantly. This skill would be called Soul Forging. It's converting a weapon between a physical form and a spiritual form. Sometimes, a soul weapon will require a certain soul level of the player to be achieved... this means people without souls can't use soul weapons because they don't have the ability to master the soul of that weapon. Your soul must always be stronger than the soul of the weapon(s) you are using or you will be overcome by it and it will attempt to kill you. This is just a very brief explanation, there is much more.

Classes:
There are no classes. Based on your race, your stats, and your soul, certain abilities will be more effective than others. As you level, you will get points to spend on going up in different tiers and to spend on spells/abilities from those tiers. This means you can't master everything in the game : ). It will require very strategic building. You may only be able to go all the way up in 2-3 tier. If you're too narrow in this, you'll be easy to kill as you won't have a wide variety of tools at your disposal. If you're too wide, you'll be weak at everything.

The Path of the Game:
The game isn't all about fighting. You may choose any path you want from a shopkeeper to a politician to an adventurer to a bandit to a wandering merchant etc.

The Game Stages:
The game goes from stage to stage like a timeline. These stages are pushed forward through world events. Based on what happens, you'll go on to a certain stage. Let's say you're at stage 1 and you end up going to Stage 2D (the fourth possible stage 2). When you reach the final stage, the world rebirths and starts over : ). So far, there are 3 very massive incredible large scale epic stages set up.

War:
In the game, you will be able to build keeps and so on. You can also set up guilds, armies, and what not. You can also join an army or whatever and go up in rank. Based on your rank, yuo'll be able to lead a certain number of NPCs with a certain level : P. The higher you are, the more influence you have over a battle. When you take over the main camp of your enemy, you pretty much win. One of the horrid and evil forces in the game are the forces of Heknar. Heknar dwells within the realms of chaos. He's pretty much the enemy to all things on the planet. When you first start the game, you can start out to start under Heknar if you want. You can really start out anywhere in the game. Based on your soul map, the path you chose will either be easier or harder because your soul map determines how NPCs initially react to you. Each NPC will be handcrafted, will have memories, a past, hopes, a personality map, and hopefully some decent AI for conversation (I have ideas about putting some sort of dictionary into the NPCs and I have an idea of how to let them learn, add accents, and so on).


Now back to war. There are 3 main types of keeps. A Weapons Depot, Supply Depot, and Barracks. These each have different specializations. Now, with keeps, you may expand them by adding new floors to them which increases the overall production rates of the keeps, you may build new keeps, and you may take over or destroy old keeps. Now, what I'm probably going to end up doing is using a large set of custom models to do this ;o. A very large set ...

Now, I have not gone over everything that the server will have. Also, keep in mind that this is an idea at the moment. I know how to do all of this and I can do it, it would just take... a very long time ><, and I def don't want to do it on my own.

Why am I wanting to make this? Because this is almost my dream MMO that I would just love to play every day. That's why : P. And nobody will make it so I need to do it : ). It features a better combat system than most modern MMOs with such a basic back-design to it -.-. I really don't see why MMOs today don't do this stuff yet...

Now, I'm not sure if I'm going to do it yet or not. I have done some programming for it so far, some zone building, and I have a pretty nice textures library at the moment. I also have an exe designer for giving people files and giving them default files so they can restore their directory.

I also don't really use things like quest::setglobal... and currently, the functions in PERL that were designed by the eqemulator community are missing some key triggers that I would need to design some of this.

Oh well : ). Thoughts? Just about every zone in the server would be *custom* built btw. I don't really see any of the regular EQ zones that'd work for a lot of this : (. I could use some of them if I modified them, but that'd be bad : P.

Currently, I can give GMs access to the zone files, quest files, patch files, and the Database. The GMs can do the work they need to do.. if they'd learn how -.-.

But yea, what do you guys think?
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #2  
Old 08-30-2008, 04:25 AM
Ueguvil
Hill Giant
 
Join Date: Mar 2004
Posts: 139
Default

Sounds like you should be modding a different game. I don't think very many of these things you're proposing are realistic, worth it, or even possible, but I could be wrong.

http://www.eqemulator.net/forums/showthread.php?t=15781

I just hope you try to set your sights a little more realistically this time lol.
Reply With Quote
  #3  
Old 08-30-2008, 12:50 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

I am. Initial release will probably have about 20 zones.

And if you read the designs, you'll see how I figured out how to do some of this stuff. I actually know how to do it... and I can really do it all through PERL ><.

And like I said, I'm just missing a couple of crucial triggers in PERL. I could teach myself C++ and add them in myself : P, but I would rather have the devs do it : P.

I can still do it without these triggers and I do have back-up designs, but.. I'd rather not because I dislike those designs.. a lot ><.

And as I said, I might not do this because I really don't want to do it alone. I can build the zones, I can program the systems... I can't do the models, but I can sure collect some free models and use the texture library I got to texture them.

Well, actually I'm missing a crucial function too : P. quest::spawnobject or w/e : ). The only back-up design I have for that is taking out the ability to build keeps and expand them and just pre-place the keeps myself : (.

And you can store persistent data tables in PERL.. that's how I can do this. From there I can retrieve the information in any NPC and use it. I can also retrieve modules to instruct the NPC on how to use that data. From here, I use my damage formulas and what not and make the NPC do the damage or do w/e : ). I've replaced combat systems before in other games where people said it couldn't be done -.-... it's really not hard as long as you can store persistent data and use it.

Oh well.. and that other server was a flop because I didn't have a public static IP back then. Now I do so I can host ^_^.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #4  
Old 08-30-2008, 12:58 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Couldn't edit the post >: (

Also, as I said before, there was a lot I left out, like dungeons in the spirit world. Every dungeon has unique obstacles etc =/=. Patrolling traps (if you run into it you instantly die), stuff like that, so some dungeons will require timing and so on to get through. And with this replaced combat system, you can have very very custom battles on each NPC...

Now, the only thing I would deem hard and very time consuming would be mapping out each NPCs personality... I know how to do it, I thought it up one night. I even figured out how to make it form up sentences and so forth and read sentences so you could actually talk to an NPC like a real person... I figure once I get the initial system done it'll be easier to create each NPC, but it'll still be very time consuming based on how detailed I make the system =/=. This would be the thing that took the long time. The other systems are pretty quick and easy but this one.... I'd pretty much have to import a table that held the dictionary in it and from there limit what words each NPC knew and from there make it so NPCs could learn new words and make it so new data could be added to the dictionary and so on and so on : o. Then I'd have to put in some grammar... and based on the thought, the culture, accents, and personality, the NPC would pick words and form a sentence -.-. This is why this would be pretty ambitious... and if I did it right, the NPC could grow like a real person... their personality could change based on the events around them. I really really want to do this, but this is one of the things that is very iffy because it really would take such a long time ><.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #5  
Old 08-30-2008, 01:20 PM
Ueguvil
Hill Giant
 
Join Date: Mar 2004
Posts: 139
Default

Ok, I'm pretty sure you still don't have any clue what you are talking about.
Reply With Quote
  #6  
Old 08-30-2008, 03:04 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

When it comes to the PERL programming, I really do. When it comes to getting custom models into the game, I can do objects, but I'm unsure about characters because I haven't tried that yet. Custom textures is pretty easy.

I've programmed some of the interfaces for the server so far... I've set up a few tables that are I think 7 dimensional right now. There's no trigger for checking when a player casts a spell within range.. there's no trigger for checking when a player selects or considers an NPC. There's no function for creating objects.. These are the things I'm missing at the moment, and like I said, I have back-up designs that will work without these but I'd rather do my initial design.

Also, with my current design on the tables, you don't need if statements for things like sub EVENT_SAY. All you need is subroutine($text).

I've also successfully created persistent tables and sent them to various NPCs that had nothing to do with each other -.-. I've created a small portion of the intro zone. I've created some of the basic interface system that GMs will use to build. I've really done quite a bit.. I haven't done thought mapping yet, but I know how I'm going to do it... and like I said, it's long, hard, and I get a headache whenever I think about it.

I really do know what I'm talking about... *sighs*. I put this up here for thoughts on the ideas, maybe for feedback. I really dislike having to argue as to whether or not this is possible. I wouldn't have posted this if it wasn't possible... 4 years ago when I posted that first server idea, I would have come to learn that adding new zones to EverQuest was impossible without hacking the client. I did figure out a way to do cinematics in EverQuest. Now, the only thing I'm not sure I can do right now is add new character models to EverQuest because I'm not sure if it's hard coded into the client or not. Right now it looks like it is because it doesn't appear to be in the database. But.. I know I can add object models to EverQuest, just not character models, and if you look above, I did not mention adding character models to EverQuest. I said *object* models. Now, as to spawning these models in-game, I'd imagine you'd have to access the physical file because these aren't referred to with IDs like character models are. So it is possible to spawn it in-game, but it'd be easier to add it in through other methods.

How do I know it's possible? Because a few years back we added in new objects to the crushbone zone, well, my old team way back then. I didn't do it, the guy in charge of the database did it : ). I know how to though -.-.

So please don't tell me what is and isn't possible. One of the main things I do is come up with ingenious ideas and designs to do things that through normal methods couldn't be done. Now, right now I don't know C++, but I learned most of PERL in about an hour and I've looked over C++ and it doesn't seem that hard. I'm sure I can learn all of the structures within an hour.. as for function calls, that's a dif story ><. So if I have to create the new trigger events for the PERL script, I can. I'm sure it's possible because there are already triggers in place for when you click something, right click something, and cast a spell. I'm not sure about checking spells within range though, but... it doesn't have to be within a range, I can just as easily collect the coords of the player, collect the points around the player, and so on. = ). I can also easily collect the heading of the player, collect custom data from the player's table concerning their custom weapon range (sword length, range of an arrow and so on) this way I can send damage to certain points. If a monster is along all of those points, they'll receive maximum damage (a very direct hit) if it's something like a melee weapon. I can also just as easily create a dummy unit with an arrow model (well, not sure because this would require either a character model or an object model) and send it along a set of points and destroy it when it impacts another unit (using within range). As long as units have the same name, they will automatically load up the PERL files when they are spawned. You don't have to reload quests when the quests are already loaded for a specific name.

So please stop telling me I can't do it because I seriously can -.-. It's like people in another community who told me that it was impossible to encrypt data beyond the compression rate that the base allows. Mathematically, it is impossible, but when you combine this with statistics, then you'll have certain instances than compress further than normal and certain instances that don't. From here, you rearrange your data so that more often than not, you have the instances that compress further than normal, this way only in very rare cases will you compress less than the base allows. Not sure if you caught me there : P, but eh. My whole thing is coming up with ideas and coming up with ways to make these ideas actual possibilities. I actually know how to make AI, but like I keep saying, it'd be insane with the programming languages we have today, and that's why people are developing the new quantum computers that work off of 0s, 1s, and 2s. If you don't even know about this, don't rag on and say I don't know what I'm talking about. The current binary language is pretty outdated -.-, and frankly I can't wait for these new computers to be finished.

Ok, I'm done... and hopefully I won't hear anyone ragging on about stuff I'm proposing being impossible. Even adding new zones isn't impossible, that's just illegal : P because the zone tables are hard coded into the client ^_-. Scorpius2k let me know that and I tested it out ; D.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #7  
Old 08-30-2008, 05:22 PM
Ueguvil
Hill Giant
 
Join Date: Mar 2004
Posts: 139
Default

Lol...


good luck.
Reply With Quote
  #8  
Old 08-30-2008, 10:28 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Thank you very much : )
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #9  
Old 08-31-2008, 12:09 AM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

ZAMGZ... the only way to load custom models and so on into EQ is through a a .s3d that's name as an EQ Zone. You can't load from any custom named .s3d file. To make matters worse, the only way to force load an object is to load it through the global load area : o. If you're going to be adding in new models for objects, you might as well load normal EQ models in through the .s3d files >: (.... and modify them out for your server.. and this means this might be illegal to release files like this because we're not sure if it's legal or not yet. Of course, we could release files with different names and instruct the players what to name them. That'd be really.. dumb, but legal.. ><... at the least, a lot of servers would be on a very bad side of Sony.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #10  
Old 08-31-2008, 01:43 AM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Nvm... it's 100% legal to release .s3d files with the same names as EQ Zones..

= )

I came up with this answer on my own tx

If you disagree with me, research copyright law.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
Reply With Quote
  #11  
Old 08-31-2008, 04:50 AM
Z.Wylde
Sarnak
 
Join Date: Feb 2004
Location: Sailing Across the Ocean
Posts: 46
Default

You are on crack!
Reply With Quote
  #12  
Old 08-31-2008, 05:52 AM
trevius's Avatar
trevius
Developer
 
Join Date: Aug 2006
Location: USA
Posts: 5,946
Default

Why the sudden flood of posts from member that joined in 2004? lol

Either way, there is no reason for the negativity in this thread. Yes, Deimos' idea sounds like a crazy one, but that's no excuse for negative comments. Constructive criticism is just fine, but "you are on crack" is offensive and borderline flaming which is against forum rules. Try to keep it friendly, please.

Personally, to me, it seems like this whole idea would be better suited for another game engine. The idea sounds interesting and I don't doubt Deimos' Perl skills, but there would be so much required to get this working and there are so many issues that are hard coded into the client that anything that deviates this much from original EQ would probably be better off using something like the Torque engine or something. Being limited because you don't have the source code of the client would probably be regretted later on.

I personally don't think that the legal issues are as cut and dry as they may seem either. With a company that big, you might as well be walking on needles with everything you do.

Deimos, you have obviously put a ton of time and thought into this. And, your menu system for NPCs sounds interesting. I am sure that if you were looking to make something more EQ based that you could really help the project out quite a bit. But, your ideas are so far from what EQ is that you would have to do some serious work-arounds or cheats to get the client to do many things it isn't already pre-defined to do. It could probably be done, but with a project on the scale you are considering, you might want to take a look at Simple Client, or Torque, or some other MMO engine out there. You really need something that you can control the server as well as the client and have access to the source code of each. Yes, alot can be done with perl, but it certainly isn't the most efficient way to do everything. And, it looks like you are already finding some of the limitations of the client. I think this is what the other 2 guys were trying to say, accept not nearly in as nice or detailed of a way.
__________________
Trevazar/Trevius Owner of: Storm Haven
Everquest Emulator FAQ (Frequently Asked Questions) - Read It!
Reply With Quote
  #13  
Old 08-31-2008, 02:09 PM
Cripp's Avatar
Cripp
Discordant
 
Join Date: Oct 2003
Location: The Shire
Posts: 474
Default

Quote:
Originally Posted by trevius View Post
Why the sudden flood of posts from member that joined in 2004? lol
LOL i noticed that too.. weird huh



Quote:
Originally Posted by Ueguvil
Ok, I'm pretty sure you still don't have any clue what you are talking about
LAWLZ




anyways.. GL!

muaha

ps: I might be able to help u make some extra perl functions.. depends tho.. shrug.. let me know.
__________________
Nug Blazers - ServerOP / founder
^^comming... later!

www.nugblazers.com
Reply With Quote
  #14  
Old 08-31-2008, 04:04 PM
Deimos
Hill Giant
 
Join Date: Jun 2004
Posts: 135
Default

Well, I don't need access to the actual data for a lot of this. I create the data myself, store it in hash/array tables, and store these into files. From here any NPC can access these files at any time. In this way, as long as I have something that can deal damage, I can create my own damage formulas using this data. When it comes to creating new types of items, I can do that right now as long as I run that through the NPC. As for the combat system, the only possible way to do that is to create events that will track when a player clicks an NPC, from there you create an invisible NPC grid, you'll also need a sub routine that will force the player to auto de-select the NPC. After that, you make that NPC, or if the clicking is globally checked across the zone, you make the root NPC load up that player's table stored in a file named after the Player ID. From here, you retrieve things like the range of the weapon, cooldown, etc, whatever data you want. You can literally create weapons to any degree of customization with this. After that, check the player's last attack time and compare that with the weapon's cooldown to see if they can attack. From here, make them do the attack animation and damage the NPC that's within range of that weapon by collecting the player's coordinates, getting the player's heading, moving forward x, y, and z based on the heading and range, and from here collecting NPC IDs and or Player IDs along this path, which would require yet another sub routine = ). At this point, you use the not yet made sub routine quest::damage based on how direct the attack is ;o (in other words how much of the NPC is within the line of attack). To do this you can use the NPC coordinates and you can define a new data type for NPCs which determines the dimensions of an NPC : ), which is pretty easy to do : ).

Now, this is just an initial design for the combat system and this is the only way I can think of doing it right now. It's not hard placing all of the NPCs.. I can use a simple loop, but it's not that great of a design compared to what I'd rather do.. If it were possible to detect whenever the player just clicked and to detect where they clicked, then well, that'd be a lot better -.-. Also, I'd rather not do this in PERL.

Now, as for the system for allowing players to build cities and so on, that's pretty easy to do in EQ and that doesn't really do anything so far from the game's capabilities. The real things that go so far out are the combat system and spell system, but I think these would enhance the game a lot =).

Now, I'm a little worried about creating invisible NPC grids... I'd have to remove some of the collision ;o. And like I said before, the thought mapping of NPCs is insanely time consuming..

As for the rest, it can be done. Lately I've been collecting a large amount of high quality models to decorate zones -\- because while it's not illegal to release an s3d file with the same name as an EQ zone because it's not copyrighted as a trademark by them and you are not allowed to copyright a name, it is illegal to release any form of art create by someone, and releasing .s3d files with or even using EQ made models, textures, and or sound files would be in violation of copyright law.

Now, I do know how to do Objects in EQ and Items.. but I know it's not possible to replace character models because these are coded into the EQ Client.

The reason why I don't just make a new game is because I first want to test out these ideas, and the fastest way to test out ideas and come up with new ideas is through an already made game. I was away for a few years on wc3 come up with a lot of these designs I came back with.
__________________
//The Path of Chaos Server-
//Fate Industries
//Lots of stuff O-o
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 08:16 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