The scripting language is Python 2.7.2. Whether I continue with Python 2.7.2 or move to Python 3.2.x is a matter for consideration (just to be sure that Python doesn’t update away from what I want, you understand). Python is integrated in a way that would make it a terrible idea to swap out the dll or so file… sorry, but there are some changes that will happen that will be problematic, and I need to update too much.
I’m now porting a lot of my core code to Python, and adding binds for the core engine. Why? It makes my life easier, and exposes more of the game to modders.
What I’ve done since the last updated:
- Pushed Python into the engine, thrown out the V8 test code;
- Started scripting the first test AI for same-game concurrency;
- Started making room for additional features (a mixture of DLC and free updates);
- Started contemplating how per-achievement code can be realised through Python binds (seems to be quite easy);
- Read a bit about binding boost::Python in LibRocket to enable direct UI to game code binding (to bypass a whole host of internal nightmares) — and seriously considered it!;
- Moved more and more of the base engine to conceptual Python for modders;
- Added modding launch support to the CLI (which will remain disabled until I iron out the remaining bugs).
So a day on, this is what I hope modders will get from the game:
- The ability to edit the UI’s look, feel, including images, positions, etc. (except for the system render location, which will remain in the middle — sorry);
- The ability to edit commands (by writing wrappers in Python and executing them in the UI);
- The ability to edit, delete, update, tweak, every core aspect of the experience (including buildings, tech trees/research, resources), but not game modes (i.e. excluding planet counts in a system, and game modes, which are too heavy in calculation and update);
- The ability to add local achievements for the mod you’re creating (but not modify the core achievements, which remain locked down, if all goes well).
This should make it fairly easy for modders to sink their teeth into a different kind of game, but at the moment it’s still wishful thinking.