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 1)
7 Pages1 2 3  Last
on Jul 25, 2009

I hope things work out well for the engine.

on Jul 25, 2009

Best of luck!

By the way, is there going to be any plans on to help others learn how to program games? You keep mentioning that you want to make Elemental very modable. I'm just wondering how much control you plan on giving modders over this "base" program?

on Jul 25, 2009

Why all the C++ hate?

It deserves a chance too...

on Jul 25, 2009

Well, speaking as a non-programmer, I imagine that a lot of the modding community is more familiar w/ py b/c it is used for a lot of open-source stuff.

on Jul 25, 2009

I love C++.

I'm learning Python now.

The main advantage of Python is that it doesn't have to be compiled so a user can just make a few changes to the text file and it works right then and there.

on Jul 25, 2009

And that's a big advantage, especially for users who don't have beastly machines doing the compiling.

 

on Jul 26, 2009

Looks like I got to learn Python, but I like the idea of using Python because like Civ 4 Elemental should be just as moddable.

on Jul 26, 2009

Hi Frogboy,

the idea to open up as much of the elemental engine to modding is a fantastic idea. We've seen some great mods grow into full commercial games over the years from the Quake / Unreal / Source modding communities so it would be lovely if a similar thing could happen for strategy gaming. Have you thought about how licencing of the Elemental engine / SDK etc might play out, or is this still a bit too early to speculate?

 

re: python

I've been using python on and off for the last couple of years, mainly for scientific computing, and I'm increasingly delighted with it. After originally coming from a C/C++ background I find it really pleasant to have data types like tuples, lists, dictionaries and sets as a fundamental part of the language, with agreeable syntax. Some people seem to regard python as a scripting language, but from what I've seen so far it has better support for functions / functional programming / OO than C/C++/Java. It just doesn't place bizzare restrictions on what you can / can't do.

on Jul 26, 2009

I love this dream, I hope it becomes a reality.

 

Sammual

on Jul 26, 2009

Tourresh wishes he knew python instead of Lua.

 

I can't wait for all the syntax specific stuff of both languages to meld together in my mind so I constantly make stupid mistakes.

on Jul 26, 2009

This is great news.  I prefer Java, but having the ability to modify AI routines in any high-level language is nice.  Python is probably worth learning anyway.

on Jul 26, 2009

ugh i remember compiling stuff in c++ back when computers were so slow the word gigahertz wasn't even used yet. 

on Jul 26, 2009

Hey Frogboy! How about opening up a new line of business in e-learning? C++, Python, modding... You already have the programmers right there (and instruction capable?), as well as Impulse for its distribution.

With all the possibiliites out there and in the works, I'm sure there's plenty of people willing to purchase that from Impulse. Audiovisual instruction makes this approachable to a wider audience and is a lot faster to learn (e.g. CBT Nuggets).

 

It's a great dream you have there.

on Jul 26, 2009

I am totally going to brush up on python now.  Very exciting stuff. 

on Jul 26, 2009

@Frogboy, reply #5

The main advantage of Python is that it doesn't have to be compiled so a user can just make a few changes to the text file and it works right then and there.

About that. Given how quickly someone can change the code for python, the most time consuming part of making mods might very well be loading of the game. More so if you have a habit of making a small number changes to see how things work out.

----

Do you think its possible to have Elemental to do 1 or more of the following?

1) Have an in game editor so you could not only edit code in the game, but also load the changes so see what happens right away. You know, you start a battle but then you get the idea for a new spell. You write the thing up, load the changes, and then use the spell right away to see how things work.

2) Allow the users to minimize the game, tinker with the files, then unminimize the game and load the changes (like #1 but you don't use an in game editor to edit the python files). This would be useful to users who are already comfortable with programing outside of Elemental, and this would allow users to download other mods for use or reference. It would also allow the modders to go read online documentation to help them mod.

3) Have the option to play in a "god mode" (or whatever name sounds best). Basically you could add units, alter terrain, add/destroy nations, and/or do whatever stuff you want to do. This could all be done as you play the game. This could also be used by non-modders to spice up games and so forth, such as adding a very angry dragon in a middle of a battle field. Basically natural disasters because you were bored.

4) Allow modders to mod the user interface. If we don't get a "god mode" as describe in #3, I would like to be able to attempt to mod one in, complete with the angry dragon button.

----

If you do decide to add in 1 or more of my suggestions, you will probally want some means to prevent this stuff from being used during online play... unless of course the players agree to it.

Also, could you let me know what you think? Too much? Not what you're looking for?

7 Pages1 2 3  Last