Brad Wardell's site for talking about the customization of Windows.
Published on July 25, 2009 By Frogboy In Elemental Dev Journals

One of the things that will make Elemental different from anything Stardock has developed before is that we will view the release date of the game as the beginning of its life rather than the climax.

The reason for this is that a big part of our objective with Elemental lies in the engine underneath it.  It is our dream to slowly evolve Elemental to be so modable that a user familiar with Python 3.x will be able to use Elemental to create virtually any kind of land base computer game.

One of the things that some of you probably suspect but we can confirm from bitter experience is that while there are plenty of good 3D engines out there (Unreal, Gamebryo, Source, etc.) there aren’t really any modern engines (that we could find anyway) that are specifically designed for top down where there’s lots and lots of units on screen.

What I am hoping will happen is that over time, more and more of Elemental will cease being C++ and be moved into Python scripts.  The AI and some of the game logic will be first but eventually as much of the code that we can economically justify taking from C++ will be moved to scripts.

In this way, users would be potentially able to create all kinds of new games using the Elemental engine.  For first person shooters, this is nothing new.  Civilization IV is extremely moddable too.  Our goal here is to take an engine that was designed from the ground up as a 3D engine with full strategic zoom and a multi-threaded graphics engine and make it as generic as possible.

To learn more about Python visit http://www.python.org/


Comments (Page 5)
7 PagesFirst 3 4 5 6 7 
on Jul 27, 2009

I don't think mods would want to write their stuff in C++ to be honest.  The ONLY reason that mine are C++ is to make it so that people can have some surprise in how the AI works.

The more I use python, the more I like it.

I dream of a future where some modder is making an RPG with the Elemental engine. 

on Jul 27, 2009

Frogboy
Speaking for myself, I'm a Python newbie.  But I think what you see is our desire to make Elemental a game but also a platform.

We've seen this with RPGs like Neverwinter Nights where modders could keep creating interesting things. That's what we're hoping to do.

I don't think, at release, Elemental will have anything close to that kind of modding capability as it will be the result of months/years of migration of C++ to Python based on experience.

Now, that said, MY computer AIs will remain C++ and users will be able to pick AIs I've written (closed source) or AIs that are in python.

The bolded sentence fragment I believe addressess any and all concerns of GW or myself. (Speaking only for myself, but I think that "the concern" just became a non-issue).

on Jul 28, 2009

Cool.

Just checking out the python site. Haven't done programming in years but this looks very interesting. Works on a mobile phone too, perhaps something Elemental can be done for a Palm PDA..

on Jul 28, 2009

If your AI is going to remain in C++, will the game ship with a sample python AI script so that we have something to work with? Seeing examples is really helpful to learn how it works as compared to starting from scratch.

on Jul 28, 2009

perhaps something Elemental can be done for a Palm PDA..

on Jul 28, 2009

Tridus
If your AI is going to remain in C++, will the game ship with a sample python AI script so that we have something to work with? Seeing examples is really helpful to learn how it works as compared to starting from scratch.

Yes a well documented sample script would be amazingly helpful for modders. Sample scripts for more than just the AI, but all kinds of things would be wonderful.

on Jul 28, 2009

Yes a well documented sample script would be amazingly helpful for modders. Sample scripts for more than just the AI, but all kinds of things would be wonderful.

Definitely. If there a lots of well-documented sample scripts I could see myself poking my nose into the modding world (which I've never really done before). That's also one of the things that could easily be given to the community after release if there's no time during development.

on Jul 28, 2009

Utlimately, why not release an API that can be called by python and C++/C#/Java/Whatever-you-want as well ? As the native Win32 API is, for example (Granted, you have to write wrappers, but that maybe you can provide, don't you ?)

 

Keiyan

on Jul 28, 2009

Frogboy
I dream of a future where some modder is making an RPG with the Elemental engine. 
Map Editor; Dungeons in which we can use walls and doors, as well as other props; Some kind of class system (or a classles one); Conversation trees with NPCs;...

on Jul 28, 2009

Utlimately, why not release an API that can be called by python and C++/C#/Java/Whatever-you-want as well ?

I agree with this, though I like Python. I think the major concern would be the ability to tweak the AI rather than roll our own. Some might want to edit pathfinding with different cost-weights in mind, another might want to change how the AI builds cities.

I think I will definitely want to check out all the ins and outs over time, especially if Elemental is a game engine to itself, but for playing purposes it would be nice to tweak...

on Jul 29, 2009

Keiyan
Utlimately, why not release an API that can be called by python and C++/C#/Java/Whatever-you-want as well ? As the native Win32 API is, for example (Granted, you have to write wrappers, but that maybe you can provide, don't you ?)

 

Keiyan

I don't understand what you mean. The game is coded in C++ and python. Brad could open both api's (that's what Firaxis did with Civ IV). Although C++ requires compiling, so it's impossible to mix two mods without recompiling, whereas mixing two python mods is very likely to work flawlessly (unless they change the same file, but even then you just need a text editor, not a compiler, to get over the problem).

The idea is not to call the api from any language but to write your own code in a language that can be called by the game engine.

 

on Jul 29, 2009

LDiCesare
Although C++ requires compiling, so it's impossible to mix two mods without recompiling

No it doesn't, it's perfectly feasible to give the game support of mods in such a way that a mod is not integrated in the game but a seperate component which uses an API to access certain parts of the game and registers itself with the game so the game calls it when needed. In such a case multiple mods could use that API at the same time without the need of compiling either the game or the mods.

on Jul 29, 2009

I almost forgot to respond to the article itself!

Anyway, this dream sounds awesome. FPS engines and the like are pretty common, with the Unreal Engine being used by a lot of developers. However, most RTS games come with their own custom engine, there is not really an engine available which is used by other developers. Your dream could accomplish such a situation if you would be interested, or at least provide the community with a very nice tool for modding and/or creating their own game based on your technology.

PS: Somehow I managed to mess up the quote in my previous comment, how silly of me.

on Jul 29, 2009

I cross my fingers and pray that this does not mean that the vanilla game will be bland and that modders need to really work their magic in order to make the game interesting.

on Jul 29, 2009

Shurdus
I cross my fingers and pray that this does not mean that the vanilla game will be bland and that modders need to really work their magic in order to make the game interesting.

 

From what we have seen so far the game certainly does not look bland - although "one person's blandness is another's..".

In any event, those that have pre-ordered can participate in the beta (and some the ALPHA even) and will be able to voice opinions & suggestions about any issues or direction the game is going.

Stardock has a habit of listening to the community as well. Strange that, no?

7 PagesFirst 3 4 5 6 7