Frogboy Frogboy

Elemental v1.09 change log

Elemental v1.09 change log

We expect to make this available either this evening or tomorrow.  Here’s what’s new:

---------------------------------------------------
----------- Elemental v1.09 Change Log  -----------
---------------------------------------------------

* Gameplay / Balance *
+ AI sovereigns take more care about where they are doing their attacking
+ Added code so that AIBasic is smarter about attacking units in cities
+ ‘Equipment Cache’ goodie hut now hands out cloth armor, instead of the patchwork armor that should not be in the game anymore
+ You can no longer train *groups* of Dragons, Catapults, or Giant Demons
+ New option: Players can choose not to have monsters spawn
+ New option: Players can disable minor factions
+ Loot given by monsters increased
+ Fixed bug where some AI-controlled caravans that had already established trade routes would wander off those routes while delivering their stuff at a city
+ Fixed a bug where caravan pathfinding through territory owned by anyone other than their owner would still have a penalty, even through caravans can always move freely through any territory
+ Changed dynasty kids to determine their essence based on the BASE essence of their parents (ignoring equipment, player ability bonuses, etc.)  This should keep kids from double-dipping from things like player-wide essence bonuses and keep their max mana at more reasonable levels
+ fixed several armor and special ability xml issues (that were either pointed out on the forums or that I discovered while fixing others)
***********
* Battles *
+ The starting side in a tactical battle is now chosen randomly. The attacker and the defender have an equal chance to go first. This is a short-term change. In the longer term, we are moving to an initiative system (individual units moving based on their combat speed rather than each side taking a turn together).
+ Added shorter animations for bow attacks and spell attacks
+ Fixed a divide by zero error in spell damage.
+ Fixed some logic to determine whether or not a tactical unit was moving.
+ Added code to make sure a unit cancels its destination when it skips a turn.
+ Added some additional checks to skip turn logic in tacatical battles to stop a turn from being skipped in the middle of other actions.
+ Fix to be sure ranged attacks don't always do max damage in tactical battles.
+ Fix to experience display for battles, and fixed a bug where auto resolve was only rewarding experience for killing the leader unit.
+ The AI does not take its first turn immediately after the window loads. This will prevent cases where the AI takes its turn before the window finishes rendering.
+ Fixed a spell type tag for Quicken (now shows up in Tactical Battles)
+ Fixed an issue where a single unit might lose its mana after attacking and killing a defending team.
+ Added the UsableInBattle tag for item types, will help to determine if an item should be displayed during a tactical battle. This defaults to FALSE.
+ Items in a tactical battle will now properly stack in the UI.
******
* UI *
+ NEW! City List window which can be brought up via a tab on the kingdom screen
- this will list all your current cities, along with vital information about resource, training, and building being done there (ie: it's a city spreadsheet)
+ New icons hooked up for sovereign talents
+ Got rid of trailing decimal zeros for the global resource pool tooltips, to clean up the display of resources that are always integers
+ Fixed bug where the global resources for a player didn't refresh when a city was lost through razing until the next turn
+ Tweaked the spell info card to get the stats to show up in the grey bar at the bottom of the info card, and to support multiple text entries of varying sizes
+ Item Shop now shows change in Combat Speed, Defense, and Attack for the highlighted item
+ Message Box input field now limited to 20 chars
+ Made auto-select next moveable unit code not select caravans
+ Fixed City HUDs clipping at the end (now they all get rounded edges)
***************************
* Performance / Stability *
+ Moved clean up code around so that game within a game cleans up better
+ Fixed mem leak in Trigger Manager, city wall nodes, destination and selection cursors for destroyed objects
+ Removed code in CTreeGraphic that was causing a leak on Win7-64.
+ Fixed big leak in DecalGraphicGraphicManager where every decal in the game was leaking on Win7-64bit when starting a new game within a game
+ Fixed leak in CUnitSceneViewWindow (which is used on lots of screens)
+ Fixed random crash in kingdom screen with the filling of the Lore Book
+ Tile Designs now flush out the graphics for their "base graphic" (the one that the graphic instances use to render) once the instances for that base graphic are released
+ Fixed crash if a spellcaster ever had to cancel more than one enchantment at a time from losing 2 or more available enchantment slots
+ Fixed memory leak in UnitAnimationHelper that caused unit gfx to leak after the unit was destroyed
+ Fixed memory leak in TreeGraphic that caused tree batches to leak on game within a game or destruction of the forest object
*************
* Bug Fixes *
+ Fixed bug where mini map would sometimes not update itself after starting a new game from within a game
+ Hooked up renaming cities and units to use events (for MP)
+ Fixed cheat flag bug where you could go into the enchants tab for any unit and cancel their enchantments, whether that unit belonged to you or not even when cheat flag was not used.
+ Fixed bug where destination cursor would disappear if the unit it belonged to was off-screen
+ Added support for Resource modifier types in unit ability bonus options to be taken into account in what resources a unit always provides, without needing to be stationed in a city
+ Fixed Bug When reload a game with Wild Shard Improvements, the game now properly relinks them to their resource hoards (fixed issue where destroyed shrines would not regenerate shard resource)
+ Fixed particle effect render order on main map screen for better visuals
+ Fixed graphical bug where mounted units in an army did not scale properly
+ CalculateAbilities now uses champions for ability modifiers (this fixes NPCs that should give bonuses but didn’t, such as ‘Royalty’)
+ Fixed bug where the NPC AI player would spawn new NPCs based off of the unit types of dynasty kids.  This would cause champions wandering around with the same name, and with baby portraits if they hadn't grown up yet.
+ Attacking cities or lone improvements while in attack cursor mode now works properly in all cases
- hooked up the cursor to change to the crossed swords at the right time for cities/improvements when one of your units is selected
+ Fixed comment in CityLevelUpBonuses.xml that caused malformed xml
+ Fixed merge error in QuestUnits.xml for Talax
+ Fixed end tags in CoreCityWalls
+ Fixed game modifiers and ending tag after Magnar_Staff in CoreSpecialWeapons.xml
+ Fixed end tag for Thumb in SpecialUnitProps.xml
+ Fixed comments in UnitSoundPacks.xml
+ note: thanks to ‘kenata’ and ‘heavenfall’ for helping us hunt down those above XML issues down and pointing us to some cool data checking tools


***********
* Modding *

+ Tile Editor: Fixed bug where large silhouette figure would render in the middle of a tile design when placing pedestrians
+ Map Editor: when using the creature placement tool, defaults to giving the creature a random wander radius, which can be changed with the tool's third spinner in the bottom left corner
- Also changed the wander radius 0 item to say "Don't Wander" instead, does what the default used to do, cause the unit to not even go into auto-patrol mode
+ Added new data def type, CSpellResourceCost, which can be used in spell def xml to specify resource costs on casting a spell, as well as any persistent maintenance costs if this spell is an enchantment
- <PerTurn> tag used in the SpellResourceCost xml object to say whether the cost is deducted at time of casting (Per-Turn is 0), or if it is a continued maintenance cost that exists as long as the spell is in effect through an enchantment (Per-Turn is non-zero)
- Note: maintenance resource costs can only be per-turn if the spell is an enchantment; there's no one-time cut to per-turn resource production from an instant, non-enchantment spell
- Here's an example of some xml to put in a spell def, making this spell cost 5 metal immediately when cast, and having a maintenance cost of 1 material per turn until the enchantment is cancelled:
<SpellResourceCost>
<Resource>Metal</Resource>
<Amount>5</Amount>
</SpellResourceCost>
<SpellResourceCost>
<Resource>Materials</Resource>
<Amount>1</Amount>
<PerTurn>1</PerTurn>
</SpellResourceCost>
+ MODs folders now creatured for the user in their My Games/Elemental folder
+ Fixed Bug: Quests read in from XML (after loading the Data.zip) no longer override QuestDefIDs
+ Images and models now read in from the Mods/GFX folder properly
+ Mods are now enabled by default in Prefs.ini
+ Overlay: Implement tile upload/download

***************
* Multiplayer *
+ Added code to prefer a random map that supports the max players
+ Cloud saving/loading enabled
+ AI opponents enabled
+ Added handling for if firewall is turned off
+ Added check for if player is disconnected before starting turn timer when the end turn is requested
+ Added check to prevent player from going to multiplayer menu if it's still checking for an update

We are still deciding whether we are going to flag multiplayer as “beta” or release for this build. It’s a subjective call but given recent events we are tending to try to be extra careful on this determinations so that the unwary do not encounter unexpected behavior.

183,873 views 86 replies
Reply #26 Top

All good, can't wait to check it out. 

I think I might miss the totally OP archers, but even with random damage I think they'll still be strong.  Glad dragons and catapults and demons won't be scrunches together on one tile anymore.  They are plenty powerful as an individual unit.

As for randomly choosing who goes first, attacker or defender I might even take it further: on each individual attack I might randomly choose who gets the first swing in a melee fight, rather than attacker-then-counterattacter.  I also might tend to give the *defender* the first turn if they are garrisoned.  Just a thought, maybe something to test if there is a patch 1.095.  I know one day combat speed will determine that sort of thing so no biggie, obviously.

Also, I don't know if the developers play the empire side much--I kind of doubt you do because the marriage and victory screens etc. are the same for both sides and designed clearly in the kingdom style--but (on my Windows 7-64 machine) things are a lot less stable when playing an empire faction.  Just a heads up.  Hopefully patch 1.09 fixes that.

Reply #27 Top

"In the longer term, we are moving to an initiative system (individual units moving based on their combat speed rather than each side taking a turn together)."

 

 

Sooooooo can not wait for this.

The short term change will spice things up as well. At the least, I'll have to make sure I have a significant advantage instead of being assured that I'll be able to whittle down the enemy before they even move. Maybe I can, maybe I can't.

 

Reply #29 Top

I like what I read in the release notes to version 1.09. I have an idea for a future update.

In combat, I have been in favor of a defnder getting the first shot ever since my first playing of Elemental. The idea of initiative is also a good choice. The random first shot is a start, as you mentioned. However, I have an added twist. It seems to me that a skill/talent of a Thief, Adventurer, or Assassin hero would be the sneak or surprise attack skill. That skill would grant any stack, that he is leading, an addition 75% increase in initiative the first few rounds or a 75% improved chance to gain the initiative for the first one or two rounds.

I know you've caught a lot of flack from early adopters. I for one, appreciate the chance to offer some constructive ideas, and look forward to an excellent game that will get better as it matures. It's kind of like good wine. It may not taste perfect when first put in the bottle. But with time it just gets better and better. If you don't take adequate care though, it can turn into vinegar.

 

Keep up the good work.

 

Reply #30 Top

Yes once initiative is in you can have all sorts of talents, spells and technology to boost it.

Reply #31 Top
  • The starting side in a tactical battle is now chosen randomly. The attacker and the defender have an equal chance to go first. 

Well that's a step in the right direction!  Should make tactical combat more interesting in the short-term at least.  :)

Reply #32 Top

Just curious, when are the other modding categories going to be enabled in the game for download?  I've heard no news about the progress for this for quite some time.

Reply #33 Top

Thanks for the update!  :beer:

 

Reply #34 Top

Cities report. Nice:) Nothing about specialists. Is the idea postponed/dropped?

Reply #35 Top

Sounds like great work Frogboy, can't wait to try it out!

Reply #36 Top

Win7 64 bit person here as well, I must say commendable effort on the leaks (wow, so many leaks, is it C++? :-). I won't also play until it's declared AI is considered fixed by the devs and the players - many other things to do. I will let the new, fixed version of Elemental surprise me... when it's ready.

Reply #37 Top

One thing I would say is that initiative should not be based on movement/combat speed. ... Instead everyone should have an equal base initiative number...then the modifiers would be applied.  Those units that have the same initiative after the modifiers would randomly be chosen who goes first for them.  

Some thoughts on modifiers....

Archers and spearmen would get a bonus to initiative if on the defending army.

Calvary and catapults would get a bonus if on the attacking army.

and then of course.     

you can have all sorts of talents, spells and technology to boost it.
End of quote

 

Reply #38 Top

Quoting Kamamura_CZ, reply 36
(wow, so many leaks, is it C++?
End of Kamamura_CZ's quote

All langauges can have leaks, some just lull you into complacency by saying they have a "garbage collector" to take care of it.

Reply #39 Top

Great news! :')

Things are coming into focus... B)

Reply #40 Top

I am so happy to see you have decided to use (eventually) a unit based, rhater than a 'side' based movement order for tac battles.

Here are my suggestions for that system:

Tactical Battles

 

Current system uses the ‘combat speed’ of the unit to determine its APs allotment.  One side acts, then the other.  Repeat until only one side remains on tactical field.  Side that acts first has immense advantage.

 

First change:  Determine APs based on the unit’s movement. Higher movement = more APs.

 

Now use the units ‘combat speed’ and change it to ‘initiative.’  (Actually, can leave the ‘label’ alone if you want…just change its function to initiative in the tac screen)

 

Finally, change the combat acting queue to be unit specific, not ‘side’ specific.  Now assign every unit (of both sides) a place in the combat acting queue.  Ties are decided in favor of the unit currently having more APs. 

 

Each unit now is given commands when its ‘turn to act’ comes up in the combat acting queue.  When the last unit in the current queue ‘acts,’ the round is over.  All units (except those ‘frozen, etc.) are now assigned a fresh set of APs to use.  The number of APs is based on their respective current initiative.  The PC now assigns all units a place in the next ‘combat acting queue.  Rinse, repeat.

 

Initiative per unit – not side.  Action points refer to how much a unit can do (already in game).  Initiative refers to when it can expend its APs.

 

This, all by itself, would remove the horrible advantage given to whichever “side” ‘moves (uses all its action points) first. 

 

Definitions of words/concepts:

APs = action points. 

Act = unit uses its APs to move/attack/fortify/cast. (User may now give it commands)

Initiative = units current ‘combat speed’ (as in current code)

Round = completing one combat action queue.

Combat action queue = the order/ sequence in which each unit of either side is assigned to act. Each unit ‘acts when its turn comes up in the combat action queue.

Initiative = determines where in the ‘combat action queue’ each unit is placed: highest initiative first, lowest initiative last, etc. Ties in the sequence are resolved in favor of unit with more APs, and if APs are =, then a random roll.

 

Immediate commands: (unit expends its APs immediately)

Move, melee, volley, cast, fortify.

 

Next design steps:

ALL UNITS: Reduce the strength of units that have zero AP’s remaining.  (say 10%?)  Defenders should have an advantage, just not the all or nothing of the current system.

 

ARCHERS: Redesign archers so that as range increases, the attack strength of the volley decreases.

Create various types of bows with various strengths and ranges.  Give archers a sight range increase if on higher ground then their target.

 

CONDITIONAL COMMANDS:

 

“Round” refers to when all units, both sides have, as permitted by each unit’s initiative, either expend their APs obeying an immediate command or have been given conditional commands. 

 

Immediate commands: (expends units APs immediately)

Move, melee, volley, cast, fortify.  (Already in game)  

 

Conditional commands are assigned to units so that they don’t use their APs immediately.  The APs are stored in the unit (for the duration of current round) and used to act (implement/do) the conditional commands currently given the unit.  Unit waits and responds to actions of enemy units.  APs are not, however, accumulated from one round to the next.  Once the round is over (all units of all sides have acted), any unused APs are gone.  The unit used its time doing the conditional command.  It may have acted in response to enemy actions, or it may have waited for an opportunity that did not happen.

 

Suggested conditional commands: Once unit expends its APs, it will only defend.

 

Close and Melee = engage if enemy approaches within x (trigger) distance.  X is assigned per unit, 1,2,3,4, as part of conditional command.  When triggered, the unit immediately moves towards E and melee attacks.  ((so, some units with an enhanced ‘counterattck’ would just defend, while units with enhanced attack strength would move towards E and attempt to attack first.))

Volley engage = archers volley at E if it gets within x distance.  X may be assigned per unit, 1,2,3,4,5.

Counter volley = archers volley against archer unit that just attacked it.

 

MAGIC USERS: Redesign MU (magic users) so that as spell levels increase, so does the related casting times.   Also, the number of levels the caster is above the actual spell being cast reduces casting time of that spell.  The following is illustrative.  I really don’t know what percentages, etc. would be effective.  However, consider the pace of the battle given the above ‘round’ system…  Developers decide percentage, AP cost, etc… [or allow user to modify these in a game customize input page.]

 

Level 1 MU casts level 1 spell = uses 100% of base cast time.

Level 2 MU casts level 1 spell = uses   90% of base cast time.

Level 10 MU casts level 1 spell= use   10% of base cast time.

Level 10 MU casts level 5 spell= use   50% of base cast time.

 

Each 10% of MU time consumes an AP.  So, some spells take a long time to cast – perhaps the MU will stand and work on casting a powerful spell while the troops go through several rounds of movement.  Interesting?

 

 

 

Reply #41 Top

Nothing about specialists. Is the idea postponed/dropped?
End of quote
  No, that's one of the biggies for 1.1...there have been some re-evaluations on the topic, but I'll let Brad explain those when he wants that info released...I beleive it will be a solution many people approve of and many folks have even been asking for long before we hit v1.0.

Reply #42 Top

So... while we're talking about 1.1; originally it was planned for September, but I know 1.08 and the subsequent hotfixes delayed the schedule at least a week. Is it still on target for early to mid October, or are we looking towards the end now?

Thanks.

Reply #43 Top

That's nice. Late game city building and economy needs refinement. And the cities are developing linear. The global resources pool decides that always the first founded city will be the biggest in the end:/ I wonder what solution will it be. I hope it'll beat the Civ standards:D

Reply #44 Top

Initiative = units current ‘combat speed’ (as in current code)
End of quote

The reason i don't want this and instead everyone has an equal base initiative(before modifiers) is because basing it off combat speed would make mounts and archers godlike.  They would always get to go first and get more attacks which would be devastating to balance.

Initiative per unit – not side.
End of quote
  This is good and I guess I assumed that it would be that way.

Reply #45 Top

Quoting Sherekhaan, reply 42
So... while we're talking about 1.1; originally it was planned for September, but I know 1.08 and the subsequent hotfixes delayed the schedule at least a week. Is it still on target for early to mid October, or are we looking towards the end now?

Thanks.
End of Sherekhaan's quote

Unless I am mistaken, 1.09 was always planned for September 30 and 1.1 was planned for an October release.

EDIT:  I not mistaken.  Verified the deleted post for post-release schedule.  Thank you Google.

Reply #46 Top

The reason i don't want this and instead everyone has an equal base initiative(before modifiers) is because basing it off combat speed would make mounts and archers godlike. They would always get to go first and get more attacks which would be devastating to balance.
End of quote

Archers will always be godlike until they introduce distance (then they'll be demigodlike :p ) cavalry that depends, the supremacy so far goes to the unit that waits for the other (the AI) to advance, then strikes first. Moving first doesn't mean to strike first.

Reply #47 Top

Quoting Black-Knight, reply 46
Archers will always be godlike until they introduce distance (then they'll be demigodlike ) cavalry that depends, the supremacy so far goes to the unit that waits for the other (the AI) to advance, then strikes first. Moving first doesn't mean to strike first.
End of Black-Knight's quote

It all comes down to the rules.  Right now tac battles are so unbalanced because of the absence of rules.
Archers perfectly hit galloping riders at maximum range, cavalry is just an infantry unit with hooves... and that's barely scratching the surface.

Reply #48 Top



+ Fixed a divide by zero error in spell damage.

End of quote

 

"Sire, while exploring the lost tombs of the ancient Exalthian Empire, we came across a spell that would do damage of 'unimaginable' proportions. In fact, it seems that this spell was certainly responsible for the fall of that noble Empire. We managed to recover a partial record of the only time this spell seem to be cast. Here is what it says:"

(from a scrap of burned and bloodstained parchment) "...Foolish mortals, I am the greatest channeler that ever lived. I have discovered the final weapon that will bring down the Titans once and for all! Observe as I unlock the secrets of the Universe and divide them by zer-oh, SH-..." 

 

:D

Reply #49 Top

I like the work you did with the last patch, after you fix all this stuff, could you do like a keyboard shortcuts update thing.  Thanks

 

Reply #50 Top

Multiplayer version of 1.09 not out yet?  Downloaded 1.09 but in game it tells me to click show pre-release versions in options.  I already have show pre-release selected, and multiplayer worked in 1.08 for me.