Frogboy Frogboy

Elemental: June FAQ

Elemental: June FAQ

No beta this week. Between my trip to San Francisco last week to meet with the media and Memorial Day, the AI isn’t far enough along to be included for a public beta.  But if it makes you feel better, we’re playing it a lot internally. :-)

There’s been a ton of questions on the forums so let me go through them here:

Q: What is the release date?

A: August 24th is our official release date.

Q: Is that release date subject to change?

A: Yes. If we’re not happy with the game for some reason.

Q: I think Elemental should have <insert cool wizbang feature>, will you delay the game to put that in?

A: No.

Q: But I thought you said you wouldn’t release the game until it was what you wanted?

A: Yes. But we’re not going to delay the game to put in new features. We’re open to doing lots of things after release.

Q: I’ve heard there are no flying units in the game.

A: There are flying units in the game. However, there aren’t flying armies in the game (i.e. there are creatures and animals that fly, but we do not plan to have flying mounted units in – at least at release.  We can discuss with players – after they have the game – what practical means they could envision flying around.

Q: I saw <screen shot X> and I didn’t like <insert aspect of screenshot>

A: Most screenshots floating around are, unfortunately, very old.

Here is a current screenshot:

image

Note the dynamic fog of war in the east. This is generated using an advanced multi-core algorithm.

Q: I like using my imagination when I play games, I am glad the game has its own lore but can I introduce my own?

A: Yes. In the “sand box” (normal games) mode. You can do whatever you want. It will be in the campaign where our lore takes over.

Q: In a screenshot, the land looked flat.

A: Geography of a given map changes from map to map. Some maps are hilly.  There are some maps that are dead. There are some that are pleasant. Some are very mountainous. It just depends what kind of map you get.

image

Here is a map in an arctic world.

Q: Does the AI in Elemental cheat?

A: Not at its normal levels.  I’ve been working very hard to make the game play the game just like a human being does.  However, I will have higher difficulty levels where the AI gets “stuff” for those who end up better at the game than I am.  We will, however, be continuing to enhance the AI long after release as we did with Galactic Civilizations.

Q: How animated are things in the world?

A: Here’s a link to a video: http://screencast.com/t/YWY5YWJk (it’s a big video so you’ll want to let it buffer).

Q: How much can modders do on the map?

A: Here’s me making my own map. These tools are part of the game btw. They’re designed to let general gamers use (non-technical).

 

484,131 views 135 replies
Reply #126 Top

Game.AIDoSmartStuff()

 

Reply #127 Top

Why is everyone complaining about Diplomacy... I love it when an A.I. Player wants to cooperate with me rather then just smack me across the mouth. As long as they prove to be honorable I'll never betray their trust (That's just the way I am.)

That being said I'd like to see the A.I. (Especially those ruled by more benevolent Sovereigns) make genuine efforts to avoid war and find peace rather then just try to rape everything dead.

Obviously you'd still have your psychopathic warmongering lunatics (Of which PCs would probably be the biggest perpetrator) but I'd like to see a vastly more realistic attempt to find peace rather then just try to kill everything cause its there. 

Reply #128 Top

Quoting Frogboy, reply 124



Quoting Bill_Door,
reply 121

Quoting Frogboy, reply 120Regarding moddability, people should be careful in setting their expectations too high on what you can mod on release.  While Python is the scripting language we're using, it only can do things that we expose to it and that will be a long long process that will only begin during the last beta and continue over the next couple of years.

For instance, I don't see how someone could add an espionage system into the game using even Python because first they'd need to define what exactly espionage does and then see if the engine supports doing that.


Then why aren't you going to give us some of the C++, like Civ 4 did?  If you can't even add a epionage system with python, then whay are you limiting us to it?

For example, does this mean it would be impossible to give individual body parts their own HPs?

What is the point of python if it only limits the possibilties of modding?


I don't think you're fully understanding what we mean by modding and what Python and such is.

First, you have to define specifically what you want to do. What is "espionage" specifically?

If you wanted to create your own armor (body part) piece or weapon, you don't need Python or C++. That would be XML.

Python is a scripting language. The idea is that certain functions of the game can be called with python scripts to build onto the game.

But there is no DoEspionageStuff() function.  Programming and modding requires getting very very specific. I wish it weren't the case as I would love to be able to have Game.CoolGameRunNow() and be done.

I fuly understand that python is a scripting language, and as such can only do what the source lets it do.  Which is why having some of the source to modify would let people do things that you could never guessed at, as you can add new functions to call.

As to my example: I meant modding the game to not track the HP of a soldier, but of a soldier's individual body parts, i.e.

Head: 100/100 (Uninjured)

Upper Body: 80/100 (Injured but fully recoverable)

Right Arm: 60/80 (Will never recover fully)

Left Arm: 0/0 (Chopped off)x_x

Etc...

I assume this would not be possible with python, perhaps I underestimate it.  But if I had access to the unitDie() function, and could write functions of my own, this would be possible.

I guess the thing is, unless you export every single function to python, you cannot accomadate for every crazy thought that a modder could have.  If you release the SDK like Civ IV did, you could.

Reply #129 Top

Quoting Frogboy, reply 126
Game.AIDoSmartStuff()

 

add a semicolon and I think you're done with programming your AI.

Reply #130 Top

Quoting KellenDunk, reply 129
add a semicolon and I think you're done with programming your AI.

Unless it's python.  ;)

Reply #131 Top

Did Brad mean by "no flying" that there will be no spells which enable it? That's a huge surprise. Or did he mean that no "human" units will be able to fly out of the box? That seems reasonable.

Reply #132 Top

Quoting Frogboy, reply 124
But there is no DoEspionageStuff() function.  Programming and modding requires getting very very specific. I wish it weren't the case as I would love to be able to have Game.CoolGameRunNow() and be done.

Just expose the game data in python then anything can done. In a world of 100x100 tiles and 10 players :

class World

{

  int map[100][100];

  int gold[10];

  int relations[10][10];

};

If you expose those variables in python then it is possible to do a espionage  system which will be able to explore the world through espionage while paying said espionage with gold. Or spies could try to steal gold and failed aptempts could lower relations.

Exposing game data is way less work than doing ton of helper functions in the style of DoEspionageStuff() CreateWanderingHero() CreateWanderingMonster() CreateWanderingCaravan() CreateWanderingAngryPeasants().

But I guess you might be worried about data behaviour assumptions in the game code, the difficulty modders would face in having to directly manage game data or worried about the potential for cheating that exposing all game data would create.

Yes, I know tiles, relations and maybe even gold requires more than just an int to be described and that no reasonable programmer would hard code a 100 or a 10 there. Just illustrating what I mean.

 

Reply #133 Top

Quoting Frogboy, reply 126
Game.AIDoSmartStuff()

 

See, the reason that doesn't work is you have to update it to the "Modern" l33t speak for the computer to understand what you want it to do. Example:

Game.AIWTFPwnThemBitch()

Try that, you'll have better results ;)

:D

Reply #134 Top

Is beta 2 today? Brad noted it will either on last Thursday -which i was not- or this week Tuesday which means today...

 

Or did i miss an update?

Reply #135 Top

Quoting calmon, reply 134
Is beta 2 today? Brad noted it will either on last Thursday -which i was not- or this week Tuesday which means today...

 

Or did i miss an update?

He said last Thursday or this Thursday.