Dev log - what's cooking today?

Users who are viewing this thread

Status
Not open for further replies.

gsanders

Grandmaster Knight
Phosphor v17?
  or is it  Phosphor limited test of Perisno .8?

  Actually not a tease.  Today decided to see what Perisno .8 with all of Perisno .75 looks like with all of Phosphor v16.
  Except its a big project.
    a) Making a kit to patch just the changed Resources, Textures  files so I don't have to download a huge base download.
      16:40 just finished this step.  Final patch size 91.5 MB with 7z compression
          (there are many art changes, slightly edited map, 1 new city, 1 new village, and giants.  Some scenes changes. Voiced dialogs.  Stuff.  Robin has been busy the last 6 months.)
----
EDIT:
    Robin told me he's not interested in any of Phosphor. "It's too much like a slot machine".
    Thus I may as well stop trying to make it fit Perisno.  Other than the art, Perisno is yesterday's code.
    So what to make for tomorrow, and the day after?
 
gsanders said:
    Robin told me he's not interested in any of Phosphor. "It's too much like a slot machine".
    Thus I may as well stop trying to make it fit Perisno.  Other than the art, Perisno is yesterday's code.
    So what to make for tomorrow, and the day after?

What a pity. I guess it's more a matter of pride, than bugs. Most of Phosphor works fine now, and Rigale has certainly added loads of interesting features.

On the other hand, I understand, that by keeping Perisno simple, it will be easier for them to improve it and add more stuff, without having to worry about the details, so to speak.

I for one, will look forward, to whatever becomes next of Rigale, as I am quite fond of it.
 
Tomorrow I will work with the combat system and make some experimental changes.  I'll label the results "experimental" to be sure.
Thinking of starting with some extensions for defense, especially calculating weight of gear worn before battle to determine "temporary" athleticism
score, and let the modified athleticism impact stamina (total fatigue points available) and rate of stamina recovery.  You may already notice most troops have some athleticism, this would tend to magnify it.  BUT if I enable that I also want troops able to run low on stamina as well; and maybe have a bard/music companion be able to buff stamina or fatigue recovery as well, without costing experience.

  I'd like to start putting back Rigales extensions to combat a little at a time and also have a game settings value that can toggle extensions active or disabled, as the baseline Perisno .73 seems pretty stable and anything further risks nreaking something, so it should be set to an on / off toggle.

  This will let me add more things as the summer goes on, such as healing, different buffs, magic, and so on.

  Well, thus I was making a few characters for v18 series and 1 in v19.

  These are tomorrow plans... if nothing is cooking at work, that is.

  - GS
 
Mr. Sanders,

I`m for one really interested in your work and will follow it. Phosphor is a great experience and Rigale a  very innovative take on Warband.

I think you can keep Warband a viable proposition for quite some time.

Rgds, Oldtimer
 
Oldtimer said:
Mr. Sanders,

I`m for one really interested in your work and will follow it. Phosphor is a great experience and Rigale a  very innovative take on Warband.

I think you can keep Warband a viable proposition for quite some time.

Rgds, Oldtimer

  It's nice to see a half dozen supporters or so.
  I'll keep working on this.

  I built a test v20 from v19 and mainly put back Rigale combat extensions, fatigue, etc with a few minor fixes then did a test run for today.  I'll put up the save game from it later.  So far it looks clean enough; I found a problem with Perisno Maiden Ranger that may need me to adjust items for that troop, but that wont be a savegame breaking issue.

  I want to find more bugs and resolve them before putting up another patch version, so probably its a tomorrow thing.
  Eventually I'd like to do a short calculation of weight of gear carried before battle and write the result for each troop to adjust effectivce athletics (and thus movement speed and dodging), with some sort of bell curve based on
    n = (weight of gear) / (troop's strength)
    where the result is rounded to the nearest  0.5 increment
    thus  0 (won't happen), .5, 1, 1.5, 2, 2.5, 3, 3.5  are possible results with 3 the athletics have an effective negative modifier and could be < 0 after adding in actual (permanent) athletics.  This would remove the dodge bonus or put a negative modifier (making the person easier to hit).  I would say at multiplier > 3.5 the person is deeply laden and not effective.  The positive side is I could then relax strength limiters for gear, but suddenly players will watch their gear weight, with very lightweight armors being in highest demand and thus more expensive.  I'm not entirely happy with the Perisno putting cuir boilli armor about equal to plate in terms of defense.  But with more dodging I suppose it would seem to be similar...  also this means very strong players now have (somewhat) less movement restrictions from heavy armor.  If norm is  2.0 times strength, and less than that a small bonus and more than that a small penalty, say
ratio      athletics          shield
0.5              3                  +2
1.                2                  +1
1.5              1                  0
2.                0                  0
2.5            -1                  0
3.              -2                  -1
3.5            -3                  -2

  The troop would move slower and be less able/unable to sprint, although if mounted the horse can of course move.
  Lightly armored / light weighing armor would give a dodge bonus.  I'd be satisfied to have a slight adjust to effective shield skill at both edges of of the bell curve as well.  With this curve, all troops could be given a bonus/penalty exactly using the same, tested system of athletics adding dodge to enemies and friends alike.  Now those scantily clad slaves get about a 10% better dodge, a small but significant value, with some sort of as yet not implemented martial arts class having as high as effective +5 athleticism provided they wear nothing heavier than silk robes and the various hair pieces.

  I want to release this plus a modified kick / barehand fighting // weapons speed modification for open hand/kick in order to support a primitive martial arts capability next. 

  Not sure how long that will need, but its my next target.  I also want to get added text working so books mention their reading progress next. (Maybe it is working now, I want to test).

  The third motivation for this line of inquiry is if it works I can almost reorganize items into metallic armor, non-metallic armor, and seperate heat/cold insulating armor in the non-metallic types, so that I can quickly score how susceptible the armor is to lightning, heat, cold, can you swim in it, etc.
  I was thinking the scoring looks like this:
  body  (tunic etc)  5
  leggings              3
  head cover          2
  hands                  1
    +
    melee weapon(s)  0-3    so I can expect  a score of 0-14 for seeing how much metal is worn, how much is non-metallic
  and thus how much that troop is affected by heat/cold, electricity, and perhaps negative modifiers on swimming skill.
All this looking ahead to summer's magic changes (well, magic & religion, as they are tightly coupled in my schema). 
I promise magic will eventually be distinct from what you are used to, but it may take a few iterations.  Best I work on defenses first, and then slowly leak it into the summer's game.

  Thus I can derive a weighted score for each defense type and store it when analyzing the troops before battle on both sides.
I'll have to see how much my monster PC hesitates before battle for all these calculations, but I have some tricks to speed it up.
The real test is how slow it runs on an antique laptop  :wink:

EDIT:
  I thought about doing all the checks and calculations at start of game, which works fine for all EXCEPT heroes and player;
I suppose if the other side never changes gear except by promotions then only the player's stack of troops has to be checked every battle, which is less time wasted.  And of those, only the heroes change, and custom troops if implemented...

  - GS
 
after patch v19.2 in a few minutes I'll need to take 3 working days off for exams.
  Yes, even at age 54 I have to take professional exams as well for my day job.

  Sometime after that I'll start work on v20, which will be a general overhaul of items and will need at least a week to finish --
except right after that I am in Turkey for 8 days (not on TaleWorlds business -- I'm not that exciting to them  :wink:
So that means more or less 2 weeks of uninterrupted save games, after which I will start a new phase for Phosphor.

  This previous phase was meant to tune the layer of Phosphor most compatible for Perisno .8, but after this we start on fresh territory.  I hope you find it as interesting as I do.

  - GS

  EDIT Fri 29 May:
    started reordering items. 
Before merging items for Perisno .8, there were 2482 items and 1100 of them weren't used by any troop, lord, companion, or lady, nor townspeople.

Items were a jumbled mess, which would have made it difficult to do the sorts of quick look ups I wanted from having all cloth armor together, then all silk, then all leather, then lamellar, then studded leather, then chainmail, then scale male, then plate, and shields metallic or wooden/skins.

The old scheme had items organized by what OSP they came from, which is useful, but best done by retaining the old file someplace  renamed and making a new file organized so that I can assign a range of items - if it is leather I know something about properties, and plate, again I can anticipate properties.  its a pity I just cannot make a few new properties and stuff them in the item definition, but it isn't quite so easy as the definitions are hard wired for the game engine.  Instead I must derive the new properties by checking if an item is in a specific range; probably this is done once at game start and repeated only for heroes (and the player, spouse, custom troops, etc) each battle.

  It is a huge undertaking to reorganize the items; so many are garbage but it's dangerous to pull them until reorganized then a cross reference is made against new troops added (thanks to Zeph for supplying code to automate this!), and last items are commented out one at a time in case sometime Perisno wants to put them back in. 

  Not sure how many days this will take.   
 
Yay I passed. 
  I have a retest in 1 month but had I not passed this one I would be blocked from advancing to the next layer of testing, with serious problems at work.  Had this been the final retest I *still* would have passed and work gets approved for installing the latest medical software in this country; thus giving a reason beyond pure charity to hold my job open.  (But I *am* a nice guy, in case charity is all I can ask for).  Ah well, every other Perisno dev has school I may as well burn a week or three with exams too :smile:

----
  This lets me return to working on re-doing items in Phosphor, the value of which I've discussed at length elsewhere.
  I expect that to take some time; I may yet finish before Friday, if so I can put up a v20 patch, else it may as well wait until I return from Turkey in 2 weeks exactly from today.  There are a few things that need doing before introducing a non-savegame compatible change, so I will take my time for v20 if it slips past Friday anyway...

EDIT: Wed lunch update:  (applies to v20)
  Items reshuffle:  I feel like I hit halfway mark this hour.
              food & trade items:                    already done some time ago.

  status:  mounts                                    approx 200        DONE
              Armors/clothes/accessories        650 done  broken into 8 categories with up to 4 subcategories each.
                                                                  allows:  identify female vs (male/unisex)
                                                                              identify matching or similar accessories for court or non-battlefield upgrades
                                                                              identify clothes/armor which
                                                                                      conducts electricity well or poorly
                                                                                      insulates from cold
                                                                                      insulates from fire
                                                                  by line number/index range, which was one purpose of this reorganization.

                                                                  the next time soldiers are caught in a blizzard I know who will suffer soonest :wink:
                                                            400 to-do but seperated from ranged, throwing weapons & shields

              Shields:                                  around 150  seperated and half sorted           
                                                            steel and wooden shields are differentiated for penetration by
                                                                heavy crossbow/early bullets

              Ranged/ammunition/throwing    around 200  seperated but not sorted

              Melee Weapons                        1100 to do but seperated from other types
                                   
        sorting involves finding a meaningful category to place them in,
          then sort by alphabet [A..Z] the actual game item name to look for duplicates (of which many have been found)
          this is useful later because there is a sorted list of unused items produced during compile (thanks to Zeph for that)
            and it is faster to compare lists if the lists are at least somewhat sorted.

          There are at least 1000 items not used or worn; but I'll have to look at code especially for kingdom ladies to see what could be added seconds after the game starts and reserve those.    Otherwise in theory some crashes for Mac and other feeble PCs could be reduced by removing un-needed meshes from resource files, which makes for faster game load and a little less wasted memory. That is a second big task not started yet; I have other priorities but the sorting in general assists this later.

  later tasks:
  Some items I have marked as "silk" class need repricing, actually I never liked the pricing in Perisno but at the moment I am not keen to deeply change anything but the order of items, as any (later) movement breaks saves.  I can edit stats and not break a save... so the priority is to decide the order the items are presented and not move them further for at least a month.

  Some items are too much defense for the item class, even in a magical society. 
  Items that really need to stay probably should have more crafting recipes, but that is a low priority (still).
    I'm happy anything can be made for now.

  I still need to walk the party list and inspect each hero and any kingdom ladies (ie a wife-as-a-companion) found for total weight
  I need to determine total or average weights per defined troop at game start.

- GS
 
Gratz on passing the exam! And have a good trip to Turkey!

Maybe visit taleworlds and ask them for some hack for the hard-coded parts...
_____________________________________________________________________

It's good to see the items re-sorted. Would it be too much to ask for a few more lady faces? It is kinda disturbing when every peasant and farm girl looks like a gladiatrix or noble lady.
 
Spent the day looking at TLD, since it was mentioned they have spiders that bite without riders needed...
  wouldn't mind some rideable spiders for that matter...

EDIT Fri 19 June 2015  15:20
------
  sorted all armors into type categories, alphabetic sort within categories
    can determine if female only,
    differentiate between: 
        {cloth, silk, fur, leather, non-metal lamellar,      [dividing line for implicitly not metal armors]
          studded_or_banded_leather, chain, scale_or_chain_with_small plates, with with large plates_or_full_plate}
      shields into metal and wood sets

  Weapons:
      sorted by the following categories & alphabetized:
      ammunition
      bows
        player only bows are distinct subset within
      crossbows
        player only crossbows are distinct subset within
      special ranged weapons
        flintlock pistol, bard's instruments with spell potential, torch, firebow

      Martial arts capable/dual wield/concealable weapons
          metal or non metal?
 
        1 hand weapons
          wooden-or-bone handle vs metal pommel
          non lethal weapons are a distinct subset

        2 handed weapons
          wooden or bone handle vs metal pommel
          non lethal weapons are a distinct subset

  gunpowder moved next to gems as a trade/raw material
      probably there will be global flags to enable/disable magic and firearms shortly
-------------
  sorted *all* but 350 items so far, making progress.  (around 2650 items total)
  some minor adjust of stats to better fit definitions above

projected waste of next week's time:
  haven't started on doing something useful with these categories yet, thats a "next week" task.
  haven't removed any items/resources/textures yet, although that is needed/useful so can add different items next.
  would like to have encumbrance check next week so that weight vs strength matters
  might boost troops stats back to closer to heroic stats from current 60% of hero to 85% next week.
 
 
Extremely difficult to get started this week.
Nothing to download from other mods as a distraction either.  Even Perisno is quiet/sleepy at the moment.

Next week I have tests and classes Monday - Thursday, so little will get done.
Did manage to reshuffle items.

-----
EDIT  3 July 2015
  Yay for me, I passed my test.  This implies I have a day job at least until September.
  Was difficult to get started programming again, finally dove in.
  So far:

    Items --  reduced armor on all armored horses by 10
                  reduced armor on unbarded chargers to cap at around 24 instead of 40
                  slight increases in unarmored horses armor to end between 14 and 22
                  made sure wyvern is available for purchase in markets
                  removed (commented out) nightmare and twilight horses    (missing/damaged LOD)
                  removed (commented away) Litchina helm.                        (missing texture)
                  changed rus_splint_greaves to use  splinted greaves instead (missing texture)

    Troops -- increased troop stats,
      by a sliding value that removes some penalties for armors that would have existed from Silbers system after implementing encumbrance changes.  Slightly increased cavalry charisma stats to reflect their bond with their mounts.
This might assist vs magic later.
      weapons proficiencies increased between 10 and 20%, with increased focus on throwing weapons boost for infantry and primary weapon.  Militias are slightly more skilled also.  There remains a huge skills difference between high tier and low tier troops.
      increased stats of lovers upgrades that follow bards around after successful performances to not nerf their armor later
 
July 6 2015:  Monday blues.
  Finished rebuffing troop weapon skills by +10-30%.
    cavalry charisma is increased.
    kingdom lords, ladies, heroes and starting characters have sligtly higher minimum stats 

  examined Presentations looking for character stat display, didn't see it
    did reduce weekly landowner rent income to 1/3rd Perisno .75 values, as it seems too high.
    set version to  "v20 r 1"

adjusted mission_triggers  to remove experience penalties for using all Rigale battlecries EXCEPT "first aid".
    possibly restored formations commented away during a failed attempt to merge PBOD .92 some time ago
    put up older mission_triggers with formations but need to test for glitches before adding resistances and encrumbrance checks

put a temporary test v20 up in  "v20 WIP" folder
    this has items reshuffle, horse fixes, wyvern can be bought again, stronger troops, Princess marrigae fix, formations restored
      and nothing else...

cleaned up document "on the nature of Magic in Phosphor" in "v20 WIP" folder of google docs
    (10 pages white paper).  Mostly for future co-developers to understand "theory" underlying the magic and religion system.
   
----
  still looking for where to insert display of defenses and encumbrance effects.

EDIT  Tuesday 7/7/15
  tested formations working again.  The glitch I was worried about I have not seen but need to make some large battles.
  It is still possible the earlier issues were entirely mesh not loading issues or similar and not the fault of mission templates.
  Ambush and sneaking has not been tested, this is an old mission_templates

  got new icons for inventory for  sheet metal, chain links, rare ingot from SoreNerv.  Thanks!
    failed to get  rare ores icon working.  Well heck 3/4 is progress!  I suppose I better up the drop rate on rare ores/ingots during mining now; before they were just placeholders in items.

EDIT Wed 8 July 15
  broke savegame compatibility by moving dwarf items to respective item categories
  set version to  "v20 r 2"

  added module_constants definitions
    various resists slots for troops, armor categories from items
    preparing for encumbrance and magic resist calculations and storing
        needed in order to adust report for viewing troops

have working rare ore.  Thanks Sorenerv!

scripts
    removed 4 duplicate scripts caught by W.R.E.C.K.
    added script for checking gear weight for inventory slots 0..7
    added a general template to use for walking a party stack when setting resistances and weight/encumbrance before battles

strings
  removed duplicate strings reported by W.R.E.C.K.
    however this may mess with Russian/Ukranian translations as now the strings are different numbered ...!
        pity since they are FAR more willing to test than the English speakers, excepting JoeInh, Miramax, and Zykox...

  decided to take the pain and updated Warband to v1.167
    in order to use some v1.161 calls
    this means breaking with my traditional 1.158 support
    testing now

------
EDIT Thursday 9 July
  put in a debug cheat menu item to check the player's gear worn and report back
    what each slot seems to have, how much it weighs, add the total and make sure the final value is no longer a fixed point float
    to validate inventory starts at offset 0 (thus the mount is at position 8 not 9)

  Brytenwalda has a nice simple walk through the player stack when checking weight of the party that can be amended to go through all the stacks in a party before battle.  One would think its not neccessary but actually many troops can have their gear loadout randomly juggled every time you look at one of them, so refugee women for example may have more than 1 choice of gear for a given slot; some have different weapons, armor, and so on so it needs to be checked each fight, if not for weight then for magic resistance assignments.

  The algorithm to determine which category armor is worn by slot is done, the weightings to assign by category have *not* been made, but at least I know the total values will be weighted per armor piece, with
  head == 2
  body == 5
  legs  == 3
  hands = 1  = 11 points
+
    and primary weapon  = 1  for a martial arts weapon, ranged weapon, 1 hand weapon
                                    = 2  2 hand weapon
                                    = 3  lance or polearm
+                  = 1 to 5 points

  1  small shield
  2  large shield
                    = 0 to 2 points

  plus possibility of the final value adjusted by items carried but not equipped (such as a rosary, cross, or other symbol/artefact).

  So how much resistance to lightning does a person have with a metal shield, leather gloves, a metal helmet, leather boots, and lamellar chest?  If they put on plate armor chest how did that change?  How does it change movement, dodge from athletics and shield skill?  Well, how strong is the character?  And this applies to troops, enemies, the village dog, as well as the player...

  The part I havent decided is how much resistance each category has for mainly electrical, heat, cold, and magic.  Cloth, silk, lamellar, fur and leather are fairly easy to handle, and offer differing protections.  The problem of metal in ever increasing surface area is one I think solved by my current arrangement; now all that remains is to determine how well each conducts heat, cold, electricity etc.  I'll try to rig a test so that different loads can be checked, the category of each armor and weapon known, and the adjusted total shown step by step in a cheat menu item, by which point we're almost ready...

  I'd like the option to inscribe sigils, tattoos, luck charms, or other rune like protections onto armor -- if not because for example Picts and Vikings might have hoped to stay safe, then because the literature shows Buddhists once did so, as did Sufis, Safiyists, and others in the desert lands.  Even Christians once plastered themselves with as many symbols as possible to have that incremental chance of protection.  So I am considering how to work those into my somewhat abstracted system.

  Thats today's kitchen.
 
10 July 15 Friday
I could have made this prettier but here's a screen snip how testing looks:
https://drive.google.com/file/d/0B4sh7GRykLgEREhTd0NYX3RDYUk/view?usp=sharing
https://drive.google.com/file/d/0B4sh7GRykLgERFlPQVB1Sm1uXzA/view?usp=sharing

whatever the character, companion, or troop carries can now be parsed to determine weight for encumbrance check,
the slot# controlling the surface area of that category armor or weapon, for purpose of seeing if it removes some armor coverage.

  What I mean is this: the armor rating is normally the defense against kinetic damage from the other person's weapon or
ranged projectile. 
  But if there were some other system to deliver damage, like a lightning jolt, none of that is important.  A person in plate mail
would be worse off than someone naked, neglecting the undergarment.  Thus I have separation of different classes of armor based on the size and surface area of ever larger strips of metal, with some estimate of the undergarment's insulation for heat/cold/lightning.  If freezing, then someone in fur has the advantage.  If fire, then that same fur might be burnt.  How would a wood handle weapon hold up to a wall of fire?  It is not made of metal so it does not transfer heat damage so easily, which means it helps "armor" the user, some -- but maybe it has a small statistical chance to be damaged by a supernatural
hot flame (or lava).  Finally, so far as protection from evil (is that the same as protection from magic -- probably, but how to know for sure?) -- literature has prayers written on the person (see the Japanese movie Ugetsu for example), amulets carried, pictish tattoos, and even the cross on Constantine's shields for 4th century (eastern) Rome.  So obviously there is some layer that can be added or assumed to be present in gear, if magic was in the world and deemed a threat. 

  But since there needs to be detailed knowledge of what type of gear a person is using on chest, legs, head, hands, as weapons -- and are these all the same surface area? of course not!    then we need to be able to very fine tune the method of categorizing so that of ANY of the 2,400+ items, we know very fast if it is armor, a shield, a weapon, something else, a mount, and what kind of a weapon, armor is it.  If it is "blunt" damage, are ALL the attack forms blunt?  Or is there a blunt swing, pierce thrust combination?
Should a unhorsed cavalry carry a lance onto a seige?  How can I tell fast between a lance and polearm?  A polearm may be useful; a lance is not.  Should a pike be used at a seige?  If weapons are so small they could be concealed or used from close in, I now label them "martial arts" and imply they might be able to dual wield, if only coding supported it.  At the moment, ALL of these distinctions exist in the items sequence.  Whether or not I can make unique code to DO something with these remains to be seen.
But for each of 2400+ items, I can determine in a maximum of 8 hops what category it is once equipped -- including illegal items like your horse equipped as a shield or some item made by morghs that is out of sequence.  Ehhh.. it's progress of sorts.

  More to come...

EDIT Saturday 11 July 15
  looking at Silverstag 25 source, decided I *need* "TREE" dynamic troop tree AND TROOP INSPECTION handler
      hopefully this isn't dependent on WSE
      I could use a tool to inspect every troop that is defined in kingdoms; even better if I could scroll through minor factions and bandits etc also.
This would allow me to check if a troop has silly gear assignments for the strength of that troops tier, although I am not so averse to having low tiers clumsy and slow on the battlefield in their over heavy armor compared to higher tier.  This makes more sense now that I can measure encumbrance.

- GS
 
Monday 13 July 2015
  spent the morning reassigning slots definitions in module_constants  thanks to a heads up from a spreadsheet included
with Silverstag source.  It showed a number of places where the Perisno code was likely to glitch as the game progressed,
especially as number of cities increases (added trade caravans), number of lords increases (more slots consumed implicitly to track relations, overwriting any that happened to be defined formally to those same slot numbers), and number of kingdoms beyond the first 10+player as set aside by Diplomacy.  ALL of these would be/have been issues.

Next up:
Re-editing troops after troop trees report shows major imbalances at the 2-hand skills for archers and mounted troops
    Elf rangers had their melee weapons skill for the weapon assigned (by Perisno 75) as "40", and it just seemed crazy.
    I expect it's systemic and can be easily solved by reworking the table of skills by class of soldier.
  This is a seperate issue from 2-hand damage or whether 2-hand is silly anyway;
  there does seem to be a great fondness for 2 hand in troops.  If so there should at least be a greater lethality...
EDIT: halfway done  @ 16:31 14.July.15

reminder to self:  dynamic arrays in Warband  yay!
http://forums.taleworlds.com/index.php/topic,335511.0.html
  already have them from Perisno, from Silverstag, nevermind.  Thanks Windyplains!
 
tip to use shotgun code from NW for multiple projectiles in a spell
  http://forums.taleworlds.com/index.php/topic,331944.0.html
  Mirathei posted this code so I don't need to download/buy Neopolianic Wars.

EDIT:
Spent most of the day so far building a layer of global variables and slots defined in Silverstag just to encapsulate
"combat enhancements" so that I can run and test presentations relying on gpu modmerger, which Perisno used but
had commented away some of the functions so they needed to be rebuilt.  I also wanted to try out the newer tree to see if it could
handle the Perisno troop definitions which the older tree could not display, as the branches would not fit on screen.

  It turns out although the code is nicely seperated into folders by purpose some variables are tightly interwoven so that
running a single section without all the other pieces needed considerable effort.  Now I have an added stamina bar in battles,
and I suppose next I should modify mission_triggers to call encumbrance checks and get "effective" values for athletics, shield,
power draw (maybe), horse archery (maybe), and riding (maybe).  I'd like to call a presentation showing for each troop what values they have and how encumbrance changes them...

EDIT: 15 July 2015 16:26
  spent the day moving slots around until testing showed they were no longer getting clobbered right after game start,
and updating a spreadsheet to track their new locations from a file supplied with Silverstag v25/26 (which is awesome).
I can get back to work now -- today's snapshot has all the functionality of v18/v19 Pho but with the new items layout with a demo cheat menu test and Silverstag's fatigue bar (not really tied to existing fatigue yet, but that's a tomorrow item).
 
Thursday 16 July 2015:
    Updated mission_triggers  to just use the extensions of interest from Silverstag v26 Combat Enhancements:
    Replaced Perisno sprint with Silverstag v26 Sprint in order to better test stamina bar in combat
        sprinting applies to all troops not just player
        has a cool down and can end early
        is used during charge just before striking to increase damage by AI with Bonus Charging Strike (below)
        is not unlimited, unlike the Perisno sprint
            possible future impact: less magic resist on empty fatigue (== 'exhausted' status) until some fatigue recovered
            possible shield skill impact: exhaustion may temporarily lower effective shield skill
            future solution: establish a buffer limiter so that troops keep a reserve of available fatigue except for emergency

    added Fallen Riders from Combat Enhancements  - mounted troops take added damage when their horse dies
    added Bonus Charging Strike from Combat Enhancements - troops swinging from foot but while running gain added damage
          to their swing from momentum.

    substituted Silverstag's Tree (troop tree viewer) with added details shown for individual troops,
        in preparation for showing details like magic resist and encumbrance effects. 
        However this routine does not show amazons, pilgrims, 3rd legion, border patrol, etc minor factions
          they instead are lumped into "bandits" as a generic handler, which will be messy
------
          this troop display is doing _something_ well but needs more debugging.  More trees show on screen, maybe can adapt for Perisno troop tree and allow Perisno upgrade path on same screen as regular faction...

      added original Perisno Troop tree display side by side and put in a submenu in reports from Silverstag to unclutter reports
      second bar showing was just mount, still need to debug presentation display of stamina bar. 
 
gsanders said:
    Updated mission_triggers  to just use the extensions of interest from Silverstag v26 Combat Enhancements:
    Replaced Perisno sprint with Silverstag v26 Sprint in order to better test stamina bar in combat
Did you import Silverstag's sprinting/stamina system and combat abilities system over to Phosphor?  Most of that has no need for WSE so it would work, but if you have any questions there feel free to ask.

One thing to be careful of is v0.26's sprinting system.  The system was completely overhauled and it is working, but the stamina bar is graphically quite broken at the moment.  I'm still in the beta testing phase getting it to stop behaving poorly with the rest of Silverstag's in-combat interfaces.  The mechanic itself appears to be working bug-free though for both the player and AI.

I saw you mention using the Dynamic Troop Tree viewer.  As a note, this was completely rewritten from the one Dunde packaged, but the files and name remained the same.  It was redone for Silverstag's treeless system, but if you're looking to try and adapt it to Phosphor (I'm not sure how your troop trees work offhand) and need any help tweaking it to split stuff out the way you want it let me know.
 
@Windyplains:  I did import sprinting, from v26  but without v26.1
  I didn't get a stamina bar up but it seemed like I got sprinting messages feedback. 
  I suppose this is consistent with what is expected.

  I suppose it is a Frankenstein by now -- combat enhancements pulled on top of rigale+perisno mission_triggers;
  some global variables and defined capitalized states to support combat enhancements added.

  I ended up putting both Dunde's tree up and Silverstag tree side by side by simply renaming the Silverstag tree as "tree2*" instead of "tree*"
and editing modmerger_options.py to load "tree2"  followed by "tree".  At the moment it shows maybe 6 lines of troops from the first faction so
I will fine tune it by resetting the start and end troops for each faction within the presentation.  I also amended some fields as there was some inter-connection to other parts of Silverstag.

  I wanted to put in place some expanded detail on armor types and weapons categories at troop tree so I think I can get that done now; the troop tree
even with Dunde's tree is showing Silverstag's single troop viewer.  The difference between the two methods is the tree view, size of icon; when clicking on a single troop they become the same view, probably because this calls a presentation of the same name loaded first from Silverstag (as planned).  Some things work right by intuition alone :wink:

    Umm, it's only two modules from the Silverstag gallery of code but they seem to work.  I don't use WSE.  I did have WSE running earlier for Empires III
but my latest install of v1.166 clobbered that.  I suppose I should reinstall 1.153  again for WSE to resume working, so I can test run Silverstag instead of
dissecting code.  I'll miss the artwork from Perisno but I suppose all I really needed was 2-3 cities and some generic troops to see the code working.  Perisno / Phosphor is quite pretty, as the Perisno team has/had perhaps 16 artists that come and go and (very) few coders; I just code and Phosphor had no help at all except for 3 items made by Sorenerv last week. 

  I'll be very interested in the stamina bar once it works; there is no concern about it walking on the rest of Silverstag since the rest of Silverstag isn't
loaded.  I really did just make a wall that feeds the right variables to the plug ins and otherwise they run fairly much in their own little world.  As I am leaving for the beach in 3 days I'll probably put what I have up tonight for preview, in as much as it is cleaner than what is up now.  I got much value from the
slots.xls  spreadsheet and feel it made my life much simpler.  I'll try to make sure the module_inf gets edited today to mention Silverstag alongside of Rigale and Perisno.

  - GS
 
Friday 17 june 2015:
  finished setting weapons skills for each category fighting troops
  did NOT get around to adjusting upwards polearms & 2-hand weapons damage, although it needs doing by at least 1.25 current

  adjusted starting and end rows of troops to display in Silverstag troop tree
    moved some kingdoms troops around in troops file to simplify the logic for troop tree start and end by faction for Silverstag tree

    this makes some interesting displays.  It doesnt see troop trees the way the other one does, but it does for example let you
    scroll down a list of bandits, starting from bluewoods and finishing with the last fighting troop, examining each.
    I do have a quirk/bug at the moment of not returning to the presentation after examining a troop, but I can get that next time.

    there's 101 things I should have fixed but for the moment it's more important to get this set so that *something* works.
    I promised a few people (who never saw Pho before) I'd something playable, even if it was just v18.4 with the newer items list.

      Also from v19 and this one (which is a modification of v19 actually), many people said the resources from Perisno v75 full
    were not enough to load the module.  This is probably because I had Perisno .8 items and troops mixed in v19 by mistake.
    The remedy is fairly simple: I made a patch some time ago for v8 resources called from .75 items/troops, which I can blend in now.  It does change the patch size from 7 MB to about 96 MB.  I'll make a full download image as well, as everyone hates patching anyway and some have high bandwidth internet but some do not...

    What I will not do at this time is release Giants or their city, and their troops and items are commented out.  I feel more needs to be done to reduce the in memory footprint of all the items loaded in Perisno, and adding giant items/troops is something that should be done AFTER culling the 1000 or so unused items & resources.  Instead, many of these added resources included either are NOT loaded yet in the module.ini file (and belong to Giants) OR they are loaded in module.ini and represent enhanced or partially culled resource files.  Much more artwork enhancement will be done in late summer by Perisno's art developers, who barely speak to me, and I simply am trying to keep in step with Perisno so the code that _I_ do can stay in step with the art resources.  If I didn't do that, it would make better sense to drop Phosphor out of Perisno altogether in order to start fresh, perhaps with Silverstag + Rigale as code base, and put in artwork probably from TLD, Elven Path, and a few other OSP art collections.  Some of those (TLD) are in Perisno already.  I will add more races but I want some more debugging and reference tools first.  One thing about Perisno -- imperfect as it is, it also has hundreds of features, such as sea travel, a nice map, nice integrated faces and skins (have you seen the female faces?), a huge number of mounts, and a few million player battles to find bugs (and boy do Perisno's players find bugs!).  This may be the quietest board on Warband, aside from my blogging, but at least we have collectively given Rigale a bit of a facelift. 

    I hope we (I'll code it if you test it) can make the next layer even better.

    - GS
 
Wed 29 July 2015:
  back from the beach. 
  In real news, these changes today for  v20 r4:
    Archers (ground and cavalry) weapons skills lowered exactly 10% in order to find the sweet spot
      Still anticipating changes from encumbrance adjusting impact from power draw shortly.

    Lowered weight of hair enchantments to be under 1 weight unit (is that pounds or kilos??)
 
    noticed these tidbits from Silverstag v26 "extended diplomacy" plug in module:
----
    Ransoming a Lord (via dialog):
Whenever a lord is your captive, you may offer them the chance to ransom themselves for a lesser amount.  If you meet the requirements, you may be able to try to intimidate them into paying more than the usual amount, but this will have some consequences.

    Forcing a king to give up their claim to the throne:
If you manage to take a king prisoner and vastly out match their kingdom then you may have a chance at coercing them into relinquishing their claim to the throne.  If successful their kingdom will become a part of your own with all of their vassals switching to your allegiance.
-----
    those should be do-able with small enough work.  I don't want the full module just those two functions would be useful...

    Silverstag: Center Improvements
    excellent presentation that needs a light to medium amount of effort to adjust.
    allows damaged buildings from sieges, on going road repairs/improvements, which in theory should influence caravans and prosperity
        possibly this could give a modifier to travel speed near a city but that would be more work.
        needs more study.
------
    Troop Tree viewer:  Silverstag troop tree viewer interacts with view individual troop presentation well but breaks return to Perisno tree viewer
        so this needs some tweaking to set a global variable to determine WHICH tree viewer called the individual troop viewer last. 
        and this needs a check against companion viewer as well, as they may be integrated.  That would break Phosphor v20 r3 saves; or Perisno viewer could be removed without a save break, "maybe".  Needs test.
  EDIT: did this, was a very simple edit.  Both tree viewers are smooth now.

      Still would like to get stamina bar up and working, not sure why it isn't displayed.  Silverstag v26.2 source isn't published, only v26.  I'll have to look at v25 <-> v26  using WinMerge to see what changed and maybe reverse engineer the needed fix.  That may go fairly fast, we'll see.
  EDIT:  Sprinting is more complicated than it at first seems. 
    I have Silverstag v26.0 sprinting merged in but so far haven't gotten it to activate.
    The main thing I wanted was AI to sprint, which *might* be happening already.  It's limited at the moment to just lords, kingdom ladies, and companions (that is, all heroes), to reduce processor loading.  I'll have to do more debugging tomorrow on player sprint, and maybe spam sprint messages when AI sprints just to be sure for a few minutes...

    There is also an unrelated Brytenwalda sprint for the player only that works correctly. 
        It's main effect is a short term boost of athletics and agility;
        the athletics boost of course boosts dodge so its a fairly powerful command, that works correctly.

      Finally still need to implement an encumbrance check (average encumbrance where troops have more than 1 choice for gear for a given slot) that stores a value for all troops early in game and then updates heroes and player plus kingdom lords & ladies (so that spouse is considered, on the chance spouse has joined the party).  Once that happens can implement adjustments from encumbrance, but then the loophole of players accessing baggage in battle must be covered as well.

      plus all the usual bugs and issues.
         
 
last 2 days were busy:
Silverstag v26.0 changes:
added initilization script for Silverstag variables called from cheat menu to upgrade Pho v20 r3 users without nuking their savegame

added  "game settings options" for as many Silverstag routines as looked to be good candidates to import for Pho v20 r4
              sprinting
              stamina bar color
              fallen riders
              encumbrance
              toggle village allies

      implemented the disable village allies change in game_menus
          this was a nearly trivial edit, thanks!

Tested Brainy Bots against Pho v20 r4 
    seems to "work" but it is hard to see a difference.
    there is now an F5 option to engage brainy bots afterwards IF players install "brainy bots", will continue test shortly
        needs reinstall after every patch by the way
        patch does NOT auto-install it.  That could be a good thing, as it lets players try it both ways.
     
Finally added a tiny handler for battlegrounds / (aka 'temporary graveyards')
  yay it works.  Of course, now you can't molest the few routed people inside, but thats probably a good thing  :wink:

Testing:
1)
Did notice "Battle order skirmish" from Rigale also wanted left control, tried setting to right control, still not player sprint
  hires a companion so can test AI sprint tomorrow
  shield bash had been mapped to left control also but now remapped to F7 per "control settings" menu.  This needs updating at on screen "help" displayed during combat.

2) did notice a stuck in tavern, once, even without doing crafting, bard, or learning poems.
=====
Fri 31 July 2015
    Determined the "disable villagers from joining attack" does NOT apply to bandits, but works ("probably") for kingdoms raiding

    Adjusted dialogs to remove companion-as-minister requirement to "grant a vassal a fief"
                                                                                                    "indict vassal for treason"
    Adjusted                            companion-as-chancellor                to "change kingdom culture"

    fixed fire bow recipe, although the fire bow isn't working as intended. 
      specifically, the fire stream tends to not go the direction the arrow is pointed
      it was originally intended for WSE and may not ever work correctly without it.  That's a later issue...

  lowered cost to set kingdom culture for zann and dead kingdoms
  clarified text in game_menus for guild "training" and guild "lessons", which in Rigale have different functions

  EDIT: did NOT first mandatory fight with bandit, will return to that later, restored original code for this
 
  confirmed landowner rent (prsnt_bank) pays 1/3rd Perisno .75 amounts, to prevent concern from money too easy
  adjusted heirloom treasure to 30K not 20K; premade female char has 25K not 20K cash.

  added shortcuts to jump from crafting menu to guild menu as well as the normal exit to town
      and from within 1 guild to stay in the guild section so as to select a different guild, as well as the normal exit to town
      these from a suggestion from Zykox.  :working:

  Probably can release a Phosphor v20 r4 tonight, if I don't expect encumbrance to be finished.  Mostly working through the list of
older issues today...

  Doing encumbrance checks now, with luck can fit them into Silverstag troop viewer for Pho v20 rev 4
      not using the same values so it needs a little more debug than one might expect
    where  ratio is  ( [weight slots0..7] / strength)
#  ratio    athletics  shield  power Draw Riding  Horse Archery
#  0.5          3          +3      +1              +1          +2
#  1.            2          +2        0              +1          +1
#  1.5          0          +1        0                0            0
#  2.            -1            0      -1                -1          -1
#  2.5          -2            0      -1                -2          -2
#  3.            -3          -1        -2                -2          -3
#  3.5          -4          -2        -3                -3          -4
#  >3.5        -6          -4        -4                -3          -4
  Note this differs considerably from Silverstag's calculations.
  So far my target for Phosphor v20 r4 is to calculate and store these changes,
      then read them back with Silverstag's tree viewer,
      with Perisno's original tree viewer showing the un-adjusted values stored in a different location
      I don't like Silverstag's fiddling with the actual values as it could be used to make a warped character for later multiplayer

  I'll likely add magic resists  Pho v20 r5,
      along with adjusting combat to use "effective Riding", "effective Horse Archery", "effective Power Draw", "effective Shield skill"
      and "effective strength" and "effective agility", since those are natural targets for weakness/strength and clumsy/adroit buffs.
      for that matter "weight carried" is stored as "effective weight" to allow for items with a lightness enchantment to remove some weight later
      So r4 needs to set all the slots correctly and let me inspect them, regardless of whether players happen to make kingdoms etc in the meantime with it.
      It's a toolkit...

  ABSOLUTELY BREAKS SAVEGAME FROM Pho v20 r3
  here's why duhhh:  all sorts of troops (inherited from Perisno or tacked onto the end of troops from Rigale) were outside
    the bounds of  [soldiers_begin .. soldiers_end]  and  [active_npcs_including_player_begin .. heroes_end]
    this includes pretty much all quest targets you need to fight, red immortals, peasant rebels, fort soldiers, and so on.
    That in turn means they wouldn't fight properly in mission_triggers so battles have them standing still doing nothing
        and it makes combat routines expecting encumbrance etc glitch because they would have not been pre-initialized
        with valid values.  Moving them around breaks any saves made previously; but now that they are moved I can add
        1 time routines at cheat menu to preset them with any needed initializations.  In general, your savegame stores the offset
into a table for a troop; if the troop moves in that table, you wake up from a savegame with the wrong troops.  Some items
in-between those moved troops were storage, arrays, skills, and all sorts of other things that take up space in RAM but aren't really "troops".

      Hopefully this cleans up some old Perisno issues as well...

realistic estimate for Phosphor v20 r4  (game breaking vs r3): Sunday early afternoon.
EDIT:    I am busy today so Sunday morning I'll have to finish setting up troops and inspecting them in the second troop viewer.  DONE
    Athletics dodge should be working off "effective athletics" by then, as its a trivial change and I know where it is.  DONE
      but Rigale sprint needs more work...

    I'd sure like to get effective shield skill instead of shield skill as well, but that's slightly more work.
    If that goes quick I'll do power draw, riding, and horse archery - in that order, as power draw needs nerf the most.
    I should probably tweak  module.ini to adjust armor soak but that seems to be a v20 r5 job --
        by that time I should adjust armor rating and cost fields.

EDIT: Sunday early morning  2 Aug 15
  "effective riding" is adjusted in mission triggers so that the encumbrance modified riding is used for riding speed change
      3% per effective riding speed instead of the previous 2%
      native riding skill for purposes of what mount can I ride?  is not changed for companions/player/spouse (ie Hero class)

    Adjusted civilization knowledge to also adjust effective riding, horse archery, power draw for knowledge {archery, horse riding}

    encumbrance & encumbrance effects for heroes (player, companions, possible spouse) recalculated before every battle,
but troops calculated once only at start of game.  As players could still change gear mid battle and mess with encumbrance, most missions have in-battle inventory access now disabled.  Exceptions are "entrenched encounter" and "lead charge ambushed". 

    Troops have their native skills permanently adjusted by encumbrance, but hero class does not, allowing hero class to be constantly checked and upgraded (or down graded) dynamically.  This should allow players and companions to level up, add attributes and skills, and still have the encumbrance modifiers adjust
Dodge and horse riding speed.  Power Draw, horse archery, riding for purposes of can I use this mount?, athletics for movement speed calculation, and shield skill unfortunately aren't modified so far as native stats are concerned for hero classes; so encumbrance influences dodge and mount speed for heroes, for Phosphor v20 r4.

  adjusted learning poems from minstrels in tavern to stop using time afterwards and commented away the finish mission to see if this helps with
avoiding the "stuck in town" issue.  This means I have to go wandering around learning poems a few minutes more before releasing r4...

  - GS
 
Status
Not open for further replies.
Back
Top Bottom