Sometime after July 4th we expect to have the Elemental modding beta. Modding isn’t something that we plan to work X weeks on and then finish. Rather, the modding budget involves full time Stardock developers assigned to it for the next 18 months.
The modding beta will comprise making available the core tools that modding will need. Namely:
- Making your own maps
- Making your own creatures
- Making your own items
- Making your own buildings
- Making your own conversations
- Packaging and sharing your mods within the game with others
This, however, is only phase 1 of modding. Our current strategy for modding will be to work with active modders to see what sorts of things they need us to expose to modding that we haven’t thought of.
The way things will be exposed (as previously mentioned) will be via Python and XML. It will be through Python and XML that players will be able to make their own AI, change the economics and balance and eventually create their own games.
I’ve mentioned in past that I plan to take time off after Elemental ships to focus on modding on my own time. I plan to use Elemental to make other games that I’d give away to others to help build up the mod ecosystem and help learn first hand what sorts of engine APIs need to be exposed. Temple of Apshai and an Ultima IV-style game are things that would be on my list.
The above is a video of Ultima IV. I am no artist so I would probably stick with that “style” of graphics.
I would imagine other modders would use Elemental to make a literal Master of Magic style remake or what have you.
Is Modding hard?
It depends on how much you want to do. The key tools are included with Elemental. The ability to make a map/level and then load it from your mod and load additional maps/levels in your mod and go back makes it relatively easy for someone to make “dungeons” or have cities be a simple icon that when they go into expands into a full blown city.
The character edtior is obviously a major part as well since you will want to be able to create people and save them.
If you look in your documents\my games\elemental\units you can see your units right there. There is an icons sub directory where the art for your unit is generated as a .PNG.
This unit is one I made and is just saved as a .PNG that you can use.
And of course, the item and building editors are very important since you’ll want to create your treasures and weapons and rings and potions and what not along with your castles and shops and whatever else.
How does Python and XML fit in?
We picked Python because it’s the modern-age version of BASIC. When my generation learned programming, we did it in BASIC. Nowadays, it’s ridiculous how much work it takes to get up and going with programming. I tried to get my son into programming and quickly realized that it’s far too much work to do anything.
With Python you get a very easy interpretative language. Easy to learn. By exposing APIs from Kumquat (our game engine that includes the 3D graphics rendering) people can quickly put “stuff” on the map.
Want to make a mod that’s a new game? You would create your guys with the character engine, the level with the map editor and then use Python to load up the guy and pick which animation you want and run him around based on mouse or keyboard input (all provided by Kumquat).
Our style of XML formatting is kind of old school and we admit it. We use it not for programming but for data structures.
If you look in games\data\English you can see how data driven things are (basically everything is stored in XML, no binaries).
In the current betas, there’s no modding allowed because we stream the data from our servers so that we can constantly tweak them without requiring a download. This will be taken OUT of the final version of the game since we don’t want to require an Internet connection to play the game. But during the beta, it’s a big time saver for us.
During the modding beta, we’ll be selecting promising mod projects and assigning development resources to exposing Kumquat APIs (written in C++) to Python so that modders can do interesting things with them. We think it makes more sense to adapt ourselves to the needs of the modders than for modders to have to adapt to us.