Few More Buildings for VP (@franzacq continuation)

franzacq

Chieftain
Joined
Apr 26, 2024
Messages
29
Location
Massachusetts, USA

Few More Buildings for VP​

This thread is open to all modders.
A unique place for all Building Mods for VP.

-Asterix Rage

Since the original maintainer has been gone since 2021, I've decided to publish a new "official" version of this compilation mod with the newest versions of the individual components. This is a combined effort of many different modders, and anyone is welcome to submit new ideas, icons, text, or buildings of their own!

There are two versions of this mod: All in One, and Standalone.
  • Standalone Version: Contains all of the separate buildings packaged as their own mods, where you can enable and disable individual buildings in the mod manager​
  • All in One Version: Contains all of the buildings combined as a single mod. While there are no functionality changes from their Standalone releases, I have refactored and merged the buildings' files for readability and performance purposes​
Credits are posted below with their respective buildings.

CHANGELOG
Spoiler :

Version 3
  • Modified buildings' Gold Maintenances and Production Costs to be in line with other buildings at their respective technologies
  • Added dependency on '(2) Vox Populi' for all buildings in both mod versions
  • Added blocks for buildings in Standalone version against the All in One version, and vice versa
  • Increased version numbers for all buildings to correspond to changes
Version 2
  • Updated Ski Resort and Marina to v2
  • Fixed capitalization and grammar
  • Unified mod names in the Separated version for easier access/management in the mod menu
Version 1
  • Initial release
  • Compiled newest versions of buildings since Asterix Rage's final release
  • Created All in One version combining all buildings into single mod
 

Attachments

Last edited:

Current Buildings​

mAnc0qk.jpeg

Casino
Unlocked at Railroad
Current version: v1
Credit: Asterix Rage, inspired by Circuit
_________________________________________________________________________________________________

3J0AWhe.jpeg

Cemetery
Unlocked at Theology
Current version: v3
Credit: Gwennog, Asterix Rage
_________________________________________________________________________________________________

EINRwdN.jpeg

Clock Tower
Unlocked at Machinery
Current version: v1.1
Credit: Jarcast
_________________________________________________________________________________________________

Y4QjFfV.jpeg

Fire Brigade
Unlocked at Industrialization
Current version: v1
Credit: Franzacq, inspired by adan_eslavo
_________________________________________________________________________________________________

V4Uj0OD.jpeg

GMO Lab
Unlocked at Alternative Energy
Current version: v1
Credit: Asterix Rage
_________________________________________________________________________________________________

FmzCe7e.jpeg

Marina
Unlocked at Atomic Theory
Current version: v2
Credit: Gwennog, Jarcast
_________________________________________________________________________________________________

ySa5Jo0.jpeg

Park
Unlocked at Scientific Theory
Current version: v2
Credit: InkAxis
_________________________________________________________________________________________________

a9keutB.jpeg

Polar Station
Unlocked at Radio
Current version: v1
Credit: Asterix Rage, inspired by RetroA
_________________________________________________________________________________________________

vwMzQVL.jpeg

Recruitment Office
Unlocked at Corporations
Current version: v4
Credit: Asterix Rage, Enginseer, Pineappledan
_________________________________________________________________________________________________

EgDKzKq.jpeg

Ski Resort
Unlocked at Atomic Theory
Current version: v2
Credit: Gwennog, adan_eslavo
 
Last edited:
I'd like to discuss modifying the Recruitment Office. I'm personally not a fan of the randomized promotion chance; it feels quite gimmicky and not in line with the VP experience.

Perhaps we can keep the Military Unit Supply Cap and +25XP, and remove the promotion in favor of giving a production bonus to military units. That sort of bonus feels more in theme with what a Recruitment Office would be providing in real life. Thoughts?
 
Last edited:
My humble amateur opinions on these buildings:
  1. Casino: Not very exciting. Just some flat gold and not a very significant amount at that.
  2. Cemetery: I like the idea, but the yields seem much too low to make building this worth it.
  3. Clock tower: I like having a building around this point of the game that helps achieve golden ages. The other yields seem a little more random.
  4. Fire brigade: Love it! Makes a lot of sense, is unique, and I can see this being useful.
  5. GMO Lab: Seems too weak to make any difference at this point in the game. By the time you have Alternative Energy, 12 food is about how much a farm gives you.
  6. Marina: I like it. Cities with mostly coastal tiles don't produce as much culture, so this helps.
  7. Park: 2 happiness per city is too strong. This basically eliminates unhappiness from being a concern.
  8. Polar station: Love it, makes snow an interesting place to settle in the late game, especially combined with rationalism.
  9. Recruitment office: I like having there be one more XP building so I'm a fan. I agree the skillful thing could be removed.
  10. Ski resort: Seems interesting, and I like it being exclusive with marina.
 
Casino: Not very exciting. Just some flat gold and not a very significant amount at that.
Maybe add a random effect, it's not very VP but at the same time, it's a casino :). Or, but it's a bit identical to the Ski resort and the Marina, :c5gold: Gold coming from :tourism: Tourism.
Cemetery: I like the idea, but the yields seem much too low to make building this worth it.
Yes, I agree, apart from building it in Tradition in its Capital to benefit from the permanent bonus quickly when using GP, it is too weak.I need to think about increasing it a bit.
 
Hi @franzacq ,

I have just seen that the maintenance cost of the Marina and the Ski Resort are not in agreement with the Stadium which comes with the same technology. It should be lowered to 8.
I haven't checked for the others but as the costs were reviewed in VP some time ago, perhaps those for the special buildings no longer correspond.
 
Maybe add a random effect, it's not very VP but at the same time, it's a casino :). Or, but it's a bit identical to the Ski resort and the Marina, :c5gold: Gold coming from :tourism: Tourism.
While I may not like it for the Recruitment Office, having a random gold effect does seem very thematically accurate for a Casino. Here are two ideas I had, but I'm not sure either is perfect. They definitely need revising.

Idea A)
On build, roll a random number from 1-10:
1: Casino does not produce any gold for 10 turns, and/or raise unhappiness from poverty until next roll
2-3: Lose X (100?) gold
4-5: No effect
6-7: Gain X gold
8-9: WLTK day for 10 turns
10: Gain lots of gold (300?) + golden age points, and/or reduce unhappiness from poverty until next roll

Idea B)
Similar randomized system as above. However, instead of a one time on-build effect, the random roll happens every X turns (20? 30? scales with game speed?) after building for as long as the building exists.

Hi @franzacq ,

I have just seen that the maintenance cost of the Marina and the Ski Resort are not in agreement with the Stadium which comes with the same technology. It should be lowered to 8.
I haven't checked for the others but as the costs were reviewed in VP some time ago, perhaps those for the special buildings no longer correspond.
I can go through all of the buildings and make sure that the maintenances are in line with their respective technologies. I suppose I'll do the same for production costs as well while I'm at it.
 
I think that idea B better, and I think there are should be more positive outcomes than negative. It's expensive enough building. By the time that I build the Casino, I usually have WLKD in most of my cities. May be every 10-15 turns.
 
Randomness could make some sense. Another idea could be to make the building be a tradeoff between gold and happiness -- something like increased gold and a merchant slot, but +1 unhappiness and increased poverty.
 
I think that idea B better, and I think there are should be more positive outcomes than negative. It's expensive enough building. By the time that I build the Casino, I usually have WLKD in most of my cities. May be every 10-15 turns.
I was having trouble typing this out, so I figured it would be easier to make a diagram. Regardless of what the actual bonuses are, these are what I think the 3 best distributions would be if we decide on the randomizing option:
1715882109754.png


Randomness could make some sense. Another idea could be to make the building be a tradeoff between gold and happiness -- something like increased gold and a merchant slot, but +1 unhappiness and increased poverty.
Great suggestion. Increase raw gold + merchant slot + increase poverty would be a good route if we decide against adding in the random chance bonus.
 
I've been brainstorming ideas for more possible buildings that could be made. These are very rough but this is what I've thought of so far:
  • Aquarium (unlocked at same time as Zoo)
    • Major science bonuses to fishing boat improvements
    • Maybe some extra tourism on top of what the Zoo gives
  • Billboards (sometime in modern or information era)
    • Gold in return for raised unhappiness
  • Movie theater (early modern era?)
    • culture, reduced unhappiness from boredom
  • Prison/jail (not sure when to unlock)
    • Reduced happiness in return for SIGNIFICANT security increase against spies
  • Beach Boardwalk (early modern era)
    • Culture and/or tourism and/or gold for each coast tile in city
    • Reduced unhappiness from boredom and/or poverty

Let me know what people think of these ideas and how to potentially balance them. In the meantime, I'm going to update Few More buildings to v3 shortly with updated gold maintenances and production costs.

By the time that I build the Casino, I usually have WLKD in most of my cities. May be every 10-15 turns.
I've been trying to think of a replacement for "Good Outcome Tier 2" because you're right, WLKD is not very impactful as a reward at that point in the game. I don't want to simply make it raw gold preferably because Tier 1 & 3 already give raw gold and I would like some variance. Do you (or others) have any ideas?
 
Personally I'd love to have more buildings that increase security against spies. I don't really "get" the balance of espionage but I feel that defensive espionage is useless and can't defend a thing once your city is big enough.
 
While I may not like it for the Recruitment Office, having a random gold effect does seem very thematically accurate for a Casino. Here are two ideas I had, but I'm not sure either is perfect. They definitely need revising.

Idea A)
On build, roll a random number from 1-10:
1: Casino does not produce any gold for 10 turns, and/or raise unhappiness from poverty until next roll
2-3: Lose X (100?) gold
4-5: No effect
6-7: Gain X gold
8-9: WLTK day for 10 turns
10: Gain lots of gold (300?) + golden age points, and/or reduce unhappiness from poverty until next roll

Idea B)
Similar randomized system as above. However, instead of a one time on-build effect, the random roll happens every X turns (20? 30? scales with game speed?) after building for as long as the building exists.


I can go through all of the buildings and make sure that the maintenances are in line with their respective technologies. I suppose I'll do the same for production costs as well while I'm at it.
Unfortunately, this will likely make this mod incompatible with multiplayer, unless you use the Game.Rand function.
 
Unfortunately, this will likely make this mod incompatible with multiplayer, unless you use the Game.Rand function.
Yeah I was planning on just using Game.Rand. It's just a simple 1-10 roll so it wouldn't need anything more complex. Besides, the Recruitment Office building already uses Game.Rand for its randomized promotions so I wouldn't be using anything that's not already in use.

That being said, I've been thinking further about the Casino randomized option and I have a concern. If each Casino activates (AKA "gambles") every X turns, and every Casino has its own unique turn countdown that is checked and decremented (or reset if at 0) at the start of the player's turn, then the processing needed might become an issue.

How I am envisioning the implementation (please let me know if there is a better way, I'm new to Lua): There is a dynamic array that contains structs. Each struct will have playerID, cityID, and number of turns until next gamble. At the start of a player's turn, decrement every gamble counter for casinos owned by the player, and check to see if any hit 0. If so, reset the counter and gamble. Depending on the outcome, use the cityID to enact the effect.
 
to select a random number you may use this simple lua function

Code:
function GetRandom(lower, upper)
    return Game.Rand((upper + 1) - lower, "") + lower
end
So for a 1-10 roll it's:
Code:
local randnum= GetRandom(1,10)

If you want a gamble to take place every X turns then you can use the division remainder function:
Code:
local currentTurn= Game.GetElapsedGameTurns()
if math.fmod (currentTurn, X) == 0 then
-- casino gamble code
end
 
If you want a gamble to take place every X turns then you can use the division remainder function:
The problem is that the each casino would have its own "every X turns" counter. So if a Casino was built on turn 117, we would want the next roll to be on 137.

I've attached my lua code that I've written so far. It has all of the main functionality and is only missing the actual effects from the rolls (as I haven't decided on the balance yet). I think this should be a relatively minimal implementation but if there's a better way to write this then please let me know.
 

Attachments

For the Recruitment office, maybe it could provide a short-term (~10-15 turn) version of Quick Study or another temporary promotion instead of the Skilled chance? It would both help new recruits catch up to veterans and be thematically appropriate as a Boot Camp sort of thing.
 
The problem is that the each casino would have its own "every X turns" counter. So if a Casino was built on turn 117, we would want the next roll to be on 137.

I've attached my lua code that I've written so far. It has all of the main functionality and is only missing the actual effects from the rolls (as I haven't decided on the balance yet). I think this should be a relatively minimal implementation but if there's a better way to write this then please let me know.
The problem with your code is that the table data remain as long as you keep playing, if you save and reload in a second moment those data are lost and as consequence you get errors because the data will be nil.
You need SaveUtils.lua to retain table data but that usually is a punch in the gut in terms of performance. Using it just for a building is overkill, imho.
That's why I suggested using the same game turn for all Casinoes without indexing the construction turn for each city of each player, unless X is higher than 20 turns.
 

Attachments

Back
Top Bottom