I am one of several developers of the UniMod (GitHub, project description on Russian) and I have offer for you.
First of all - sorry for my awkward English. I don't have much active skill's practice in everyday life.
The original UniMod have several serious problems inherited from the first stages of development. I will outline they but will not immerse in great detail.
- All Lua code is absolutely insecure and unprotected. There is no way to guarantee that some code will not crash game. Indeed, code from one map can break code in another map. Undefined behaviour as it is.
- As one special case of the problem marked above: user interacts with objects via light userdata (in fact - raw pointer). Consequently, for Lua all game objects have no particular type. It is not only inconvenience for developers and users but also the major source of crash and errors.
- In the process of development was not used any of Lua wrappers. Code related to Lua part is totally unreadable.
- There was no goal we pursued in the process of development. All UniMod is - bunch of weakly related fancy features. Yes, you can do cool thing, but is difficult to do more.
I have to confess - it will be not first attempt to renew UniMod. I made one already (but it was around three years ago). You can notice strange branch on the GitHub page of the UniMod - UniMod2. There are some reasons why project abandoned: something important happened in my life, and I do not very like disassembling. But we can use my experience from both projects!
Next, I describe key important features (under spoiler) that must be in some form in the new UniMod - UniMod3. I think this description can paint image what is new UniMod can be and inspire you for actions. Or may be you will point on some crucial flaws.
Spoiler: show
I will be glad to any help, you suggestions or anything. But that is my particular favourite list.
- Nox disassembling. It's boring for me, and I not very good in this. There was somewhere good IDA database with a LOT of researches. I hope that I find it, because my own version disappeared. UPD1: Found one! Greate thanks to KirConjurer!
- C++ developer.
- If there will be team.. Em... More than three person - way of development organisation will become important. I used to work with some task managers (Mantis, Redmine) but never configured it.
- May be someone know how in others game Lua scripting systems implemented? It will be interesting to ask about some details.
I want to formulate some goals for version 1.0 of UniMod3. It will be very nice if we can reach this, because it will mean that we have good instrument for scripting and base for move in any direction we want to.
Version 1.0 goals
- Code hierarchy levels as described above. May be without mod-script.
- Full userdata for most objects in game. And under minimum functionality I mean what you can do with original scripting system
- ?Functionality for servers?
- Map from original solo game, where all scripts implemented using UniMod3!
How to contact me?
You can post in this topic. Or you can write me email: Darkclainer@gmail.com
When and if people come - we choose communication method.