I have been playing ToME the past couple of months and have so far having a blast. For me there seemed to be a few missing classes in my opinion. Since I complaining about the lack of more exotic classes I figured I would try to make my own. However I have little experience with lua (have plenty in c# and java) and was wondering where to start.
some questions where :
What devolving environment should I use (is notepad ++ fine)
What convention should I use (how pervasive should comments be)
How to test the balance of classes
What are common pitfalls
will I have to edit other files than talents and birth
More Specific question will be probably be asked as they show up. Any other advice or tip will be welcomed
Creating a new player class??
Moderator: Moderator
Creating a new player class??
Those who complain are just Volunteering to fix the problem
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
<yufra> every vault designer should ask themselves exactly that: What Would Grey Do?
Re: Creating a new player class??
First off, good luck! Second, you may want to start haunting the IRC channel to chat with other developers and experienced players. There are some wiki pages on wiki.te4.org, but they don't seem to be working correctly right now.
In regards to your specific questions, Notepad++ is fine for editing Lua. There are no official conventions for the code, but I suggest familiarizing yourself with how other classes/talents/effects/etc are set up and using a similar style to increase readability. Comments are of course welcome, and if you find things that are not commented well feel free to point them out to help pave the way for future developers, too.
I don't know what type of class you have in mind, but the construction of a class typically involves the designing of talents, corresponding timed effects, the birther (the easiest part actually), and finally adding to the ToME core any specific stuff that cannot be handled completely through the above things. For example the mindslayer's shields had to be added to the damage projector code.
I would not worry too much about the classes balance initially, first get the class running and start play-testing it. Most of the classes already in the game are still in the process of balancing, and class-to-class balance is not actually one of the current goals of ToME so you don't need to worry about that either.
Common pitfalls... I don't know. There are some eccentricities of Lua that may surprise you coming from C# and Java, for example you will never get a variable does not exist since everything is simply a nil (or NULL) until defined and that can cause head-scratching when you simply have a typo. Things specific to T-Engine... I don't think so but then again I have been hacking at the code for a while. I would definitely enable cheat mode so that you can access the Lua console and the Debug dialog to allow quick testing and some in-game debugging.
In regards to your specific questions, Notepad++ is fine for editing Lua. There are no official conventions for the code, but I suggest familiarizing yourself with how other classes/talents/effects/etc are set up and using a similar style to increase readability. Comments are of course welcome, and if you find things that are not commented well feel free to point them out to help pave the way for future developers, too.
I don't know what type of class you have in mind, but the construction of a class typically involves the designing of talents, corresponding timed effects, the birther (the easiest part actually), and finally adding to the ToME core any specific stuff that cannot be handled completely through the above things. For example the mindslayer's shields had to be added to the damage projector code.
I would not worry too much about the classes balance initially, first get the class running and start play-testing it. Most of the classes already in the game are still in the process of balancing, and class-to-class balance is not actually one of the current goals of ToME so you don't need to worry about that either.
Common pitfalls... I don't know. There are some eccentricities of Lua that may surprise you coming from C# and Java, for example you will never get a variable does not exist since everything is simply a nil (or NULL) until defined and that can cause head-scratching when you simply have a typo. Things specific to T-Engine... I don't think so but then again I have been hacking at the code for a while. I would definitely enable cheat mode so that you can access the Lua console and the Debug dialog to allow quick testing and some in-game debugging.
<DarkGod> lets say it's intended