Quests in EQ2Emu
Moderator: Team Members
-
techguy84
- Posts: 187
- Joined: Wed Jul 25, 2007 4:56 pm
- Location: Qeynos Guard Shack
- Contact:
Masterfreek64, you just love your DLL's dont you lol. Dont get me wrong, im not knocking them. If they work, they work. The question surrounding my mind is, if something is chosen, it has to be something that can possible, maybe, be preformed by more than one person.
I see Power over Speed, as if you want something fast, you can get it, but down the road, you may regret it. The questing subsystem, from what I can see in EQ2 (with no prior knowledge) is very very complex. It just doesnt revolve aorund simple quest like Kill X Mob, Bring X Drop back, ect.. but more.
You definatley need something with versatility. But like I was saying, it has to be somehting that more than one person has knowledge upon and could do. One person writing all the quest cause we choses this method, vs 10 people doing it cause we chose that method.
I see Power over Speed, as if you want something fast, you can get it, but down the road, you may regret it. The questing subsystem, from what I can see in EQ2 (with no prior knowledge) is very very complex. It just doesnt revolve aorund simple quest like Kill X Mob, Bring X Drop back, ect.. but more.
You definatley need something with versatility. But like I was saying, it has to be somehting that more than one person has knowledge upon and could do. One person writing all the quest cause we choses this method, vs 10 people doing it cause we chose that method.
- John Adams
- Retired
- Posts: 9684
- Joined: Thu Jul 26, 2007 6:27 am
- EQ2Emu Server: EQ2Emulator Test Center
- Characters: John
- Location: Arizona
- Contact:
I agree fully. But I remember the first time I opened an EQEmu quest script (Perl, which I actually understood beforehand), and was still intimidated. Not with Perl, but with the command structures and now the World interpreted them, and passed information to and from those scripts. To me, this is where the confusion lies - not so much in what script language is used.Cadimiom wrote:Lua is a possibility.
We have to keep in mind that if we use a more complex scripting/programming language for quests we are going to be alienating some of the userbase.
But yeah, a compiled DLL might be a little too much for the average quest writer to comprehend.
-
EvilPotF
- Posts: 2
- Joined: Thu Nov 01, 2007 4:05 am
- Contact:
My coin :D
well, i'll vote for event driven too, since it holds lots of potential
furthermore it is strongly customizeable (since the quest can become quiet complex, as mentioned before)
but i don't think, that dlls are a bad idea, since it realy IS fast... but it probably won't be required for quests (a scripting language should be the way to go, since it doesn't need compiling at every change made. hope it doesn't become java, don't like that one
)
i would use them to "exclude" the way skills, tradeskills (magic too perhaps?) and stuff works, since it could be highly customicable and be quick to work (and one could customize the way the emu works without changing it's core code at all). the complexity for those could nearly be made infinit and customized fairly easy (could make a few realy nice custom effects for spells)
well, just my thoughts
Evil
furthermore it is strongly customizeable (since the quest can become quiet complex, as mentioned before)
but i don't think, that dlls are a bad idea, since it realy IS fast... but it probably won't be required for quests (a scripting language should be the way to go, since it doesn't need compiling at every change made. hope it doesn't become java, don't like that one
i would use them to "exclude" the way skills, tradeskills (magic too perhaps?) and stuff works, since it could be highly customicable and be quick to work (and one could customize the way the emu works without changing it's core code at all). the complexity for those could nearly be made infinit and customized fairly easy (could make a few realy nice custom effects for spells)
well, just my thoughts
Evil
-
masterfreek64
- Posts: 36
- Joined: Fri Aug 03, 2007 6:02 am
Event driven makes it TOTALLY easy to implement a CASD ( computer assisted software development)- a no line of code system ...
DOL has it to an extent , but we could do that better
Just add:
Hooked Events
What will happen on hooks
etc
In a dialogue. ...
easy...
and compiling the C code can be done with GCC no problem here
DOL has it to an extent , but we could do that better
Just add:
Hooked Events
What will happen on hooks
etc
In a dialogue. ...
easy...
and compiling the C code can be done with GCC no problem here
-
LethalEncounter
- Team: Zombie
- Posts: 2717
- Joined: Wed Jul 25, 2007 10:10 pm
I'm a little confused about your proposal. Did you intend to make a scripting language framework using the dll files and each one would add additional capabilities to the framework, or did you mean that every quest would be compiled as a separate DLL file? I think the first option would be the best way to go as once it is done quests can be added by any user without special training and I'm a little concerned about how many DLLs Windows would be able to juggle for a single process. It might be able to handle them all correctly, but when you are talking about thousands of quests and a DLL for each one it will add up quickly. Sure, you dont have to load each of them until requested, but I'm sure loading them on the fly would cause a delay not normally seen.
-
masterfreek64
- Posts: 36
- Joined: Fri Aug 03, 2007 6:02 am
-
masterfreek64
- Posts: 36
- Joined: Fri Aug 03, 2007 6:02 am
-
scotty2notty
- Posts: 9
- Joined: Tue Nov 13, 2007 1:06 pm
-
masterfreek64
- Posts: 36
- Joined: Fri Aug 03, 2007 6:02 am
-
Spooler
- Posts: 39
- Joined: Wed Aug 29, 2007 2:38 am
Just a thought but it seems we really neeed to outline the pro's and con's of LUA Vs .Dll (my vote goes to Dll) tehn make a new thread with a poll and these two things clearly outlined and let the people vote ... just a thought.
Edit,
I know there are other ways of writing quests there just the 2 most obvious choices imo.
Edit,
I know there are other ways of writing quests there just the 2 most obvious choices imo.
Can't wait for some private server Eq 2 action !!!
-
CrabClaw
- Retired
- Posts: 88
- Joined: Wed Aug 01, 2007 10:49 am
- Location: Seattle
Dll's aren't necessary for quests as they are really only run once every so often, DLLs are better suited for more timely run things like AI and such.
As a person who like to write quests LUA or something like it would be a better choice because, I wouldn't have to sit through a re-compile every time I tweak it. Which get very tedious and annoying.
As a person who like to write quests LUA or something like it would be a better choice because, I wouldn't have to sit through a re-compile every time I tweak it. Which get very tedious and annoying.
- alfa
- Team Member
- Posts: 550
- Joined: Fri Jul 27, 2007 6:24 pm
- Location: France
- Contact:
I think the best is to wait for LE decide how he want to code script / quest engine (because you need some script for quest).
Sure DLL have some advantage, and LUA too, but think the better way is let's Main dev (yes LE it is you:P) decide for my know in programmation LE is a very good coder so for sure he going to provide us the engine we need when time is come
Sure DLL have some advantage, and LUA too, but think the better way is let's Main dev (yes LE it is you:P) decide for my know in programmation LE is a very good coder so for sure he going to provide us the engine we need when time is come
Fight with me... Or die, like the rest.
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
J.A. say: "I think Xinux tried to tell me this, but I ignore most things he suggests."
-
Darq
- Posts: 5
- Joined: Sun Mar 02, 2008 5:18 am
scripts with a syntax similar to c/c++
embedded php (wait for zend core 6)
embedded perl
data storage in mysql
but how should quests be written, whats a good solution?
what types of quests and questupdates are there?
triggered spawn could look like
if player is within collision radius (or in radius a of location x y z) and is on quest (or queststep) questid and is on subquest subquestid, spawn spawngroup
how to implement data storage?
a main list of quests
quest
id name list_of_subquests(csv?)
subquests which are "quests"
id what_has_to_be_done (type?(delivery,kill,approach,craft etc) source destination racetype_to_be_killed itemtype_to_be_looted mob_to_be_killed absolute_itemid rewardid)
rewards
id type_of_reward (skill(s), item(s), money)
how will the script know when player entered a particular location?
how will it know if the player looted a particular item?
how will it know if an item is in the players inventory?
how will it know if a quest or subquest has been completed?
i guess what i mean to say is how will the server communicate with the script and the other way around?
which embedded scripting language offers the easiest or most simple way to do that?
constants should be stored in the database. something like if item 234234534 is in inventory isn't good. better if item robe_of_the_aimless is in inventory.
in know with php you can write extensions and export function into php, you can also return values to the program. downside there is little to no documentation about it.
i don't know about embperl lua python or other scripting languages.
and last but not least is the scripting language capable of being objectoriented? in php5 yes , also with public protected private methods and variables.
also i believe the server should provide /commands available to those with status(later). that way one could design a UI which could be openend for instance with /questdesigner
embedded php (wait for zend core 6)
embedded perl
data storage in mysql
but how should quests be written, whats a good solution?
what types of quests and questupdates are there?
triggered spawn could look like
if player is within collision radius (or in radius a of location x y z) and is on quest (or queststep) questid and is on subquest subquestid, spawn spawngroup
how to implement data storage?
a main list of quests
quest
id name list_of_subquests(csv?)
subquests which are "quests"
id what_has_to_be_done (type?(delivery,kill,approach,craft etc) source destination racetype_to_be_killed itemtype_to_be_looted mob_to_be_killed absolute_itemid rewardid)
rewards
id type_of_reward (skill(s), item(s), money)
how will the script know when player entered a particular location?
how will it know if the player looted a particular item?
how will it know if an item is in the players inventory?
how will it know if a quest or subquest has been completed?
i guess what i mean to say is how will the server communicate with the script and the other way around?
which embedded scripting language offers the easiest or most simple way to do that?
constants should be stored in the database. something like if item 234234534 is in inventory isn't good. better if item robe_of_the_aimless is in inventory.
in know with php you can write extensions and export function into php, you can also return values to the program. downside there is little to no documentation about it.
i don't know about embperl lua python or other scripting languages.
and last but not least is the scripting language capable of being objectoriented? in php5 yes , also with public protected private methods and variables.
also i believe the server should provide /commands available to those with status(later). that way one could design a UI which could be openend for instance with /questdesigner
Who is online
Users browsing this forum: No registered users and 0 guests