The Great Apple
Big Cheese
Locutus said:Too busy with Warlords to work on this, but a few pointers from someone who has some experience with this (i.e. worked on the CtP2 project):
1) Only do in C++ what must be done in C++, do as much in Python/XML as possible. Adding new hooks into the game engine for Python/XML is better than doing everything in the SDK.
2) Providing losts of new hooks for modmakers is a good idea anyway, even if you don't have any immediate need for using it, under the motto "build it and they will come" (or use it, as the case may be).
3) People have very widely differing ideas on what constitutes 'improvement', use INI switches/game options for all changes you make (aside from obvious bug fixes/performance boosters). Then again, you also don't want to go overboard and overload the user with options, that'll just scare people off and makes it less likely people will use your mod in MP (the more options there are the harder it is to find people who want to play on the same settings as you). You may want to consider making 2 or 3 different standard versions with varying degrees of changes.
4) AI coding is HARD. Test everything you change very extensively to make sure it's actually an improvement.
5) Get a SVN server.
6) Document your changes very, very well. When Warlords comes out, you'll have one hell of a time updating the SDK for that to be compatible with what you're doing here until then. Also, it makes it easier for Firaxians to copy your stuff should they want to
7) Good luck!
Source: http://apolyton.net/forums/showthread.php?postid=4377373#post4377373