Brad Wardell's Blog


DeskScapes 3 and WindowBlinds 7 quickie screencast demos

Published on Tuesday, November 3, 2009 By Brad Wardell In Personal Computing

image

WindowBlinds 7 quickie demo: http://screencast.com/t/HM3IdyykvJxJ

 

image 
DeskScapes 3 quickie demo: http://screencast.com/t/wwhSKh7x

 

Do you have Windows 7? Do you have a 64-bit system? Then you should have Object Desktop which not only supports 64-bit Vista and Windows 7 64-bit but has native engines for them.

Object Desktop: Windows: XP/Vista/7

Elemental: And now for something completely different

Published on Tuesday, November 3, 2009 By Brad Wardell In Elemental Dev Journals

It’s not the loudness

I’m a stalker.

No. Really. I am.

I don’t just read the feedback on Elemental in our forums. I read the feedback on lots of other forums. So I lurk on sites like RPG.net, Octopus Overlords, PCCohort, Qt3, CnardPC, WArgamers.com, rpgcodex.net, tacticularcancer, colonyofgamers, bay12games.com, Shrapnel Games, penny-arcade forums, etc.

And one of the most consistent concerns I read is that the hard core beta testers who post the most will influence the game to become too hard-core.  There is nothing to fear.

I have happily debated, over the years, the merits of games like Space Empires V vs. Galactic Civilizations and such.  And while Elemental will be “deeper” than Galactic Civilizations, players are not going to have to micro-manage sword production or something.  Elemental is, at its core, a macro-game. Your stratregy will have more to do with your victory than tactical prowess.

That doesn’t mean that the battle system won’t be heavily modified to be richer than we currently have it but it does mean that we will not have cutting versus slashing damage. 

Where things stand with the beta

We are officially at Beta 1-B.  The economic phase of the beta.  Several weeks have been schedule to work on this until we’re all happy with it. So expect more beta 1-B updates before we get to the initial AI skeleton beta.

Elemental Economics

My sovereign founds a city.

The city has an initial prestige based on the prestige ability of that civilization (typically 10).

Each turn, the population of that city grows by prestige/10 + existing population*prestige/10 % pre turn.  The first number represents sheer prestige, the second one is meant to model natural population growth (babies).  Sure, we could have a “fertility” rating but we are trying to keep the number of variables down to a minimum so that players aren’t having to build 20 different types of buildings.

Each citizen pays taxes at a fixed rate. There is no slider to increase taxes ala Galactic Civilizations. Instead, if you want to increase income, you need to increase the wealth of your city through improvements. Your money comes from people.

When you harvest a resource (food, metal, crystals, stone, whatever) your city gets M per turn. In addition, your other cities will receive Q per turn (typically 1.0).  If they are connected by roads, they will get Q * R (road bonus which is typically 2.0).

You can increase these variables based on improvements you choose to build in your city.

Each citizen produces T technology units per turn (typically 0.10).  You can increase this rate by building schools, libraries, and other improvements. 

Building a new improvement in your city takes L turns for the labor plus S turns based on the supplies needed.  So a fancy estate that increases the prestige of your city may take 10 turns to build due to labor + an additional 2 turns to get the 4 stone needed to construct it. Improvements also have an up-front cost that is the labor (in turns) X A for the labor cost per turn (typically 10.0).  So that estate would cost 100 gold to build because it takes 10 turns of labor.

You can produce soldiers. Soldiers cost Z gold per turn to keep around. They are the main drain on your economy per turn.

Researching

We are playing around with different types of research mechanisms for Elemental.  The current research screen UI is deplorable.

Here is a rough mockup of a new one that we hope to make available next Thursday.

image

The idea being that players would choose amongst the 5 research categories:

  1. Civilization
  2. Warfare
  3. Magic
  4. Adventure
  5. Diplomacy

When they chose a category, they would get a list of technologies that may become available when they make their breakthru.  If the listed technology is green, then it will definitely be available when you make your breakthru.  If it’s yellow, it might be available when you make a breakthru, if it’s red, it probably won’t be available.

Some technologies will require a pre-requisite. You can’t simply (by luck) get access to say plate metal armor. You would have to research warfare, then defenses, then armor and then after that you would have a chance to get plate metal armor. The more points you have in a particular category, the greater the odds that one of those techs will pop up.

So let’s walk through this:

I choose warfare: level 1 and I see:

  • Barracks (green)
  • Weapons (green)
  • Defenses (green)
  • City Walls (yellow)
  • Archery (yellow)

Warfare level 1 costs 10 technology points (which at this stage means 10 turns).

I know I want to get to plate mail so I pick Defenses.

10 turns pass…

The breakthru window pops up and I choose Defenses. City Walls also showed up but Archery didn’t.

The research window comes up again and I see this:

Warfare: level 2

  • Barracks (green)
  • Weapons (green)
  • Armor (green)
  • City Walls (yellow)
  • Archery (yellow)
  • Fortify Position (red)

Warfare Level 2 costs 20 tech points (which at this point in the game is taking 14 turns).

14 turns pass…

The breakthru window pops up and I get to choose between Barracks, Weapons, Armor, and Fortify Position.  Now, because it was red, it means I got pretty lucky that it is an option and next time, it may not show up as an option. Do I pick that now or do I go with Armor?  I choose Armor anyway.

Now I see this:

  • Barracks (green)
  • Weapons (green)
  • Leather Armor (green)
  • Plate Armor (yellow)
  • City Walls (green)
  • Archery (green)
  • Fortify Position (red)

As you can see, City Walls and Archery have become green which means they will always be choices because enough points have been put into Warfare that they’ve gone from being maybes to certainties.

Warfare level 3 costs 40 points (which at this point will take 20 turns to get).

The other thing about this system is that we can have a giant pool of minor but interesting techs that normally don’t show up in a game but when we go through the new game generation, we will randomly give them a slight chance to come up during a game. So, for instance, you might get a tech called “Forest Defenses” where if you have it, it will give your units extra defensive bonuses in a forest.  All players would have access to such a tech (i.e. it’s not per player though we might make some race-based).

We’re finding this system to simply be a lot more fun to play and give the player a lot more interesting choices.

The idea here is that you’re researching an area of technology, you have breakthrus and the player can then choose what that breakthru was.

Next Beta opening?

For those who are pre-ordering, we will probably let more people join just before Christmas. But that really depends on the state of the game.  Right now, we’re still working out basic stuff like crashing, memory leaks, and low level game mechanics.  I don’t anticipate the game being “fun” until Beta 2 and even then it’ll still be pretty raw.

A typical “beta” program that is open to the public wouldn’t start to what we are calling Beta 4.  So others might call Beta 1, 2 and 3 “alphas” if you’re into the semantics of this kind of thing.  But it gives you an idea of the distance that must be traveled between where we are now and where we expect the game to be something that a sane company would want its fans to see.

Why are we torturing our top supporters?

Stardockers are a rare breed of power user / gamer.  Most of them know what they’re in for already.  The reason they got involved is because they know that we’re reading their “walls of text”. We may not always respond, but we’re reading them, thinking about them, and will make real changes.  We’re making the game with them.

When all is said and done, every game design decision the game has will have to be defensible to the main base.  Hence, there will be posts arguing that the magic system should be different or that the research system should be different.  The question is whether the design decisions that are ultimately made can be logically defended and whether most of our target audience likes what we ultimately have chosen.

Demigod November Q & A

Published on Monday, November 2, 2009 By Brad Wardell In Demigod Journals

Big thinks to Pacov for putting this together.

 

Q: Demigod has been out 6 months. What would you say are it’s biggest strengths at this point?

A: The game mechanics are extremely good.  I would say it is the strategy game to beat when it comes to setting up a weekend LAN game with friends. Any other game I’d want to play would take hours of explaining the ins and outs to friends to get them to be remotely competitive.  In Demigod, you can get people together quickly who can play the game.

At the same time, the game still allows for a huge difference between skilled players and new players. The big thing for me though is that someone can play Demigod with only a few minutes to practice.

Q: What are its weakest areas? What areas are you most disappointed?

A: I’m a glass is half empty kind of guy. So I tend to always be the dark cloud on this kind of thing.  For me, the most annoying thing is playing online. It’s an age old problem though that is really brought out in Demigod because it’s so multiplayer centric.

Specifically, you get online and into a game only to realize someone has Bit torrent running in the background making the game lag for everyone because the game has to be in sync.

Then you have the people who blame P2P for that problem. No, it has nothing to do with that. It has to do with the game needing to be in sync. If the units were all projectile based (like TA/SupCom/Starcraft) you wouldn’t necessarily need to be in perfect sync. But in a melee centric game, you do or else you get into all kinds of other trouble. 

Lesson I’ve learned is that every strategy game in the future that has MP needs to have not just ping but a quickly throughput rating so that people who have stuff running in the background can be ejected. Sorry, just something that drives me crazy about playing online with random strangers.

Q: What is happening with balance suggestions?"

A: I send them over to Mike Marr at GPG to evaluate. They are implementing some of them. 

My list of things includes:

1. Queen of Thorns needs to be made more powerful.

2. Some of the items need to be made better (I’ve sent the threads over to Gas Powered Games to look at).

3. There need to be more game options for dealing with the AI (that’s in our internal build so hooray!).

Q: Why do pantheon players get experience when playing against AI.

A: The whole pantheon experience is something that is a challenge because on the one hand, you want people to only play against people but on the other hand, you don’t want people to have to wait 10 minutes for a game to start and there are times when there aren’t that many people playing online on pantheon.  We don’t really have a good solution here.

Q: What is the top priority at the moment?

A: Getting the new Demigods integrated with the v1.19 code-base so we can begin testing.

Q: When will the 2 new Demigods be released?

A: I am hoping that the beta for them will start this week. It’s a matter of integrating them into people’s accounts seamlessly so that we can potentially sell demigods in the future if we eventually wanted to migrate the game to a LoL or HoN style model for certain markets.

Q: What sorts of minion UI enhancements do you see happening?

A: I know I’d like to be able to bind minions to hot keys (so I can move my monks independently for instance).  I would have to talk to GPG to find out how hard that would be to implement at this stage.

Q: You’ve mentioned that Demigod wasn’t designed to be a hard-core competitive game. Why was that decision made?

A: It was a technical decision more than anything.  For instance, as a former PGL player I can tell you right now that if Demigod wanted to be a serious online competitive game it would need to have its LUA scripts secured some that griefers and cheaters couldn’t potentially hack it in real-time.  To me, that’s a fundamental requirement.

The other issue is that the game would need to have had a much bigger budget in order to make both the single player and online more expansive.   For instance, last night I played a game where I quit because it was so laggy.  If this were a competitive game, I would have been compelled (and aggravated) to play through a laggy game.

Without tools to penalize or control people who make playing online a horrible experience, the entire system is open to abuse.

Q: Is Voice Chat coming to Demigod?

A: Not directly. It would come via Impulse: Ready to Play and the built in overlay and that’s not going to happen until next Spring so it’ll be awhile.

Q: Will Torch Bearer get a fire on move animation so it can fire and move in fire mode?

A: That would have to be answered by GPG.

Q: How can the community become more involved in future updates?

A: Modding.  Demigod itself is largely programmed via mods. v1.2 has a mod manager that will let people install their own mods.  I would like to see it so that future updates bundle in third-party mods.

Then, if you don’t like our values for items or whatever then you guys can just pick a mod that you guys agree on. 

Q: The ladder system penalizes people who play because people who never play start with 1000 points.

A: This is indeed a problem.  For Epoch 3 I think we’re going to have to revisit the entire ranking system further because as someone who wins most of the time but has an experience rating of 300, I’m (understandably I think) annoyed that my rating is lower than someone who has never played.

Q: Will the dodge cap be removed?

A: I hope so. I’m going to lobby that it either be removed or raised dramatically given how fun that ability is.

Q: Is it possible for German users to update the game with a different text found in http://nokthra.impulsedriven.net/article/347922/A_new_german_translation_for_Demigod_hits_the_ground

A: I wish but Atari has made it clear that we are not to do something like that.  Believe it or not, Atari, not Stardock is the worldwide retail publisher for Demigod except for North America.  If you bought the game in a box outside North America and you’re posting here, please keep that in mind.

Q: So when will Demigod v1.2 come out?

A: Quick answer: When it’s done.  Longer answer – we are still pursuing the strategy of releasing updates for it in pieces rather than one huge update. 

Q: But originally you said you’d release v1.2 in September. It’s November! What’s the deal?!

A: Our estimates were made back during the time when we had planned on having public betas of features. But there has been such an outcry of “splitting the community” that we had to eliminate the public beta process which in turn has greatly increased the internal QA resources required which, naturally, increases the time to release. As a result, the release had to be broken into bite-sized chunks that could pass through QA one piece at a time.

It draws things out but on the other hand it keeps the MP community as one cohesive entity.  It’s a trade-off that we think most users prefer.

Q: How can I tell what problems GPG knows about?

A: Sorian has a thread that discusses just that:

http://forums.demigodthegame.com/364824

WindowBlinds skin formats: The right tool for the right job

Published on Saturday, October 31, 2009 By Brad Wardell In Object Desktop blogs

WindowBlinds is the engine.

The skins are the content.

UIS1 and UIS2 were the two skin formats WindowBlinds has supported.  UIS1 for “simple” skins and UIS2 for complex skins.

Both were designed in an age where few people wanted their systems to resemble Windows classic let alone Luna (the Windows XP look) .

Windows Vista’s Aero changed that.  Because (like me) think Aero looks good.  But Microsoft severely limited the customization options of Aero for reasons most of us can’t fathom. 

But we skinners only has UIS1 and UIS2 skin formats.

image

If making an Aero like skin required lots of work, then skinners might as well spend that same amount of time to make something truly original right?

Therefore:

image

As a result, nearly all the Aero-like skins were designed by Stardock because skinners didn’t want to spend a ton of hours to make a skin that simply looked slightly different from Aero.

Unfortunately for skinning, LOTS of users wanted looks that were just a bit different from Aero.

This is why the new skin format in WindowBlinds 7 is such a big deal.

image

Of course, there are color options in Aero but you have no choice but to deal with the default weird texture and other behaviors that you’re still stuck with regardless of the transparency.

image

But because of all the effort involved in making a traditional WindowBlinds skin, that meant that previously, no one would make simple Aero skins like the one below that can now be done in seconds from within the WindowBlinds configuration interface that are obviously not possible with what’s built into Windows.

image

WindowBlinds 7 comes out in early November. Object Desktop users can do this now though.

Yes Virginia, WindowBlinds 7 returns skinning to being a killer app again

Published on Saturday, October 31, 2009 By Brad Wardell In Object Desktop blogs

image

Alas, Poor Skinning. I knew him…

Or so it seemed.  Skinning was huge for awhile. And then it wasn’t. 

What happened?

I’ll tell you: Windows stopped being so ugly and there was no easy way to simply customize Aero(the default glass look of Windows Vista and Windows 7).

Until now.

In the years since Windows Vista, if you wanted to have say a metallic version of the Windows Vista UI, a skinner had to spend as much time making that (i.e. many days) as it would take to create something outrageous. And so, most skinners chose outrageous because let’s face it, people don’t appreciate the amount of effort it takes to make a subtle change.

And so skinning returned to the niche it was prior to Windows XP’s release.

WindowBlinds 7 changes that.  Of course, it still supports all manner of total Windows makeovers. But WindowBlinds 7 also supports skinning Aero itself. That means no worries about compatibility, performance, or memory because it’s still Aero.  And, best of all, the effort involved is dramatically less.

WindowBlinds 7 is due out in early November for everyone but if you have Object Desktop, you can play with the late betas now.

Don’t be afraid of the sausage factory

Published on Saturday, October 31, 2009 By Brad Wardell In Elemental Dev Journals

If you’ve been through Stardock betas, none of what I’m going to say is going to be news to you.

But for everyone else…

Most companies – the smart ones anyway – carefully control the message.  You won’t see early screenshots or quick sketches shown to the public of most games because internally, most games change dramatically during their development.

We game developers like to give the impression that we have the MASTER DESIGN from the start.

We know what we’re doing.

From the start.

Right?

No.

Many well known games that seem genius today actually started out very different. But gamers don’t know that.

But I’m not a game designer. Not really.

I’m a gamer who happens to make games.  That’s how most of us at Stardock feel. We are GAMERS first.

Our games are not a work of art or a craft or even a job.

They’re games designed to be fun and we’ll do whatever we have to do to make sure they’re fun.

With Elemental, we have an unprecedented budget (for us) to work with.

  • We did Galactic Civilizations II with 3 programmers and 2 artists in 18 months.
  • We did The Political Machine 2008 with 1 artist, 2 developers in 6 months.
  • With Elemental, we have 8 developers and 7 artists.

Still small but it’s really not but we can do a lot with relatively few people.

And for those who are interested in seeing how the game industry those reading these journals can see the iterative process of how things are done – including when we change our minds on things.

It also means we’ll be very open about what games we like and get influences from. 

Inspiration

Here are some great games we play and can look at for ideas for instance:

Let’s see if you guys can guess all these games from their screenshots:

image

image

image

image

image

image

The Soul of a game

One of our major goals for Elemental is to ensure the game has a soul. What I mean by this is that we don’t want everything abstracted to the point where the player doesn’t feel like they’re IN the game. That’s one of the reasons why we’re not having Orcs and Elves in the game. If someone else wants to make those fantasy races, that’s fine.  But we want Elemental to have a very definitive game world that it is in that brings the player into the game’s world. Then, later, if they want, they can add in their own orcs and elves and what not into the game. 

But we don’t want to just have a bunch of different factions and races that are simply generic and just different stats.  That was a problem in Galactic Civilizations that I don’t think was really solved until Twilight of the Arnor which finally gave each race its own unique technology tree.

In Elemental, I just think there’s so much more possible because we have the luxury of making a game with you guys instead of simply foisting a game on the public.  There’s just too much of an opportunity here to make something that’s new but brings forward some of the best elements from games we all have played and loved.

I"m not the only one who thinks the tech screen sucks right?

Published on Saturday, October 31, 2009 By Brad Wardell In War of Magic

Before I get PM's, I'm the designer of Elemental and I work at Stardock so I'm NOT flaming the game itself I'm trying to make it better.

The research screen in Elemental is not fun. It's work. It's work to use. It adds nothing to the game other than feeling like it's necessary.

I think a lot could be learned from Master of Orion.  I like the idea of researching an AREA of tech and when a milestone in that area is reached, a screen pops up and the player can choose the breakthru they want to have just uncovered.  

When researching a given area of tech (warfare, civilization, magic, diplomacy, etc.) they player would know the odds of a particular tech being available once that milestone is reached.  In addition, some very rare technologies might pop up once that milestone is reached.

For instance, maybe under warfare there's a 1% chance that a breakthru in the warfare area might allow the player to get "doom fire" (a tech for helping in sieges) but that means in most games, that tech won't be an option.

That's the kind of thing we're thinking of.  Right now, researching tech is boring and tedious. 

We don’t like the research mechanism

Published on Saturday, October 31, 2009 By Brad Wardell In Elemental Dev Journals

Every 4X game we’ve made going all the way back to the beginning we try different ways of researching new technologies.  Galactic Civilizations I and II both originally had very different research systems.

The one in Elemental we have in the beta we don’t like so we’re going to be making pretty radical changes to it in the upcoming builds.

Here are some of the key elements that we WILL be making more of a focus in keeping:

  1. Infinite techs. That is, the tech tree doesn’t end. There’s always a new tech being generated once you reach the “end” of the official techs.
  2. Random techs. Techs that aren’t in every game that add spice to the game world.
  3. Situational techs.  Techs that show up because certain in-game criteria are met.

So stay tuned on that.

Elemental Beta 1-B update

Published on Thursday, October 29, 2009 By Brad Wardell In Elemental Dev Journals

THE NEW BETA IS COMING TONIGHT.

A few notes about this update:

  1. The random video card overheating issue has not been addressed. As long as you don’t have an ATI or nVidia card you should be fine. Otherwise, please be prepared to replace your video card. We do expect to decrease the severity by Beta 3 (late Winter).
  2. The Boot Sector handle lock issue is addressed on 32-bit machines but not 64-bit. As a result, most 64-bit machines will likely still experience a hard lock that will require reinstallation of the OS.
  3. The uploading of .XLS files from users machines to our servers has been addressed in this build. However, .XLSX files are still being submitted.
  4. All .MPEG, .AVI, and .WMV files on a user’s machine are still being uploaded but .MOV files are no longer being uploaded to my computer.
  5. Random profanity strings being generated by the map generator have largely been taken care of.
  6. Keylogging of passwords fixed except when on the Internet.
  7. Rootkit updated to use less memory.

Screenshots of key new features:

image 
Forests and map generation improved.

image
City building has been improved.

image
Unit design has been improved.

 

image
Resource system updated

 

Okay, seriously, here’s what’s new:

********************
** Beta 1B Update **
********************

+ Resrouce Management Overhaul

+ Most Resouces no longer use STORAGE, instead jsut having their base 'Value'

+ When a building requires materials, they will get the value produced instead of a weird application of stored units and per-turn values

+ USER SUGGESTION: if a resource isn't available, the city uses the resources 'Rummage Value', so now different resources can have different gathering values when not available to a player

  + Example: Lumber is 'rummaged' at a value of +0.85 units/turn, whereas Dragon Scales may be rummaged at a measly +0.05 units per turn

+ UI updated to better explain the economic system

+ Tweaked City details window

+ Removed population from city resource display

+ Updated Bink and Miles binaries
+ Changes to MultiplayerClient.cpp

                + Disabled CVP crash reporter (so we use the one in Elemental), which fixes crash reports being named wrong and not grabbing debug.err

                + Changed download file code to use SecureHTTPPoster directly instead of using CVP code so that it uses the code with the fix for the buffer overrun
+ Fixed a bunch of xml files that had errors in them

+ fixed a crash in save code that was caused by an invalid xml file

+ Fixed city unit building/destruction

                + Added two variables to city.h/.cpp to keep more accurate track of the number of available subtiles.

                + Changed AddImprovement() in city.cpp to reference available subtiles instead of tiles.

                + Fixed visual problems with the changes

                                + Made FillWithCityStats() in MainCityDetailsSubwnd.h public so I could call it between turns to update the number of available tiles as the player builds.

                                + Changed FillWithCityStats() function to reference available number of subtiles instead of all subtiles.

+ added code for unit desertion
+ Fixed bug where spawned creatures were released twice when killed, which would cause a crash later in the turn
+ Fixed a bug I ran into where the FOW calculator didn’t know how to handle rectangular maps (only square ones).  This caused an assert in debug and probably caused worse problems in release.  This fix breaks current save games.
+ Players generate +1 Research point by default

+ Fixed depth fighting issues between the city subtile graphics and cliff tiles on the cloth map.

+ Added saving and loading of improvement construction info, if needed

+ Moved functions pertaining to improvement construction to a new file ImprovementConstruction.cpp

+ Tweaked some construction turn estimates
+ MEDALLION BOXES IMPLEMENTED!!!

+ Checked in modified dxpacks for each screen with "MedallionBox" tags

+ Medallion List copy constructor now copies the boder list

        + Report Window Items now have a SetBorderFile function

        + Report Window Items now have a virtual GetGameObject function which is used to set a medallion for that object in the report

        + Logo Types now support a "Border" XML field

        + Changes to Medallion Box edit field:

                + Modified how Battle Initiation screen handles the data so it works better with medallions

                + Modified how Battle Resolution screen handles the data so it works better with medallions

                + Modified how the Battle Resolution Casualties screens handle the data so it works better with medallions

                + Modified the following screens to support new medallion box edit field:
+ Unit types now save quotes
                + You can enter quotes in the Save Unit Type screen
+ Set up new stat fields on Save Unit Type screen
+ Implemented new "MedallionBox" UI control

      + DXPack Tag: "MedallionBox"

      + Use the SetGameObject function to set what game object you want to display

            + It will use the medallion data of the object to show the medallion for the object

      + Medallion is broken into 3 layers:

+ Mask: A transparency map (Alpha transparency represents transparent area of final composite)

+ Border: An image of the border around the medallion (Alpha transparency represents area where Image will be blended)

+ Image: An image that will be displayed inside of the border (It is shifted to fit inside the border area)

      + Created new shader for the Medallion Box

      + Created new scene node to render the Medallion Box

      + Added Medallion mask image to CVS

      + Added Uninitialize function to ElementalShell to clean up the medallion boxes

      + Added a medallion border list to the CMedallionsList class

            + added GetMedallionBorderFromEnvironmentType function

            + added SetMedallionBorderData

            + added GetmedallionBorder

            + added support for XML fields:

                  + Border_All

                  + Border_Default

                  + Border_Grassland

                  + Border_Evil

                  + Border_Barren

                  + Border_Swamp

                  + Border_Desert

                  + Border_Arctic

            + NOTE: These were patterned after the existing code for medallions

+ These functions (and the existing medallion functions) and xml fields are hard-coded to certain environment types

+ This could prove problematic later since we want to have non-hard-coded environments

                  + We need to address this NOW 

      + Added GetMedallionBorder functions to:

            + CResourceHoard

            + CGoodieHutType

            + CResourceType

            + CUnit

            + CGoodieHut

+ Hooked up unit design screen changes

+ Units in training info card displays resource costs, and units in the field display wages

+ Merged Cari's infinite tech display stuff with the checked in research entry code

+ Changed research entry pie bar to completely ignore infinite tech bonuses

      + Pie bar is handling it correctly, but I couldn't get the milestone entries in the right spot yet

+ Fixed tech manager stopping research if there were still infinite tech bonuses to be researched

+ Fixed a crash in the tech status bar on the main UI

+ Made the tech and spell status bars transparent to not steal the mouse messages for the edge scroll

+ Fixed depth fighting issue between the selection graphic and cliff tiles on the cloth map.

+ Removed hard-coded sizes for render targets in the Elemental Full screen window

+ If the player has a city, but no research set, and they press the Turn button, the game will automatically pop the research window up, along with a message box explaining that they have not set a research track. After that, they are

free to go on to the next turn.

+ If the player tries to access the research screen before they have built any cities, the game will pop up a message box saying that they need at least one city to conduct research.
+ Fixed full screen background window - was using incorrect depth buffer

+ Fixed mem leaks in full screen background window

+ Fixed thumbnail generation where some machines were not able to generate thumbnails

+ This was caused by the multisampling not matching between render target and depth target

+ Fullscreen background window has been modified to use a valid depth buffer when rendering to texture

+ Fixed mem leaks in MWin texture rendering task

+ Created new class, CElementalDefs, to read in and store many of the values that were hard-coded in ElementalDefs.h. The old hard-coded #defines have been commented out, and all references to them have been switched to use the data

stored in CElementalDefs by way of its global pointer, g_pElementalDefs. Here’s a list of the values that have been added to CElementalDefs so far:

      -ESSENCE_COST_NEW_CITY: CElementalDefs::GetNewCityEssenceCost( )

      -ZOC_IMPROVEMENT_INFLUENCE: CElementalDefs::GetZoneOfControlImprovementInfluence( )

-ZOC_IMPROVEMENT_INFLUENCE_RADIUS: CElementalDefs::GetZoneOfControlImprovementInfluenceRadius( )

      -BASE_UNIT_WAGES: CElementalDefs::GetBaseUnitWages( )

      -POVERTY_UNIT_WAGES: CElementalDefs::GetPovertyUnitWages( )

      -NORMAL_POPULATION_INCREASE: CElementalDefs::GetNormalPopulationIncrease( )

      -POVERTY_POPULATION_INCREASE: CElementalDefs::GetPovertyPopulationIncrease( )

      -PRESTIGE_POPULATION_INCREASE: CElementalDefs::GetPrestigePopulationIncrease( )

      -TAX_INCOME_NORMAL_RATE: CElementalDefs::GetTaxIncomeRateNormal( )

      -BASE_RATIONS_PER_CITIZEN: CElementalDefs::GetBaseRationsPerCitizen( )

      -BASE_RESEARCH_POINTS_PER_CITIZEN: CElementalDefs::GetBaseResearchPointsPerCitizen( )

      -ADMINISTRATIVE_COST_CITY_EXPONENT: CElementalDefs::GetCityAdminCostExponent( )

      -BASE_PER_CITY_ADMIN_COST: CElementalDefs::GetBaseCityAdminCost( )

      -BASE_LABOR_GP_COST_PER_TURN: CElementalDefs::GetBaseLaborCostPerTurn( )

      -BASE_CARAVAN_TRADE_PERCENTAGE: CElementalDefs::GetBaseCaravanTradePercentage( )

      -TURNS_TO_RESPAWN_CARAVAN: CElementalDefs::GetTurnsToRespawnCaravan( )

-DEFAULT_RESOURCE_SHARING_MULTIPLIER: CElementalDefs::GetDefaultResourceSharingMultiplier( )

-CONNECTED_BY_ROAD_RESOURCE_SHARING_MULTIPLIER: CElementalDefs::GetConnectedByRoadResourceSharingMultiplier( )

+ Created new ElementalDefs.xml file to store the values read in by CElementalDefs. It’s currently filled with the values that had been set for the now commented-out defines in ElementalDefs.h.

+ Added pose icons for the pose selection screen

+ On title screen, changed "Skirmish" to "New Game"

+ Changed title of research sub wnd to "What would you like to research?"

+ In kingdom manager screen, research is now the first button and unit design the second

+ Fixed crash when choosing to research a tech without any milestones

+ Infinite tech bonuses now displayed as strings in the research entry and popup instead of as milestones

+ Fixed issues with main UI tech status bar, where the status bar wouldn't always change from turn to turn because the status bar takes integers to display, but often the changes in research points were fractional.  The status bar should

update every turn now.

+ Fixed problem that was causing the game to crash on attempting to load a saved game (CMapSetting’s Save( ) function was writing more elements than the Load( ) function was reading, causing the data to not line up).

+ Added the map type and style internal names to the list of data written and read in by CMapSetting’s Save( ) and Load( ) functions, so the type/style can be retrieved and set.

+ Modified certain cloth map poses and made minor camera adjustments for card screens.

 

 

 

Next: A tour of the economic system for the beta testers…