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

Development::Development Forum for development topics and for those interested in EQEMu development. (Not a support forum)

Reply
 
Thread Tools Display Modes
  #1  
Old 02-07-2013, 10:53 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

there are at least a few of us that are VERY interested. some of us just spend loads of time reading and poking around with things while we're learning about them instead of commenting or asking questions.

as far as how the perl interfaces to c++ are implemented, i couldn't agree more. there are a number of functions that could be consolidated, expanded upon, moved, or just corrected.

for example... the functionality of Mob::EntityVariableExists, Mob::GetEntityVariable, and Mob::SetEntityVariable could be combined into Mob::EntityVariable(evName, [evValue]), and it would be assumed that we wanted to return the value (evValue) of the variable name (evName) if no value was passed. there are tons of other things like that and and the ones you covered that i've been puttering around with to see what i can come up with on my personal server.

i also realize that once things are implemented and used a bit, it's difficult to want to change them for everyone because of migration issues. do you leave the old code in there for a while until people get a chance to move it, or you just yank it out unceremoniously?
__________________
I muck about @ The Forge.
say(rand 99>49?'try '.('0x'.join '',map{unpack 'H*',chr rand 256}1..2):'incoherent nonsense')while our $Noport=1;
Reply With Quote
  #2  
Old 02-07-2013, 11:15 AM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

Quote:
Originally Posted by c0ncrete View Post
there are at least a few of us that are VERY interested. some of us just spend loads of time reading and poking around with things while we're learning about them instead of commenting or asking questions.
Quoted for truth.
Reply With Quote
  #3  
Old 02-18-2013, 11:59 PM
addingice
Sarnak
 
Join Date: Jan 2013
Location: United States
Posts: 33
Default On github?

Do you have this lua variant on github? I would love to pull this from you.
Reply With Quote
  #4  
Old 02-19-2013, 12:10 AM
Zaela_S
Hill Giant
 
Join Date: Jun 2012
Posts: 216
Default

I'm in the process of re-writing everything to be cleaner, better organized, more compatible (the itemdb in particular I need to redo so that it'll be easier to convert directly to and from SQL) and have better error checking. I still need to learn the basics of Git too. But I do hope to get a test branch up somewhere while I work on it, hopefully not too long from now.
Reply With Quote
  #5  
Old 02-19-2013, 03:14 PM
addingice
Sarnak
 
Join Date: Jan 2013
Location: United States
Posts: 33
Default Lua vs Perl / MySql

Pros of Lua vs Perl:
  1. Smaller footprint, memory and cpu wise.
  2. Can be distributed with the code base.
  3. Removes an outside dependency.
  4. Popular among game enthusiasts.
  5. If it's used to replace Perl & MySQL then we also have the option of creating 'eq server in a box' linux distribution with a great deal less headache since it's only the server to deal with and not the server and sql issues.
  6. Item look up side can become far more dynamic for the custom users. Easy set bonuses, for example.
  7. Lua to c interface is far simpler and cleaner. Means that whole interfacing point could become much cleaner for scripter's. Examples where shown in the thread. Could lead to a standard library for EQ Lua scripts since it's far simpler to reuse.
  8. Some tools might be easier to write since we can reuse much of the lua script code directly into the tools themselves. This is difficult to do with Perl as it stands.

Cons of Lua vs Perl:
  1. Switching systems means we have people who need to learn Lua who all ready know Perl.
  2. Perl has a huge number of packages all ready made (may not be relevant considering our current uses).
  3. need to rewrite many of the current quests to use Lua.
  4. Some will not switch since they have a large number of custom scripts.
  5. Under some conditions the Lua GC can become finicky. (rare but can happen, usually just a set gc level change at the global scope)

Pro's of Lua vs MySQL:
  1. Imperative as well as Declarative for those who want more dynamic content behavior or are used to imperative but not declarative systems.
  2. A chance to clean up the item table and other components since it's getting a little....crazy? yeah. crazy.
  3. Lua embedding is just as supported as SQL in almost all cases.
  4. Easy starting out for modders / content creators. All that is required is a text editor.

Con's of Lua vs MySQL:
  1. SQL is a very common language. Many developers know it. Lua? not as much.
  2. Thousands of SQL tools out there.
  3. very very very easy to do global modifications in SQL, may not (but doesn't have to be) easy to do this in Lua, depends on implementation.

What else am I missing? I'll edit as I people add.
Reply With Quote
  #6  
Old 02-19-2013, 03:45 PM
orionsun
Banned
 
Join Date: May 2009
Location: USA
Posts: 22
Default

Quote:
I'll edit as I people add.
Welcome to the forums, let us know how that works out for you.
Reply With Quote
  #7  
Old 05-21-2013, 04:06 PM
Astal
Hill Giant
 
Join Date: Mar 2010
Posts: 236
Default

Quote:
Originally Posted by addingice View Post
Pros of Lua vs Perl:
  1. Smaller footprint, memory and cpu wise.
  2. Can be distributed with the code base.
  3. Removes an outside dependency.
  4. Popular among game enthusiasts.
  5. If it's used to replace Perl & MySQL then we also have the option of creating 'eq server in a box' linux distribution with a great deal less headache since it's only the server to deal with and not the server and sql issues.
  6. Item look up side can become far more dynamic for the custom users. Easy set bonuses, for example.
  7. Lua to c interface is far simpler and cleaner. Means that whole interfacing point could become much cleaner for scripter's. Examples where shown in the thread. Could lead to a standard library for EQ Lua scripts since it's far simpler to reuse.
  8. Some tools might be easier to write since we can reuse much of the lua script code directly into the tools themselves. This is difficult to do with Perl as it stands.

Cons of Lua vs Perl:
  1. Switching systems means we have people who need to learn Lua who all ready know Perl.
  2. Perl has a huge number of packages all ready made (may not be relevant considering our current uses).
  3. need to rewrite many of the current quests to use Lua.
  4. Some will not switch since they have a large number of custom scripts.
  5. Under some conditions the Lua GC can become finicky. (rare but can happen, usually just a set gc level change at the global scope)

Pro's of Lua vs MySQL:
  1. Imperative as well as Declarative for those who want more dynamic content behavior or are used to imperative but not declarative systems.
  2. A chance to clean up the item table and other components since it's getting a little....crazy? yeah. crazy.
  3. Lua embedding is just as supported as SQL in almost all cases.
  4. Easy starting out for modders / content creators. All that is required is a text editor.

Con's of Lua vs MySQL:
  1. SQL is a very common language. Many developers know it. Lua? not as much.
  2. Thousands of SQL tools out there.
  3. very very very easy to do global modifications in SQL, may not (but doesn't have to be) easy to do this in Lua, depends on implementation.

What else am I missing? I'll edit as I people add.
Very nice, i was gonna ask this. Now I Know, my brain farted when he said switch from a DB to LUA i was like how will that work?
Reply With Quote
  #8  
Old 06-04-2013, 09:37 PM
Wolftousen
Sarnak
 
Join Date: Apr 2008
Posts: 49
Default

Awesome, great to hear that Lua is of interest in the community and among the devs. Out of all the languages I know, I use lua for my personal projects 90% of the time and for work whenever I can get away with it.

However, I would highly recommend using LuaJIT over basic Lua. As noted in the pros/cons list, Lua GC does have some iffy scenarios that LuaJIT fixes. LuaJIT also makes the c/c++ binding far easier once you grasp the ffi library. It's also very hard for other scripting languages to beat it's performance.
Reply With Quote
Reply

Thread Tools
Display Modes

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 12:47 AM.


 

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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3