Story Missions - [Scenario Pack]


Campaign mod for Factorio contains a total of 10 full scripted missions. Each mission has a series of mandatory and optional tasks. You can enjoy more than 20 hours of pure gameplay and lore-friendly story about YOU, the engineer who survived the harsh conditions of unknown planet where crash-landed years ago. How to play? Install and click on NEW GAME button. You'll see missions in the menu. For more info, check mod portal (Note: DLC is not supported). Locales: EN,CZ,SK,RU,DE,KO,ES,CN

Scenarios
4 months ago
1.1 - 2.0
28.7K
Planets Trains Environment

g Getting into a vehicle objectives lag the game

1 year, 6 months ago

I am unsure if this is a bug or a limitation.

I faced that bug while playing factorio in an old laptop once, 2 years later I got it again playing on the Nintendo switch.

In the missions where you have to ride a vehicle to proceed (Mission 1 -> Get into the car, Mission 8 -> Get into the spidertron)
while this objective is active, the game would lag/slowdown) it is worse in Mission 1 than 8. the game is still playable, and everything is back to normal after the objective finish (which doesn't take more than a minute)

I do not notice this slowdown playing in any gaming PC.

1 year, 6 months ago

Hi, I am using similar scripts, which are used in original tutorial campaign for the car entering. I can't tell you, why the game do not performing well on this specific objective. I am using also old computer (970gtx, quad core, 16gb ram) I never encounter this kind of issue.

19 days ago
(updated 19 days ago)

hello, I am unfamiliar with factorio scripting, throwing the code into copilot resulted into the following (I am rephrasing)
the car1 tag search is a heavy process that is happening every tic, causing the performance issue
(in mission 1 before the start, if you type in the console something like:
c\ game.speed=8
you should be able to notice the slow down the moment the mission start

I replaces this from control.lua:

condition = function(event)
    local cardead = game.surfaces[1].find_entities_filtered { name = "car", limit = 1 }[1]
    if not cardead then game.set_game_state({ game_finished = true, player_won = false, can_continue = false }) end
    return game.players[1].vehicle ~= nil and game.players[1].vehicle.energy == 0
end,

to this:

condition = function(event)
    local car = storage.car1
    if not (car and car.valid) then
        game.set_game_state({ game_finished = true, player_won = false, can_continue = false })
    end
    local v = game.players[1].vehicle
    return v ~= nil and v.energy == 0
end,

and it seems to fix it.

AI also suggested replacing it with a car die event instead but it's too confusing for me to understand right now.

New response