Jump to content

Making MaNGOS more beginner-friendly


shlainn

Recommended Posts

It seems I am Saljas english voice now ;) original post here: http://getmangos.eu/bb/topic/528/mangos-freundlicher-fuer-benutzer-machen/

I would like to share some of my thoughts about MaNGOS with you.

MaNGOS is not what it used to be. Many things have changed over the years, and not always in a good direction. To breathe some new life into MaNGOS I think it is time to talk about what we can do to make it easier for new people to get into MaNGOS and make a meaningful contribution to the community.

These are my ideas:

mangLua - a Lua Engine for MaNGOS. IMHO this only has advantages:

-- People without any knowledge of c++ can create simple Lua scripts as an entry point to the MaNGOS world

-- New people can contribute to MaNGOS - and get the warm fuzzy feeling of having given something back to MaNGOS.

-- As an optional extension, Lua scripting does not interfere with existing systems. It is up to the users to take it or leave it.

-- Lua can provide more flexibility than DB scripting

These are just some possibilites for which Lua could be used. One can think of a lot more.

Add ScriptDev2 into the core repository.

This is merely a convenience measure. The functional advantages are negligible. It is just less confusing for new users not having to look in several different places for bits and pieces to create a working server. This change would also add the SD2 tables into the world/mangos database and updates would be combined to further streamline the installation process.

CMake System [Shlainn: for Windows]

Overhauling the CMake system to make it work for all operating systems, so that VC solution files can be dropped and would be created by CMake automagically.

DB Scripting (EventAI)

EventAI is a great system. Yet, some functions are missing to make it more flexible and powerful. Here, we could go the Trinity way and develop a new system from scratch, or overhaul and polish what we have to fit our needs. But what is most important is to create a good documentation to help the learning process of scripting newbs.

So, these are my thoughts on what could be done to improve the MaNGOS experience for new and old users. Of course this can only work if some people help, because it is too much to do alone. [Shlainn: and it's more fun to do it together :P]

Please tell us what you think - or maybe, if you want, start a project right away!!!

Link to comment
Share on other sites

Greetings it's nice and i'd like to say few thing about that D:

MangLua idea is great but ArcEmu is already using it and it's their unique thing you know, so instead of Lua how about using Python ? it's as nice as Lua and nobody implemented it yet :D

Addsing SD2 into mangos would be nice, really nice.

Cmake system, wondering if we really need it.

EventAI,improving it can't hurt mangos !

so you totally have my support for everything

Link to comment
Share on other sites

Greetings it's nice and i'd like to say few thing about that D:

MangLua idea is great but ArcEmu is already using it and it's their unique thing you know, so instead of Lua how about using Python ? it's as nice as Lua and nobody implemented it yet :D

Addsing SD2 into mangos would be nice, really nice.

Cmake system, wondering if we really need it.

EventAI,improving it can't hurt mangos !

so you totally have my support for everything

xD The best from Arcemu is the Lua Engine =) Python is a option we can then ask the people what they want.

ScriptDev2 to Core i think make much easyer

CMake not needed xD i think its big needed mangos have not good cmake support and over cmake we can create vc files so i think its needed and drop the shit vc files from project.

EventAI then comes to the conclusion

PS: We have startet mangLua Engine for MaNGOSOne https://github.com/mangLua if anyone can help please PM me.

it is still very much the beginning of the development, it is still nothing

Link to comment
Share on other sites

If you're proposing a Lua scripting engine for EventAI, then would that not be replacing ScriptDev2? So why bother with adding SD2 to the core?

There have been several past attempts to create a Lua plugin for EventAI, but none succeeded. I'm sure a lot of that had to do with lack of commitment more than any technical issues.

The biggest reasons SD2 decided upon C++ scripting was for better precision and a unified coding language with the core. Their argument is that C++ scripts are more powerful, allowing a skilled coder to do things you just can't do with stock Lua. Even Blizzard used a heavily modified Lua to get the funtionality they wanted.

Python may be a better choice. It is much more popular and has decades of support and libraries, plus, it has features Lua lacks. Although, Lua is so popular with game companies because it can be so easily modified and expanded.

Right now, all anyone needs to know is C++ for the core and instance scripts and SQL for the database and mob scripts. This proposal would add a third language requirement.

Still, if it can be done, then go for it. Diversity breeds a richer world. I just hope we don't end up with something that is only a load of ported Arcemu scripts.

Link to comment
Share on other sites

seems be easier to keeep way is and maby start doing some basic c++ lesson in mangos university.to get ppl intersted in learning c++ and contribute to mangos.if any thing it get them started then point to where they get further materials to learn c++.they plent of books on and ofline out. there.u prob do same with db

Link to comment
Share on other sites

Angelscript has a hard memory management, as it follows C++. Python is better than Lua, I reckon and is best option in this case. However C++ code can be arranged in an Engine to refactor it's style and level of sophistication into a simple way of scripting code. This will keep things simple, for both newbies and developers, it is fastest in comparison to the option of having other language to handle additional scripts and last but not least it is much more easy to develop and integrate. I guess that is my opinion for the additional scripting.

On all other cases I'm completely agreed. Cmake for Windows is important! SD2 into core = good option now a days, it was good as it is, out of core when it was 2006/8 ... Now it's not. Expanding eventAI is great idea, in my personal opinion it even may completely kill the need of any new engine to core for scripting and/or additional scripting language.

Link to comment
Share on other sites

You know, this is all nice and shiny, but there is one problem: If you want stuff, you must do stuff. I personally would love to see an event-driven javascript engine based on Chrome V8 in MaNGOS, so you can do stuff like

npc.onHPLow() { RunAwayAndHeal()}

or

npc.onEnemyStartCast(){ castInterrupt(); }

. But, my skill is not high enough to implement it myself, I am not wealthy enough to pay someone to do it for me, so I start working towards the one or the other.

We are trying to evolve this community towards a direction where it is no longer about just emulating wow and fixing broken spells, but about understanding and creating a MMORPG server suite and its tools.

Salja has suggested some things he is currently interested in working on. Suggesting another scripting language without pointing out any clear advantages over the proposed one (except personal preference) is not helping the topic at hand, unless you are willing to implement it.

Just because a name has a "Developer" tag does not mean he is here to fulfill the crowds wishes. We are all doing this in our free time, as a hobby. Do not waste that free time - one can easily find hobbies which do not do that. :)

Link to comment
Share on other sites

  • 4 months later...

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use