The Forums Are Now Closed!

The content will remain as a historical reference, thank you.

Elemental: The dream

By on July 25, 2009 9:52:27 PM from JoeUser Forums JoeUser Forums

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/

+892 Karma | 95 Replies
July 27, 2009 12:47:26 AM from Elemental Forums Elemental Forums

Brad would consider creating that script fun.

Well yeah. If he could create a script capable of defeating the AI every time without fail, he'd have just created an even better AI!

July 27, 2009 1:23:25 AM from Elemental Forums Elemental Forums

Creating a script to beat the AI is writing a victory cheat.  No better AI necessary, just a kill order on all units and structures.

July 27, 2009 4:38:59 AM from Demigod Forums Demigod Forums

Wow. Some of the hostility toward modding, and especially ai modding, leaves me really confused. I think support for modding is fantastic, and is one of the really positive things about the pc gaming community.

Has anyone else here enjoyed and appreciated playing a mod for a game?

A mod that complete strangers have poured their time, energy, and passion into, and then released free of charge?

I'm not ashamed to admit that I have. Perhaps there are others out there who have enjoyed playing a mod too! If you fall into this category, I probably don't need to direct this rant at you. My apologies. But there are people wrong on the internet, and this must be addressed.

Rant:

To demigod players: are you seriously willing to argue that games like Demigod would be commercially viable, today, without Blizzard's support of custom scenarios for the Warcraft 3 community? What about the whole tower defence subgenre?

If you don't like Blizzard games, or Demigod, but have enjoyed some of the other stuff Chris Taylor has worked on over the years, how about Cavedog's modding support for Total Annihilation. They've still got a community releasing new maps, 12 years after the launch of the game! People released mods not only introducing new units, but fixing bugs, tweaking the ai, and completely rebalancing the game. Not to mention total conversions like 'Star Wars TA'. I never played vanilla Total Annihilation again after discovering the UberHack mod,. On the other hand, like all of this, no one forced you to download any of this either, if you didn't want to.

I understand that shooters like Counterstrike or Team Fortress might not be everyone's cup of tea, but is anyone willing to argue that id and valve's support of modding for the quake & half-life engines was actually a poor decision, for either the developers involved, fps players, or pc gaming generally? How about less mainstream mods such as Day of Defeat (source), NeoTokyo (source), The Specialists (source), Natural Selection (source), Infiltration (Unreal Tournament), or SLV2, the ridiculous Dr Strangelove inspired mod for Unreal Tournament? How about id's willingness to let valve play with the source code of the quake engine, back in the day?

I wonder how many highly talented people, who've helped developed your favourite games over the years, have used mod development as a stepping stone to get into the industry?

 

TLDR summary:

I think modding is pretty awesome, in a general sense, and I made some potentially poorly thought out arguments above, which I believe support my point of view.

I'd be interested if you can make a serious argument that supporting modding for pc games is, on the whole, a bad idea, and in particular, is a bad idea for elemental, and stardock generally.

July 27, 2009 5:17:42 AM from Elemental Forums Elemental Forums

Wow. Some of the hostility toward modding, and especially ai modding, leaves me really confused. I think support for modding is fantastic, and is one of the really positive things about the pc gaming community.

Derrrr.. Wha? The only thing I can possibly imagine you might be talking about are GW's comments about how he doesn't want the built-in AI to be open-book, because he doesn't want to understand exactly how it functions under the hood in such away to give him insights in how to, essentially, trick it. I sympathize entirely with him, although I disagree - I think opening up most of the default AI would help the modding community tremendously in putting out new and improved AIs. Enough so that it would be worth hearing any information that I might wish I had never heard (I really wish I could forget things on command).

But really, moddability has been one of the largest concerns among most people in these forums... It polled pretty highly in Denryu's polls a while back, for example, and there are tons of threads dedicated to it... And reading over this thread, I don't quite see hostility to modding.

July 27, 2009 8:46:58 AM from Elemental Forums Elemental Forums

Pigeon, I think you are absolutely right. If the AI modding created an environment like GW fears, it would be quite nasty. However, I highly doubt that something like that will ever happen.

July 27, 2009 10:55:55 AM from Elemental Forums Elemental Forums

Quoting Wintersong,
As long as we get some nice documentation about the game's functions and similar, it'll be fine. At least for the most basic things so we don't have to start blindly pocking things.

 

If Stardock is clever they'll use Python's internal documentation functionality.  That lets you extract documentation automatically from a function or class, so you can do

 

Code: c++
  1. >>> help(terrain)

 

and get a listing of the documentation of the "terrain" class.  This is similar to doccomments in Lisp, Java, C#, etc.

 

Mind, if I had a dollar for every time I've seen this, I'd be much better off than I am today:

 

Code: c++
  1. def set_tile_type(self, tile, type):
  2.      "Set a tile type."

 

BAD PROGRAMMER!  BAD!  NO COOKIE!

July 27, 2009 4:22:36 PM from Elemental Forums Elemental Forums

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.

July 27, 2009 4:31:10 PM from Elemental Forums Elemental Forums

Quoting Scoutdog,
Pigeon, I think you are absolutely right. If the AI modding created an environment like GW fears, it would be quite nasty. However, I highly doubt that something like that will ever happen.

I've never seriously played with a mod, but I've always thought the practice was interesting and I might well have gotten into that fall-of/from-heaven thing if Civ 4 hadn't pissed me off so much with its initially insane sys reqs (what you really needed, not what the box said would do).

Scoutdog might well be right that I'm borrowing trouble in fretting about just how much noise-to-me posting would go on if the full AI codebase were public. Maybe what I'm really suffering is some creeping doubts about whether this Great Leap Forward for Modding might end up leaving Elemental with too little of its own identity. For example, I basically loved the idea of no built-in combat units when it was first announced, but that sentiment as cooled down to simple curiousity about what a difference like that will make for a TBS game.

Anyway, please don't take my previous rant about zero-sum thinking to mean any sort of hostility to modding. Also, some of my 'best friends' over at GC2 are scoremonsters and they taught me many things that helped me enjoy that game more. I know the 'play vs. compete' thing is a matter of taste and there is no capital-T Truth to claim. I just get a little heated sometimes because too few people who play to play speak up about it.

July 27, 2009 5:45:38 PM from Elemental Forums Elemental Forums

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.

Can mods write their AIs in C++ as well? Or, here's a dream, an API that allows your AI to call the necessary data to play to the game passing XML back and forth so you can use your language of choice.

Someone asked this awhile back, but could the AI actually help train a player by giving hints on what they should do in a particular game? An AI trainer would be amazing...

July 27, 2009 5:50:29 PM from Elemental Forums Elemental Forums

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.

Can mods write their AIs in C++ as well? Or, here's a dream, an API that allows your AI to call the necessary data to play to the game passing XML back and forth so you can use your language of choice.

I can understand the game's core AI being closed source, but will we be able to build off it for non-strategy stuff like pathfinding and such?

July 27, 2009 7:07:28 PM from Elemental Forums Elemental Forums

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. 

July 27, 2009 7:39:53 PM from Elemental Forums Elemental Forums

Quoting 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).

July 28, 2009 10:24:00 AM from Elemental Forums Elemental Forums

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..

July 28, 2009 10:37:36 AM from Elemental Forums Elemental Forums

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.

July 28, 2009 11:12:51 AM from Elemental Forums Elemental Forums

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

July 28, 2009 11:18:33 AM from Elemental Forums Elemental Forums

Quoting 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.

July 28, 2009 11:59:45 AM from Elemental Forums Elemental Forums

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.

July 28, 2009 1:06:07 PM from Stardock Forums Stardock Forums

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

July 28, 2009 2:16:36 PM from Elemental Forums Elemental Forums

Quoting 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;...

July 28, 2009 6:16:34 PM from Elemental Forums Elemental Forums

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...

July 29, 2009 8:00:51 AM from Elemental Forums Elemental Forums

Quoting 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.

 

July 29, 2009 8:56:05 AM from Stardock Forums Stardock Forums

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.

July 29, 2009 9:00:32 AM from Stardock Forums Stardock Forums

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.

July 29, 2009 9:58:01 AM from Elemental Forums Elemental Forums

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.

July 29, 2009 10:10:56 AM from Elemental Forums Elemental Forums

Quoting 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?

Stardock Forums v1.0.0.0    #108434  walnut1   Server Load Time: 00:00:00.0000328   Page Render Time:

Stardock Magazine | Register | Online Privacy Policy | Terms of Use

Copyright © 2012 Stardock Entertainment and Gas Powered Games. Demigod is a trademark of Gas Powered Games. All rights reserved. All other trademarks and copyrights are the properties of their respective owners. Windows, the Windows Vista Start button and Xbox 360 are trademarks of the Microsoft group of companies, and 'Games for Windows' and the Windows Vista Start button logo are used under license from Microsoft. © 2012 Advanced Micro Devices, Inc. All rights reserved. AMD, the AMD Arrow logo and combinations thereof are trademarks of Advanced Micro Devices, Inc.