Author Topic: [SUGGESTION] Window to display experience and other data  (Read 1852 times)

Offline B@R5uk

  • Squaddie
  • *
  • Posts: 7
    • View Profile
[SUGGESTION] Window to display experience and other data
« on: April 22, 2021, 05:50:03 pm »
It will be really great if there is an option to open window any moment in battlescape which will show all the experience points troops got so far during battle. Like one on the end of combat displaying table of attributes gain, but only scored points not gain (as gain will be randomly calculated only on battle end).

While this is still a suggestion which may or may not be realised, I've made a workaround. It's simple homebrew console Java program, it scans save file and displays table like this:


16 soldier(s) on mission found:
    ID   Name                         BRV REA FAC THR PSK PST MLE   Base
    21   69.59!85 Chris Athanadis       0   0   2   7   0   0   0   USA HQ
   123   65.56.80 Gowo Orakwe           0   0   2   7   0   0   0   USA HQ
    97   54.53.90 Soo-jin Nan           0   0   4   7   0   0   0   USA HQ
    46   54.53.71 Mouris Norgard        0   0   4   7   0   0   0   USA HQ
     3   83.54.88 Hukapapa Hohaia       0   0   3   7   0   0   0   USA HQ
    41   83.54.73 Jorge Herrera         0   0   4   7   0   0   0   USA HQ
    52   71.52.77 Inbar Yosef           0   0   1   6   0   0   0   USA HQ
   122   80.52.97 Oudry Tshiyola        0   0   1   6   0   0   0   USA HQ
   106   59.52.96 Toma Dragomir         0   0   3   7   0   0   0   USA HQ
   110   62.50.86 Graham Jonlan         0   0   1   7   0   0   0   USA HQ
   120   58.48.76 Momchil Stanimir      0   0   3   7   0   0   0   USA HQ
   117   77.43.76 Nathan Pauwels        0   0   4   7   0   0   0   USA HQ
   121   61.43.89 Oluwaseyi Okoye       0   0   3   7   0   0   0   USA HQ
   115   74.43.92 Alessio Colombo       0   0   5   7   0   0   0   USA HQ
    64   80.51!70 Tityus Gonatas        0   0   8   4   0   0   0   USA HQ
    61   69!61.82 Oliver Voros          0   0   3   7   0   0   0   USA HQ
End of list.


I just cobbles it together yesterday night, not sure if it don't have any issues. It doesn't even have input option, you have to recompile it to account to different save files. So far it works fine for me.

I used to count every experience points "manually" and "by sight" using notepad, but as it's tedious and i've grown tired of it, I decided it's high time to find different solution. Original game devs seem to think gamer shouldn't have this information. But as it's available for any one who has excellent memory and observation skills, IMO it should be accessible any time for any one who wants to see it.

On the same note, there is vital data such as TU and ENERGY regeneration rates, which may highly affects decision making during battle, but is not presented anywhere. It can be calculated in theory, but that is tough call, as ENERGY regeneration for example requires knowing soldier's starting TU stat value, which can only be seen in geoscape mode. It will be really helpful to have this data present on soldier's stats screen where all armor, morale and other stats are presented.
« Last Edit: April 22, 2021, 05:54:35 pm by B@R5uk »

Offline iodsnips

  • Squaddie
  • *
  • Posts: 8
    • View Profile
Re: [SUGGESTION] Window to display experience and other data
« Reply #1 on: December 13, 2023, 03:54:22 am »
This is how I made his java openxcom experience meter work in windows!  Steps 3 & 4 might not be needed, but I recall I had to do these:

1. Copied the 234 lines from his pastebin link into notepad.  Can save it as any file, just change the extension to "all files" and add the .java at the end.  In my case I called this file exp.java

2. Right click the java file you just saved, and click edit.  This opens up notepad so you can edit this again later if needed. On line 6, it says "D:\\Games\\Open X-COM 2021 FMP 2.8e\\user\\xcom1\\TACTICAL-0.sav" in his example, you must change this to point to your openxcom location.  You can have it point to a network location on your home network by mapping a drive in windows easily.  My favorite saved game to monitor is _quick_.asav as I hit my quicksave binding key often & have autosave turned off ingame.  Remember, your saved files are located in OpenXCom\user\xcom1

3. Download java development kit from oracle & install: (can't post links here I guess, it's easy to find on google.)

4. Open up command prompt, go to the folder where your exp file you made in step one, in my case I had named it exp.java.  Now type in: javac exp.java

5. Open up command prompt, go to the folder where your exp file you made in step one, in my case I had named it exp.java.  Now type in: java exp.java


(optional) To autorefresh, I opened up notepad and pasted in this bit at the end and saved this file as exp.bat putting this in the same folder as the java file. When you run this, it will automatically refresh your teams experience hit counters every 10 seconds!  You can change the 10 to however many seconds you wish this to refresh:

:start

java exp.java

timeout 10

goto start

The End Result for myself:
Everytime I click my quicksave hotkey, whenever I see my command prompt auto refresh it shows my entire teams bravery, reactions, hits, throws, psk, pst and melee actions!  Having this run on a spare laptop, or better yet having a cheap tablet screen share this box lets me see the team's status separately so my game can run fullscreen.  This allows me to make sure everyone gets one hit, be efficient in helping that one or two guys who really need the help hitting better or getting brave!

In the classic original x-com dos game, I did a similar monitoring but with the program HxD with the dat file, but it was hard to view & get the names of the soldiers but it did update in realtime.  I dislike not knowing who hit too many times or not enough (or not at all!). 

Offline iodsnips

  • Squaddie
  • *
  • Posts: 8
    • View Profile
Re: [SUGGESTION] Window to display experience and other data
« Reply #2 on: December 13, 2023, 04:33:45 am »
It's a shame when half your squad get 10 hits and not that 11th, or half your team never hit one guy or performed any action.  When you have three soldiers next to each other, who do you pick to take that final shot at the last alien?

You can choose to ignore the current battle exp progress, but it's very nice to command your team with the intent for experience improvement!  I wish Openxcom had a built in experience meter or a chart to view when a hotkey is pressed.  The gamer needs to see which soldiers need to perform more or less so that they gain experience faster or at all.  Counting hits in your head or writing them down instead is too hard.

One action (hit landed, one reaction, melee, or psy) means you have a chance at 0 or 1 point improvement, but all your secondaries will go up all they're going to (TUs, health, strength, energy/stamina)!  The big cutoffs are 3 primary actions rewarding you randomly with 1-3 points at the end of the mission, and the maximum reward which is 11 primary actions rewarding you randomly with 2-6 points.  Performing more than 11 actions won't cause any more increase.

I can't post links so go to ufopaedia and search for "Experience" to learn more.  Also "Kill_Modelling" to learn how many hits it takes to kill a creature or for your own men to die on average.  On the edge of the standard grenade damage, some creatures are invulnerable.

Something I discovered last week, is that an alien taking up four spots actually rewards you with 4 primary hit actions when hit with a single grenade!  If you hit a cyberdisc on the edge of the standard grenade's 10damage (10+10+20+20) they are invulnerable on every difficulty making them a faster way to get 11 hit actions before mind control options arrive later.  Just three grenades gives a soldier 12 hits, especially nice for the recruit with bad firing accuracy to improve faster!  On games above beginner difficulty with the increased alien armor bonus, if you hit a cyberdisc with a standard grenade directly instead of the edge it takes around 23 direct hit grenades to kill too.

Offline iodsnips

  • Squaddie
  • *
  • Posts: 8
    • View Profile
Re: [SUGGESTION] Window to display experience and other data
« Reply #3 on: December 13, 2023, 11:15:11 am »
The experience meter he made needs help with two big issues.  If anybody knows java code & can assist, oh my god I would love you forever!

#1 If anybody on your team dies, it no longer works, no soldiers show up any longer in that battle on the meter. It now reports:

All bases has been scanned.
Unidentified soldier found.


#2 If you bring a tank or vehicle with your grounding party, it no longer works, no soldiers show up in that battle on the meter. It now reports:

All bases has been scanned.
0 soldier(s) on mission found




Not sure if its because the id for the hovertank is 1000000, or because the hovertank is a unit & this script can't find its base as it's not a soldier?  Ultimately vehicles can't gain experience, so vehicles don't need to show up at all in this.  Dead people can't gain experience, so a dead guy doesn't need to show up at all either.

An in-game solution that is elegant would be nice, but this is working at the moment as long as no tanks/hover come along & nobody dies.

If the developing openxcom team could make an exp tracker Ingame either having a meter similar to this one the OP shows, for the entire team in the corner of the game that can be turned on if you wanted.  Or a page just like the stats at the end of a mission, except instead it shows the primary actions so far of the team which you can view at anytime during the mission.  Give the gamer the tools to improve the team's progress/growth/levels, instead of not knowing and blindly hoping for stronger soldiers over time.  Or work on your favorite hero's weakness & track their progress to that golden goal of 11 actions.