Elemental Beta 1-B update

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…

94,773 views 51 replies
Reply #1 Top

All aboard for the tour!

Reply #3 Top

Ooh Exodus & Mail Order Monsters!..  I played them for years on my old C=64!

But Lemonade Stand was terrible, one of those things dad bought to 'teach  kids a lesson' about the real world things.  I think I put Thexder on the floppy after hole punching the edge to make it writable.

oh and the Elemental update looks pretty cool too.  Now excuse me I've got to go rummage about for some emulators.

Reply #4 Top

I'm looking forward to that tour...:w00t:

I really miss th early Ultima games...:')

Reply #5 Top

Thanks for the detailed changelog, that's fun reading :)

Reply #6 Top

Yikes. That was my first ever post on here. I hope you all enjoyed it. Hi!

Nice work Stardock. Am following these updates closely, it's gonna be great watching this game come together. So far is looking like it'll be an interesting blend of Civ IV and MoM, excellant! Shame about the lack of standard fantasy races but I can't have everything :D   Anyway I heard you say the AI is going to be even better than Galactic Civilizations II so that's me hooked! Can we have lots of global enhancement spells like master of magic?? Zombie mastery springs to mind. Unleashing a growing plague of undead onto the world was great fun. Oh and some armageddon spells. >_>

Reply #7 Top

Woo!!! \o/

Reply #9 Top

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.

I think this needs to be made a feature. Personally, I enjoy doing a full reinstall after each game.  Besides, it keeps things fresh.  None of that cruft that accumulates after using Windows for any period of time.

 Who's with me?

Reply #10 Top

Where is it, I wanna play the 8bit graphics, arrrg!

Reply #11 Top

At first I was like wait... "WHAT!... oh..."

 

Cool tomorrow im reloading Elemental first... for some much needed testing...

Reply #12 Top

You sure about that tonight thing? It is getting late out there!

Reply #13 Top

So does that mean stability is fixed? Can I do some serious testing now? :) *hopes*

Reply #14 Top

I was hoping we'd get another 1B, I didn't feel like we really got to test the economy enough yet.  I shall have to compulsively check impulse all night now!

In other news I'm ecstatic since I think I contributed somewhat to the rummage value idea.  WooHoo!

Reply #15 Top

I actually thought the profanity and boot lock bugs were real, until I saw the password one...... :P I'm actually wondering why the random name generator doesn't occasionally produce something naughty...... I looked through the file when it was stored on my comuter, and there didn't seem to be any mechanism for keeping it clean.......

Reply #16 Top

Yay economics!!! <3

Reply #17 Top

How about

Anuta is a real pig!

Reply #18 Top

I don't see the update... 8C

Reply #20 Top

It's behind a Somebody-Else's-Problem field.

If I could wish for one thing (besides the ability to stop/slow time - imagine, I'd have time to do all my work and still have time to sleep!), it would be a Somebody-Else's-Problem field.

Reply #21 Top

And we have download!  WooHoo!  Lets get testing!

Reply #22 Top

Wow, honestly didn't think this was coming tonight.

 

I feel sorry for whoever is still at work updating this late on a thursday night. Brad better be giving you some more time off :p

Reply #23 Top

ANd yes, this build should be much more stable.

Reply #24 Top

It is quite a bit more stable, still some crashes, but I feel like I can get further into non-trivial game states now.

Reply #25 Top

It's far more responsive as well, the Kingdom button actually does something when you click on it, instead of waiting a few seconds.  It's noticable in other areas as well.