Frogboy Frogboy

Modding on a Sunday night: Part 2

Modding on a Sunday night: Part 2

Our story so far…

Lest you think I’m some sort of shut-in. I really did go outside today. Cider Mill and then played with the kids.  So 2 hours spent moving around and the rest of the day in front of the computer.  That’s a ratio I can live with. :)

image
Only 2 broken bones…

Adding Technologies

Adding technologies to Elemental is still a work in progress because the research screen in Elemental is still a work in progress.

 

image
The UI needs some work…

So before we talk about modding the “tech tree” in Elemental we should probably talk about the concept behind researching in Elemental.

Elemental doesn’t have a traditional technology tree.  The idea here to have a lot fewer “techs”, each of which do something very very interesting in the game (as opposed to in GalCiv where you were researching “lasers IV”).

In Civilization IV getting a technology did something for you that changed the game and made it more fun but of course, once you have it, you have it.

So in an effort to have our cake and eat it too the idea here is that you get a technology and getting that technology does something “cool.”.  For example, researching “Adventuring” will unhide the dungeons on the map (well not right now, but it will eventually).  Researching mining will unhide metal ore you can mine. Researching education allows you to build schools in your cities, and so on.

But on top of that, once you have researched something, you can then keep focusing on that technology make it better than better.  So researching mining will let you mine metal. But you can also continue to research mining and will continually get tiny bonuses in your mining ability for as long as you want to research it. Hence, you get an infinite tech tree.

So here’s how it works right now:

image

We have a file called “CoreTechs.xml”

The file name is irrelevant though to the game – as mentioned previously, any XML file will be read in and parsed. It’s the keyword that matters. We could have made every technology its own file if we wanted (that would be a headache though for us).  But when the time comes and you want to start submitting your own mods, you’ll want to make sure you’re creating unique files and not uploading “coretechs.xml” or something.

Now, the highlighted parts are ones I have no idea what they do and no idea why they’re there.  I will ask about them next week.  The rest is pretty straight forward after a bit of experimenting.

First, you define the technology’s internal name. Then you have a display name and the image you want to use for it. 

Next, you then set up whatever types of pre-requisites you want for that tech. Right now, techs only require other techs as pre-requisites but eventually you could have all kinds of things required to research a given tech (maybe an ancient scroll you uncovered from an ancient ruin, maybe something your hero got on an adventure, maybe a random event, whatever).

The “value” part is how many research points it takes to get that tech.  By default (in beta 1B anyway) each citizen produces 0.1 research points per turn.  So if you make something cost 10 research points, it will take a down of 100 a single turn to get it (very easy).

Next is the tech bonus you define. This is your “infinite” research element.  It needs some work though still as this isn’t finalized.  But basically what it will do is define what sort of bonus researching that tech will provide your civilization.  So for instance, what it should do is that every 100 points you spend on “Farming” should give you a 1 percent bonus to your farming output.  But we have a “TechLevel” field that I suspect is going to go away and we won’t be displaying it as a “tech” on the screen since it’s not a tech, it’s a bonus.

More answers on modding

What will and won’t be possible in Elemental for modders is still really up in the air.  That’s why I’m planning on becoming an Elemental modder early on so that I can be making mods and push the engine early enough so that things can be changed in the engine.  A simple Temple of Apshai type mini-game using the Elemental engine and Python is going to be my test case (not for awhile mind you but hopefully before the game comes out).  That will give us all an idea of what is and isn’t possible. :)

65,308 views 30 replies
Reply #26 Top

Quoting brjoha, reply 24
<warning>new to the whole modding scene</warning>

The technology example given at the start of the thread appears to just be a simple migration of the technology configuration from compile-time (hard-coded data structures) to run-time (config read into data structures).  Is this considered modding because one can edit the technology parameters/attributes at any time?

I had been under the impression that modding allowed one to change the mechanics and behaviors (i.e., the rules) of the game, but this seems to just be tweaking things within a fixed framework.  Is the example here just one aspect of the overall modding capabilities that will be supported?
End of brjoha's quote

The fact is the framework will be the thinest possible. And, with python, you'll be able to override the way the game plays.

Reply #27 Top

Quoting Scoutdog, reply 23


But when you have researched the mithirl ? When you have reach the "end" of the tech, you can still continue to research.The problem with this system is this: You would need an infinite amount of "new stuff". Fine. But all of that new stuff needs to be created  before hand (i.e. you can't auto-generate more whenever you run out). Since the stuff requirement is infinite, that also means creation time is infinite. Since players and coders sort of need dev time to end, you cannot have infinite new things. Probably never will, unless it becomes possible to create a creative AI that can churn it out faster than a human player can take it in (even then, it just seems infinite: the tech tree is still finite, but grows faster than you can "cut" it).
End of Scoutdog's quote

Not really, you just continue to research the same thing over and over again. So no need to get something new, the "new" behavior are gained before in the tech tree.

Reply #28 Top

Not really, you just continue to research the same thing over and over again. So no need to get something new, the "new" behavior are gained before in the tech tree.
End of quote
Exactly. But to me it seemed like he was talking about a system where you get an infinite amouint of unique techs.

Reply #29 Top

I was under the impression that "cool things" (original Brad W. wording) would be things which do something "very very interesting" (B.W.), such as make a particular entity visible or change the way an economic factor works, rather than change an existing gameplay parameter by a certain quantifiable measure (such as: increase damage output by 3%).

It therefore does not appear to be the case that continuing to research Mining (or Advanced Mining or whatever you want to call it) will create future "cool things", e.g. unlocking gold, then mithril, then samsonite, etc.

Furthermore, Brad mentions in his original post that he envisions "very few" of these techs, each of which does a "cool thing".

Taken together, his statements are disheartening: There will be, of necessity, according to the current system, FEW COOL THINGS to be unlocked. The rest is parameter adjustment.

I would hope there would be some way to interlock and intertag some of the technologies, so that a player could develop something like "slashing weapons", so that at one point, that player might invent something like valerian steel (which makes bladed weapons better, but not bludgeoning ones). Otherwise, we run two risks: One, having the possibility for only creating generic units, each different only cosmetically, but which are defined primarily by the same stats (HP, attack, def, speed, attack time). Two, having nothing "cool" to research once the basic techs have been researched. Both risks risk fun. I found GalCiv2 to have run these risks, and failed.

Reply #30 Top

@onomastikon, you'll find that it is difficult to extrapolate significantly beyond one of these posts; Brad doesn't have time or space to go into all the details and those details are changing significantly over time.

His statements do not necessitate a low number of cool things unlocked, simply a low number of separate techs.  So instead of getting 100 techs each unlocking 1 cool thing, we might get 20 techs each unlocking 5 cool things at various stages of research in them (remember that each tech can have multiple milestones each of which give some bonus, unlock some other tech, or do something cool).

But honestly we can't extrapolate from current information, we'll just have to see how it goes as the beta gets more and more "real" content.