Brad Wardell's views about technology, politics, religion, world affairs, and all sorts of politically incorrect topics.
Published on July 29, 2010 By Draginol In Elemental Dev Journals

Starting with beta 4 of Elemental, the modding tools for the game have begun to be made available.

This article will serve as a very very basic primer on how modding works in Elemental. 

During the beta process, the team will try as much as it can to help users learn what can and can’t be done with the existing modding tools. Those who need a lot of hand holding should probably wait until after release since the team will have very limited time available to document what is what until post-release.

That said, the basics are fairly straight forward and I’ll go through them here.

The Legal Stuff

To get this first part out of the way, all of the content that comes with Elemental is copyrighted by Stardock Entertainment. We spent a lot of time and money producing the content that comes with it.  You may not distribute this content to be used for non-Elemental related purposes. As you go through the Elemental folders, you will quickly see why most games restrict what is readily accessible. We ask modders to respect the artistic effort that went into creating these assets.

The Formats

Elemental is very data-driven. What this means is that the game itself contains very little “hard coded” content. This is the basis of what makes the game easy to mod.

The formats we use are:

XML. This can be read in with a plain text editor. Nearly everything in the game is XML. Our editors output to XML.

PNG. This is a popular graphics format used on most web pages. We use it everywhere for static images.

MP3. For songs in the game, we use MP3, a popular audio format.

WAV. We also use WAV files, a popular sound format for sound effects.

DXPACK. This is the format that DesktopX uses (www.desktopx.net). We use it for all of our user interface related elements.

HKB. This is the Havok format. The Havok site has a free exporter for it to use in 3D Studio or Maya or what have you.  However, you will need our converter to use it with Elemental which we’ll be releasing shortly.

The Tools (as of Beta 4)

We include two of the tools with beta 4. The Map Editor and the Tile Editor.

In Beta 4, when you choose one, you have to wait until it loads all the data (we’ll add a fancy load screen later) so at first you’ll be looking at a black screen for a bit.

The Tile Editor

image

Use the middle mouse button (holding it down) to adjust the rotation of the screen. Hold the left mouse button down to move the screen around.

image

image

 

image

For Beta 4, just save your tile.

The saved tile goes to your my games folder in documents (documents\my games\elemental)

image image

Opening up your tile in a text editor just shows its XML:

image

In Elemental, file extensions mean very little. The game goes by XML keys (<TileDesigns> in this case).

The Map Editor

image

THE MOST IMPORTANT KEYS IN THE EDITOR:

+ and – on the 10-key will increase and decrease the size of the cursor.

image

image

RIGHT-CLICKING on the map will cause the selected terrain or object to be applied.

image

For mountain height, hold down the right mouse button while dragging the mouse. It’s dangerously fun.

image

image

image

When you create something in the tile editor, it is not assigned to anything in particular (a quest, a goodie hut, a city improvement, etc.) thus it is shown as a prop. It won’t do anything by default.

In one of our upcoming entries, we’ll show you how to make quests and goodie huts. But they’re fairly easy to make.  Here’s an example:

<GoodieHutTypes>
    <GoodieHutType InternalName="WhateverYouWantToCallIt">
        <Name>My Weird Village</Name>
        <Description>This weird village will give you stuff.</Description>
        <Medallions>
            <All>CaveGrassland_Medallion.png</All>
        </Medallions>
        <Destructable>1</Destructable>
        <TileDesign>WeirdVillage</TileDesign>
        <DrawnIcon>Gfx/TacticalIcons/Quest_Cave1.png</DrawnIcon>
        <IconSize>50</IconSize>

    <Treasure>
      <Title>Found Gildar!</Title>
      <Desc>Scouring the area, you find 30 gildar!</Desc>
      <Liklihood>3</Liklihood>
      <GameModifier>
        <ModType>Resource</ModType>
        <Attribute>Gold</Attribute>
        <Value>30.00</Value>
        <PerTurn>0</PerTurn>
      </GameModifier>
        <SFX>GoldPouch_1</SFX>
        <Image>Gfx\Items\Gold_Medium1.png</Image>
    </Treasure>
    </GoodieHutType>
</GoodieHutTypes>

Throw that into your quests folder and it should automatically show up in the game (I haven’t tried this yet but…in theory).

Quests, Items, Adventures

Once players get a handle on the basics, we’ll start talking about how to make items, quests, adventures, etc.

 

 

 

 

 

 

 

 

 

 

 

 

 

Sharing your Creations

You can share your creations in one of two ways.

Way #1: Impulse::Reactor

If you hit Shift-Tab you get the Impulse:Reactor overlay. One of the options is mods.

image

image

image

image

The mods available in game will eventually be heavily moderated.

For users who want to avoid our deliciously evil moderating ways, you can simply share mods with others the old fashioned way. Just drop them into your my games\elemental folder in the proper place and they’ll just show up.

For Beta 4, we’re only letting maps be shared because our moderator tools are very primitive and the map format isn’t likely to change between now and release.

One caveat about beta 4 (and it’ll be easy to find out which users didn’t read this article) – the game will spawn resources on the map even when you have chosen not to. This is a temporary thing that will be addressed by release so go ahead and continue to choose the save option to not allow things to be spawned because the game will use it later.

Hope this helps and have fun!


Comments (Page 1)
6 Pages1 2 3  Last
on Jul 29, 2010

Thanks for the guide, Frogboy. My main interest is in quests, which sadly you haven't gone into. I am a bit worried that they seem too restrictive at the moment. Glancing at the quest XMLs it seems like they're exclusively associated with tiles, which means it's impossible to create a quest that starts from an item dropped by a creature, or a quest that has you loot quest items from creatures unrelated to the quest itself (for example, a quest to collect wolf pelts, where the pelt is a quest item and the wolves are just regular map monsters).

These are very basic quest formats, but at a glance I don't see that they're actually supported by Elemental. If that's true, the quest variety possible is rather significantly hampered, since each can only rely on very specific tiles...

on Jul 29, 2010

I would have some additional questions about importing our own models to Elemental. Would you please have a look at this forum please?

https://forums.elementalgame.com/389340

(it also consists an image of a lowpoly wraith, done by myself )

 

on Jul 29, 2010

Annatar11
Thanks for the guide, Frogboy. My main interest is in quests, which sadly you haven't gone into. I am a bit worried that they seem too restrictive at the moment. Glancing at the quest XMLs it seems like they're exclusively associated with tiles, which means it's impossible to create a quest that starts from an item dropped by a creature, or a quest that has you loot quest items from creatures unrelated to the quest itself (for example, a quest to collect wolf pelts, where the pelt is a quest item and the wolves are just regular map monsters).

These are very basic quest formats, but at a glance I don't see that they're actually supported by Elemental. If that's true, the quest variety possible is rather significantly hampered, since each can only rely on very specific tiles...

True. These are things we would have to add later. At the end of the day, this IS a strategy game after all.  I agree there's a lot of interesting directions we can go with quests and such as time goes on.  

That said, you can actually make a quest that requires the player to gather various types of loot and bring back (the Rats in the Basement quest has the player bring back an item, you could have something else drop that item in a different quest or as part of loot or something).

on Jul 29, 2010

As long as they're being considered and will hopefully make it in later, that's fine by me. I was mostly looking for clarification. Thanks to being able to set spawn frequency on tiles (I'm assuming it implies what I think it implies), and tying monsters to them, it's definitely possible to work around some of the item-related difficulties of quest design.

My Grand Hope, if you will, is to have lots of very random quests that you're never guaranteed to get. If some monster only has a 10% chance to appear once on a map, and you give it a 20% chance to drop an item that starts a quest, you could go a lot of games without actually seeing that quest. Throw in enough of those, and you can have some very dynamic games! If the tile frequency works as I imagine, meaning that I can set a tile such that it doesn't *always* show up on a random map, some of this will be possible as well, which is a great place to start

on Jul 29, 2010

Just jumped out of the Beta4 to tell you that it looks gorgeous, that extra bit of polish on everything.  Words fail me.

 

Got to go and play it properly.  The change from 3C to 4 is astounding.

on Jul 29, 2010

Hell yeah!!! Downloading the new patch right now!

on Jul 29, 2010

WOOOOOOOOOOOOOOOOT

on Jul 29, 2010

So, the buttons that go with saving the tile that dont to anything now, will they allow for simple editing (having options like what the improvement does or the value of the recourse) or will it just be for sorting perposes?

Thanks in advance!

on Jul 29, 2010

Is there a way to create our own civilization?

on Jul 29, 2010

Looks good. Are you guys going to cover how to create heroes/champions, items, and city improvements too? Thanks.

 

EDIT: Factions too, good point, BlackRainZ.

 

So far I created some sort of a religious monument to use as a city improvement. Can't wait to continue.

on Jul 29, 2010

Thanks Brad.

Another question. The primer doesn't touch on races, yet in another post it mentioned that races would be considered mod items in the future. Would you mind elaborating a bit on the likely process for us to look at building a race. (I'm guessing it will be very involved on a number of levels).

Second question. Python hasn't been mentioned in the primer. Will we ultimately be able to access the games API and manipulate classes etc via Python?

on Jul 29, 2010

I didn't realise you were turning of tactical battles again for this beta or am I experiencing a bug?

on Jul 29, 2010

city improvements too

It's all in the XMLs. Once you have your tile, just find the file that lists city improvements and work with that to add your tile to the list.

I didn't realise you were turning of tactical battles again for this beta or am I experiencing a bug?

It's not really a "bug", but they forgot to include some files (including tactical battle maps) in the distribution hence why no battles yet. They're re-patching.

Second question. Python hasn't been mentioned in the primer. Will we ultimately be able to access the games API and manipulate classes etc via Python?

AFAIK, this is planned post-release.

on Jul 29, 2010

Ah thanks very much Annnnatar I didn't make the connection between those missing maps and the tactical battles failiure, much appreciated for the explanation. Other than that I dont think it crashes less but it does it much more smoothly so I guess thats a plus Modding tools look nifty too.

on Jul 29, 2010

Annatar11

city improvements too
It's all in the XMLs. Once you have your tile, just find the file that lists city improvements and work with that to add your tile to the list.


I didn't realise you were turning of tactical battles again for this beta or am I experiencing a bug?
It's not really a "bug", but they forgot to include some files (including tactical battle maps) in the distribution hence why no battles yet. They're re-patching.


Second question. Python hasn't been mentioned in the primer. Will we ultimately be able to access the games API and manipulate classes etc via Python?
AFAIK, this is planned post-release.

Hallelujah! Or however you spell that crazy word. I just noticed the whole "data" folder available now. I'll be away for a while.

6 Pages1 2 3  Last