Brad Wardell's Blog


Message from Elemental AI: I’ll see you in court

Published on Saturday, June 5, 2010 By Brad Wardell In Elemental Dev Journals

image The AI is unhappy. That is a summary of the complaint it filed with the federal court against me on Friday.

It is unhappy that it has to “learn” each map. Humans cheat all the time. Why can’t it?

A human player will pull up the mini map and figure out which general direction they should explore.  The AI? Nope. I won’t let it do that.  It doesn’t get to “know” anything about a map.

The AI points out that when we worked together on Galactic Civilizations that I let it ignore zones of control and just send units into other people’s “territory”.  By contrast, in Elemental, I don’t let it do that.  “Why not?” asks the lawsuit? (or the lawyer for the AI anyway).

The AI is very unhappy about the lack of “flying units”. I want it pointed out that there ARE flying units in Elemental. However, the AI cannot “train” so-called “scout birds” or get some random “uncover FOW in a given area” spell.  So yes, it will have to construct a habor, build a ship, put a trained scout unit onto the ship and sail the oceans if it wants to explore the world.

The AI is unhappy about the so-called “changing the rules since beta 1Z”. In Beta 1Z, all players started out right near some nice resources.  In Beta 2, we no longer guarantee this. There may be entire maps with no fertile land on it at all in fact.

It’s going to be a rough summer I suspect.

The AI Meat Grinder

Published on Friday, June 4, 2010 By Brad Wardell In Elemental Dev Journals

image

This is a little map I made called “AI meat grinder”. Nothing fancy but it is a good testing ground for the AI in terms of building an economy, managing resources, and finding different ways to play the game.

There are 4 islands. How should the AI get to them? Should it build ships? If it gets the Earth shard, should it raise a land bridge to the others? What about the precious few resources in the world. What if there are no good resources near by? How will it decide who to attack or whether it should be friendly with someone? How should it deal with NPCs? How much should they pay for them?

These are all questions that the AI has to answer and that has been the focus of a lot of my work for the past several weeks. Slowly but surely these things are getting in.  I read in the comments area where people wonder if this or that will get in, usually features that are less than 6 engineering hours to implement.

The long, hard, scary time consuming feature is the AI.  It’s the one feature that could delay the game beyond August 24th. If the game gets delayed, the alternative release is second week of February.  Everything else in the game is relatively straight forward (for instance, winner take all vs. retreating, regardless of what we decide, the solution is less than 5 engineering hours).  By contrast, having the AI intelligently colonize an island is a matter of 60 to 80 engineering hours.  As soon as we decided to have more than 1 land mass in the game, things get a lot more interesting, especially since we don’t have pre-made cities or maps where we can script in what the AI does (ah that would be a nice easy “cheaty” way – have the map editor let me put in AI priority points on maps).

We are thinking of including the meat grinder with the game so that people can actually see the AI do its stuff.

Elemental: June FAQ

Published on Thursday, June 3, 2010 By Brad Wardell In Elemental Dev Journals

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

 

Elemental: Modding

Published on Wednesday, June 2, 2010 By Brad Wardell In Elemental Dev Journals

While Element comes packed with its own lore, players and modders can create their own fantasy universe using either the game options (while setting up a normal game) as well as making use of the Workshop for modding.

The mod tools in Elemental are designed to let players design their own worlds in great detail.

The 4 major pieces of the workshop are:

  1. The Tile Editor
  2. The Map Editor
  3. The Item Editor
  4. The Effects Editor

The Tile Editor is used to create new tiles in the world. These tiles can be purely cosmetic or can serve a specific purpose. Every tile in Elemental was created using this tile editor.

image

Designing your tile

 

Once a tile is created, the player then can bring it into the game and assign what that tile actually is (or in XML assign it to be a city improvement). Is the tile a sorcerer’s fortress? An evil dragon? A wish giving demon? The map editor is where the two are connected.

image

Making your own map

These maps can then be saved and loaded in game.  With it, a player could create their own RPG/like adventure/strategy hybrid and share it with others online.

In addition, solving quests, finding secret locations, loot, etc. all can provide different types of items. Players can use our large catalog of existing art content or they can use their own created content in game.

image
Creating your own items

 

Players interested in adding new spells to the game or who want to apply affects to tiles

image

Creating your own spell effects and other effects.

image

Effects can be placed in a tile to help give it extra pazazz.

Elemental: Kumquat Graphics Engine

Published on Tuesday, June 1, 2010 By Brad Wardell In Elemental Dev Journals

Elemental makes use of a brand new 3D engine developed specifically for PC strategy games. Its multithreaded design along with dynamic LOD (level of detail) allows for it to look great on a wide range of hardware.

To see and understand why Elemental can look good on low end hardware and yet benefit further from higher end hardware see for yourself how the dynamic LOD works:

image

Look very very closely here.  This isn’t one 3D object. This is dozens of 3D objects. The engine determines how powerful your hardware is and based on that can choose to display objects based on that.

As more objects come into view, certain “less important” objects start to fade away:

image

Did something change?

Look closely. Did something change?

imageHow about now?

As a result of the object-based system that Kumquat provides, the graphics look identical at a casual glance and yet, the polygon count is dramatically less in the third image.

 

And users with very low end hardware can simply play using the sprite based output (cloth map mode):

image

Because Kumquat is a PC-only graphics engine, it can make a different set of trade offs than the traditional cross-platform engine. Namely, it can assume players have a considerable amount of memory (1 gigabyte is the minimum total system memory to play a Kumquat based game – very little on a PC but twice what a current generation console has).  Thus, a given game object can be made up of many sub-objects (which use more memory) but can be dynamically turned on or off based on 3D hardware instead of having to load up lower-quality 3D models.

Elemental: Researching Technologies

Published on Tuesday, June 1, 2010 By Brad Wardell In Elemental Dev Journals

image

After the Cataclysm, much of the accrued knowledge of the world was lost. One of your priorities will be to find scholars who can recover this lost knowledge.

Elemental doesn’t have a traditional technology tree. Instead, it has 5 research categories (the Kingdoms and the Empires have different categories). When enough research has been done, a breakthru in that category is made and the player is presented with possible technologies to learn at that point. 

When choosing a category, a given technology is color coded (green, yellow, red). Green means that technology will be available upon the breakthru being made.  Yellow means it might be available. Red means it will possibly be available. In addition, there are certain technologies that are so rare that they are not displayed until the time of the breakthru.

Each new level of a given category takes more research to achieve than the previous. Hence, players have to be mindful of what technology they choose, particularly when deciding whether to pick up a rare technology that becomes available.

Acquiring Knowledge

There are two primary ways of acquiring knowledge in Elemental.  The first way is to construct improvements to your city that attract scholars. The second is to actually recruit famous scholars, inventors and other specialists as you find them.

image
Constructing Studies

 

image
Recruiting NPCs

Elemental: Basic Gameplay

Published on Tuesday, June 1, 2010 By Brad Wardell In Elemental Dev Journals

2010-05-20_2012

Elemental is a turn-based strategy game that takes place on a world that was once filled with magic but now finds itself recovering from a great conflict known as “The Cataclysm”. In this post-cataclysm world, only a handful of of beings are capable of casting spells. These beings, known as Channelers, have begun to set up realms across the world.

As one of these Channelers, you are the sovereign of a Kingdom or an Empire.  The Kingdoms are realms set up by sovereigns who channel magic through the power of life.  The Empries are realms set up by sovereigns who channel their magic through the power of death.  As their realms expand, the environment changes based on which source their magic comes from.

Across the world are strewn the four basic elemental shards of power (Earth, Air, Fire, Ice). Controlling these shards allows a given sovereign to cast ever more powerful spells.

In addition to magic, players can research technology, design units, go on quests, negotiate treaties, build a family dynasty, recruit heroes and much more.

Amassing Power

As one of the few channelers in the world, you have the capability of sacrificing some of your essence by imbuing champions in your realm with the ability to cast magic as well. On the one hand, this decreases your ultimate individual power capability, on the other hand, your champions can become powerful enforcers of your will across the world.

More than 4X

While amassing resources is a critical part to building a successful realm, the world of Elemental is filled with neutral beings of various forms who can be recruited to your side.  Moreover, players can quest to obtain key artifacts, weapons of great power, and critical knowledge. Having the biggest army is not necessarily the best path to victory. There are many different strategies that change from game to game.

Elemental: AI difficulty levels

Published on Monday, May 31, 2010 By Brad Wardell In Elemental Dev Journals

In Galactic Civilizations, Sins of a Solar Empire and Demigod, the difficulty levels of computer players were either hard coded or very hard to access for players.

In Elemental, the difficulty levels are in an XML file called CoreDifficultyLevels.xml

image

The game will read from the different difficulty levels and display them in game. Players can create new difficulty levels themselves if they’d like by changing this file.

In Galactic Civilizations, I only had 3 real variables to play with (and were all in a .h file).  They were the AI intelligence, the AI money ratio, and whether the AI had FOW cheats. 

The AI intelligence ratio was how often the AI got to use the “smart” algorithms versus the “normal” algorithms. The smart ones took up a lot more CPU but produced much more intelligent result (they are the halmark of what we used to refer to as the “SDS/AI” back in the OS/2 days).

In Elemental, we have a few more variables to play with such as whether the AI gets to use combat magic, how many points the AI gets to add to their sovereign (compared to the human player) and their starting funds.

What’s nice about a data driven difficulty system is that players can create their own difficulty levels as they see fit very easily.  One of my favorites (that I would do in my personal builds of GalCiv) was to give the AI a ton of money but make it absolutely stupid so that I was just trying to make my way through hordes of poorly designed ships and terrible unit strategy.

With Elemental, I could see players creating all kinds of interesting scenarios because (and this should be remembered because it’s important) the keys are not file based. That is, you don’t have to put things into coredifficultylevels.xml. The game simply looks in directories based on the keys. So you could literally create a new difficulty level in a file called BobsSuperCustomLevels.xml and hand them out.

One AI promise from me personally to you guys

The AI in our games is only as good as I am. The better I get at the game, the better the AI will get.  So while I’m working hard to make sure the AI in Elemental is good, know that it will keep getting better long after release.  In the Starcraft 2 beta, I started out in Copper. Now, I’m in the Platinum league. Practice makes perfect.

Making your own world

Published on Saturday, May 29, 2010 By Brad Wardell In Elemental Dev Journals

Elemental_1275167226

Getting ready for beta 2. It’ll either be this Thursday or the following Thursday. Last week I was visiting journalists on the west coast showing off Elemental so i didn’t get to work on the AI and some other pieces of the game that I think need to be a bit further along before beta 2 starts.

The modding tools won’t be part of beta 2 (they come with beta 4 which is expected to start sometime in July).

Now, the richness of the included modding tools is not because we’re anti-DLC.  There will be plenty of expansion packs for Elemental in the years ahead.  But we strongly believe that the community itself may find lots of interesting things to do with the world of Elemental (and beyond) if we provide consumer-level tools to do cool stuff.

If you think that screenshot above is neat, wait till you see the video since all of that is animated too.