New BETA Version - 2.5.8 ( August 04, 2022)

balparmak

Prince
Joined
Sep 20, 2015
Messages
545
Download link: https://drive.google.com/file/d/1Yu30wK-beHkaGKVjcwwtoZUHPnzYuQUb/view?usp=sharing

There haven't been any betas for a long time, but I've been working on two features that would benefit from some more testing before an official release, so here we go.
Link/Unlink Units (Hotkey L):
Link45.jpg
Unlink45.jpg

Units on the same tile can be linked, allowing them to be moved together with a single move order. Basically the "escort formation" feature from Civ6, but here you can theoretically link an infinite number of units as VP has no unit-per-tile limits for civilians. Current and maximum movement points of the linked units will be set to that of the slowest unit, which will be reset when they are unliked. Note that this does not consider the shared movement promotions, so the units may not follow the optimal route in multi-turn move orders. This can be improved if anyone can come up with an efficient way.
Group Movement (Hotkey X):
GroupMove64.jpg

The selected unit and all adjacent eligible combat units will move together and try to keep their relative positions. Movement points of the group is normalized to the lowest value as above. Eligibility is defined as thus: If selected unit is an unembarked land unit, only the adjacent unembarked land units will be moved. If the selected unit is a naval or embarked land unit, adjacent naval and embarked land units are moved. This also includes Great Admiral and Generals. The units sharing the same tile with the selected unit will be linked, even if they are not combat units. Unlike the link feature, grouping here is temporary and the group will be automatically disbanded when move mission is completed.
Let me openly state that this does not provide the perfect results yet. You can see one example in the attached screenshot. I've tried to move 28 units (one naval, one embarked land, one GG, one GA on each tile) by issuing a "group move" order to the central unit, but you can see that two units did not move and need to be ordered again. Still, it sure beats clicking 28 times.
You can find a detailed explanation of what's happening in the background here, and the related code here and here. This was tested with IGE to be working with all VP versions, but doesn't support CP (yet). Not savegame compatible with VP 2.5.

All testing and feedback is appreciated!

PS: I've been meaning to make a video about these features and some recent QoL stuff (waypoints, quick build orders etc.), but I'm no good for videos. Let me know if anyone's willing to do that.

Not so hot fix 8
- Fixed units getting "skip" order automatically.
- Merged beta branch with the main branch, so a lot of backend fixes & improvements are included.
- Also includes another surprise slated for 2.6: new farm resources. Maize & rice are added as farm resources, their placement is taken from Even More Resources, but they are identical to "wheat" yield-wise. I'll make a thread for them after 2.6. If you're using Even More Resource, use the attached version instead.
Not savegame compatible

Hotfix 7

- Linked units check for stacking

Hotfix 6
Special thanks to @4CV for testing&reports!
- Worker units will be set as leaders to allow them ask orders
- Group movement will check for close tiles (ring1, ring2) if the destination plot is not reachable
- Clicking next turn will automatically issue skip mission to linked idle units to prevent them from blocking the turn. Shift clicking on the next turn button will give this order for ALL idle units.
Should be savecompatible back to Hotfix 3.

Hotfix 5 (because I forgot to upload the 4th)
- Some more sanity checks for CanLinkUnits().
Probably compatible with Hotfix 2&3, but this version doesn't include any major fixes, so no need to update in the middle of a game. This will probably be the final version, I don't have see any issues and I'll be out for a few days anyway.

Hotfix 3:
- Fixed link icon not showing up for some combat units
Savegame compatible with Hotfix 2.

Hotfix 2:
- Killed/expended units should properly reset Linked status now.
This version also includes the latest VP database bugfixes, so it may not be savegame compatible.

Hotfix 1:
- "Link Units" icon will not be visible when the other units on the plot are ineligible.
- Aircraft can be rebased by right-clicking on a city.
Savegame compatible


Known Issues:
- Linking with a unit that has no current movement points, or giving a group order while adjacent to one, will set all affected units' movement points to zero. This is not a really a bug rather a expected consequence of the movement point normalization. You can regain movement points by unlinking units, and grouped units will start moving in the next turn.
- If "Quick Movement" is disabled, only one unit will display movement animations when moving linked units, the other will "teleport" to the tile. Not an issue with "Quick Movement", and I consider this a low priority.
- EUI unit panel gets a bit crowded when both link and group move actions are available. I don't see anyway around expect hiding some other icons, like the "move" and "attack" buttons are almost never used, what do you think about hiding them? The nonEUI unit panel has a secondary stack for less used actions so it doesn't suffer from this.
The features may never be 100% polished (well neither is Civ5 or 6 etc.) but the utility they provide far outweighs the downsides.
 

Attachments

  • groupmove.jpg
    groupmove.jpg
    2.2 MB · Views: 525
  • Even More Resources for Vox Populi (v 9).zip
    10.8 MB · Views: 35
Last edited:
Wow this looks super useful! I remember having like 20 Navy units that I need to move individually :O
 
Is the purpose of group movement to get large ammounts of units to an aproximate location. Such as troop redeployment? For example you finished a war with one nation. Decide to fortify your border with another and have to move all your units over.

If so. Is it possible to maybe have a rally command instead? Whereby you can designate a rally point. And any units you assign to that rally point will attempt to get as close as possible.

Not sure how easy to code this would be. But if managable would really help.

Such a pain telling 50+ units to go to a new location, and then as soon as a unit reseqrched the dwstination you then have to recommand every other unit to a new location.
 
Is the purpose of group movement to get large ammounts of units to an aproximate location. Such as troop redeployment? For example you finished a war with one nation. Decide to fortify your border with another and have to move all your units over.
Yep, exactly this.
If so. Is it possible to maybe have a rally command instead? Whereby you can designate a rally point. And any units you assign to that rally point will attempt to get as close as possible.

Not sure how easy to code this would be. But if managable would really help.

Such a pain telling 50+ units to go to a new location, and then as soon as a unit reseqrched the dwstination you then have to recommand every other unit to a new location.
Rally points would be indeed nice, but it's much more coding&memory intensive as far as I know. It would also require more clicks if I understand it correctly, you set a plot as the rally point, then click on each unit you want there. Group movement works on the assumption that the units you want to move together would be close/adjacent, and then it takes just one click to command all.
 
Yep, exactly this.

Rally points would be indeed nice, but it's much more coding&memory intensive as far as I know. It would also require more clicks if I understand it correctly, you set a plot as the rally point, then click on each unit you want there. Group movement works on the assumption that the units you want to move together would be close/adjacent, and then it takes just one click to command all.
Less clicks the better. I look forward to this.
 
...
Link/Unlink Units (Hotkey L):View attachment 634686View attachment 634688
Units on the same tile can be linked, allowing them to be moved together with a single move order. Basically the "escort formation" feature from Civ6, but here you can theoretically link an infinite number of units as VP has no unit-per-tile limits for civilians. Current and maximum movement points of the linked units will be set to that of the slowest unit, which will be reset when they are unliked. Note that this does not consider the shared movement promotions, so the units may not follow the optimal route in multi-turn move orders. This can be improved if anyone can come up with an efficient way.
...
All testing and feedback is appreciated!
...
Thank you for the new features, very useful. But it seems that linking military units to workers can cause problems. In my game (ver 2.5b3) suddenly the "Next turn" button didn't work anymore. Reload, restart, clear cache... nothing worked. Earlier savegames worked, but always only till the end of T177.

Situation: My worker was building a pasture. It was wartime so I put a horseguard on top, using the "link" feature. The worker was invisible, the pasture took 9(?) turns to finish, so I forgot him.
In T177, the pasture was finished, but I didn't notice. And there was no notification of "a unit needs orders" for that hidden worker, so he silently blocked the "next turn". The horseman was on "alert".

At last I found out what happened, and moved the horseman away from the tile.
1

Then I tried to move the worker.
2

Strange result: The worker did not move, but the horseman did again, with his last MP.
3

Next try, and again the worker would not move.
4

But I could delete the worker and finally click "Next turn". A couple of turns later everything is working fine again.
 

Attachments

  • worker4.jpg
    worker4.jpg
    107.3 KB · Views: 226
  • worker3.jpg
    worker3.jpg
    144 KB · Views: 159
  • worker2.jpg
    worker2.jpg
    161.2 KB · Views: 150
  • worker1.jpg
    worker1.jpg
    218.7 KB · Views: 215
Thank you for the new features, very useful. But it seems that linking military units to workers can cause problems. In my game (ver 2.5b3) suddenly the "Next turn" button didn't work anymore. Reload, restart, clear cache... nothing worked. Earlier savegames worked, but always only till the end of T177.

Situation: My worker was building a pasture. It was wartime so I put a horseguard on top, using the "link" feature. The worker was invisible, the pasture took 9(?) turns to finish, so I forgot him.
In T177, the pasture was finished, but I didn't notice. And there was no notification of "a unit needs orders" for that hidden worker, so he silently blocked the "next turn". The horseman was on "alert".

At last I found out what happened, and moved the horseman away from the tile.
1

Then I tried to move the worker.
2

Strange result: The worker did not move, but the horseman did again, with his last MP.
3

Next try, and again the worker would not move.
4

But I could delete the worker and finally click "Next turn". A couple of turns later everything is working fine again.

If you automated the worker did the horseman move to go build a farm? 🤔
 
I didn't, I never use automated workers. And no automated horses, ofc...
 
Last edited:
@4CV thanks for the report! Yeah it's probably caused by the linking feature because linked units do not ask for orders (too annoying otherwise). If that happens again, can you try manyally selecting the worker unit (through its flag) and give a skip turn order or unlink it? I'll look into this but sadly it's a problem with "next turn" behavior which caused these issues before the link feature, so it goes deeper.
 
@4CV thanks for the report! Yeah it's probably caused by the linking feature because linked units do not ask for orders (too annoying otherwise). If that happens again, can you try manyally selecting the worker unit (through its flag) and give a skip turn order or unlink it? I'll look into this but sadly it's a problem with "next turn" behavior which caused these issues before the link feature, so it goes deeper.
Yes, it happened once again with a worker, but this time after unlinking the "next turn" button worked as intended. The only problem here was to find the culprit, because I had so many workers. It would be nice to have the linked workers marked anyhow in military overwiew. Atm, I search by sorting "moves remaining" which helps a little.overview.jpg

Btw, I saw this after I moved a knight on top of a worker, but before I linked them:
worker.jpgknight.jpg
The worker fakes being already linked.
 
Yeah a link icon on the overview is a good idea. I was add one next to the flag, but the last time I did that for automated units it crashed the game, so I'm hesitant.
That fake linked thing could have been improved by the 5th hotfix, sometimes the UI lags and forgets to refresh the icons, could also be that.
I have a final suggestion/testing request from you, can you try using the worker unit to link (i.e. click the link icon when worker is selected). I think it will ask for orders then. I'll do this automatic in the next hotfix, probably this weekend
 
I would like to see fortify/sleep order to apply to all units within a few tiles from selected unit if its possible. This is s step in good direction. I can already see lategame wars being done with a lot less clicks.
 
...
I have a final suggestion/testing request from you, can you try using the worker unit to link (i.e. click the link icon when worker is selected). I think it will ask for orders then. I'll do this automatic in the next hotfix, probably this weekend
It works very well indeed, and more: Now you have invented how to stack military units in CiV! The worker can make his linked unit march on top of another one...:worship:
stack1.jpg


edit: still on hotfix3 as before
 
Last edited:
Some more pictures (now hotfix 6):

Stacks can be combined and march as one
stack4.jpgstack4a.jpg

One worker can collect multiple military units...
stack6.jpg

... and even place them on a foreign units.
stack_mixed.jpg

Unfortunately the game crashed before I could try to unite them into one stack. No doubt my computer could not believe American and Russian army being reunited and Sweden being the enemy....

Edit: Probably I should mention that CTD did not occur very easily. I had to do a great number of stacking, unstacking, recombining units before the game gave up... :)
 
Last edited:
Top Bottom