• We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

Lord Yanaek

First Lieutenant
14 Badges
Jun 3, 2019
244
36
  • Stellaris
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Leviathans Story Pack
  • Stellaris - Path to Destruction bundle
  • Surviving Mars
  • Stellaris: Humanoids Species Pack
  • Stellaris: Apocalypse
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Distant Stars
  • Surviving Mars: First Colony Edition
  • Stellaris: Megacorp
  • Surviving Mars: First Colony Edition
Hi there. Surviving Mars is a fun game but i don't find there is much about actually surviving on Mars in the default game, more about producing lots of credits to buy more materials to expand your colony and produce more credits ... So i thought how about adding (through a mod or a new DLC if Haemimont is still interested in adding to the game) a new rule that actually makes survival important and puts a higher emphasis on building a self sustainable colony. Basically it would be like a Last Ark on steroids and would radically modify how the game would play.

Basically the idea is that the expedition was well planned but can't count on earth support at all, they are alone and must succeed. On the other hand they didn't come with a small rocket but a larger ship that couldn't land but could carry a lot more.

That rule would have the following effect on the game :
  • In the planning steps you receive free prefabs similar to the Prefab Colony rule except you also have a prefab for the 3 factories : Polymer, Machine Parts and Electronics but probably not all the free Stirlings.
  • You get one of each Rover for free.
  • You choose your colonists at the start of the game. They will be in cryosleep in the large ship until you have built a colony that could sustain them. They can wait a lot longer than colonists in a rocket but not indefinitely so you can't just stay in Drone economy forever.
  • You can't send a rocket back to earth or buy more stuff after the initial phase. Outsourcing research should still be an option or some sponsors would have a hard time gaining some research early (looking at you Church of the New Ark).
Obviously this would be a very different game but that's precisely the goal and why this should be a new rule so you can choose to play normal "Surviving" Mars or real survival.

Now a question to modders. Is something like this possible as a mod? Obviously giving free prefabs should be easy, probably rovers. What about totally preventing trade with earth after the initial planning phase? The hardest part would probably be to get the colonists in cryosleep right from the start in the "orbit ship" and find a way to bring them to Mars later. Maybe this could be approximated by giving an additional rocket and increasing the orbit survival timer for colonists but is it possible to force selection of colonists during the planning phase?
I have messed with Lua some years ago but have zero experience with modding Surviving Mars and the according to the wiki there's no example mod for game rules. I wanted to have a look at some existing rules but the game files appear to be packed.
 
Don't get fool by the tittle. All colonization games works the same: you go somewhere to get riches, sell them back at homeland and with the profit send more colonists to sell more riches to get more profit ...

There is no point on colonizing Mars if you cannot make rich in the process.
 
Ok, so the scenario will be as if the cylons destroyed the Earth and all the surviving humans flee away in a big Battlestar Galactica kind of ship.
 
Maybe this could be approximated by giving an additional rocket and increasing the orbit survival timer for colonists but is it possible to force selection of colonists during the planning phase?
You could add something like that, but effort vs. just using the in-game mechanics:
I was thinking easier have a timer running, if it runs out you fail. You pick your colonists the usual way, after the first rocket block off the resupply menu.
I wanted to have a look at some existing rules but the game files appear to be packed.
hpk.exe to extract them, but I mean most of the lua code is on git: https://github.com/HaemimontGames/SurvivingMars
We always welcome new modders to the modders discord, if you need help (link in sig)
 
Ok, so the scenario will be as if the cylons destroyed the Earth and all the surviving humans flee away in a big Battlestar Galactica kind of ship.
Lol, as if humanity needed Cylons to destroy itslef :rolleyes: We are perfectly capable ... and apparently willing ... to destroy ourselves on our own without any exterior help.
Anyway, i'm not really interested in the why, just in the alternative gameplay, not as a replacement but as an alternative.

hpk.exe to extract them, but I mean most of the lua code is on git: https://github.com/HaemimontGames/SurvivingMars
Thanks for the link. Unfortunately LastArk isn't as instructive as i had hoped
PlaceObj('GameRules', {
SortKey = 101600,
challenge_mod = 100,
description = T(860781390679, --[[GameRules TheLastArk description]] "Can call a Passenger Rocket only once"),
display_name = T(972855831022, --[[GameRules TheLastArk display_name]] "The Last Ark"),
flavor = T(694293425691, --[[GameRules TheLastArk flavor]] '<grey>"Be fruitful, and multiply."<newline><right>Genesis</grey><left>'),
group = "Default",
id = "TheLastArk",
})

And that's it. Global search for "LastArk" returned a couple results where the rule was checked to display different text but so far i havn't seen how the passenger rockets are disabled. I'll keep looking at that and see if i can start to figure how all of this work with my usual "learn by looking how others did it" approach. Probably going to look at some of your mods too. I'll remember the discord channel but i won't be able to look closer for the next few weeks at least so don't expect to see me for a while :)
 
looks like:
Code:
function AreNewColonistsAccepted()
    if g_Tutorial and not g_Tutorial.EnablePassengerRockets then return false end
    if IsGameRuleActive("IronColonists") then return true end
    return g_ColonyNotViableUntil == -3 or (g_ColonyNotViableUntil == -1 and not IsGameRuleActive("TheLastArk"))
end