Brave New World

by canidae

RTS-like scenario for Factorio. Player character is removed, all work must be done by bots

Scenarios
2 years ago
0.16 - 1.1
8.96K

g Call for ideas

28 days ago

Porting this mod to 2.0 is going to be a major undertaking. But, in some ways, perhaps not. 2.0 allows you to do everything remotely, and so a lot of the little things underneath the hood that this thing needed to work don't need to be done anymore.

I was thinking of maybe just having a scenario that confined your to a 'space platform' (a fake one on a surface that a rocket couldn't reach) so you had to do everything remotely. It would also add some kind of starter kit that would auto-deploy the starting roboport on a new planet.

Any other ideas out there?

26 days ago

Heya Omni. Answering here (even though you pinged me through Expensive Science).
Feel absolutely free to take BNW in whatever direction you'd like. I've sort of quit playing Factorio (occasionally want to "test" something...), and with it went the interest in writing mods for the game. If people found this mod entertaining I'm happy to see it evolve and live on, so if you want to improve on it, go right ahead!
Otherwise, starting on a space platform and having to do all work remotely from there sounds really interesting! That's very much in the spirit of how I envisioned BNW.
If you'd like to implement this from scratch (without the burden of old/legacy code) then I absolutely don't mind that. As I said, feel free to take this project/idea wherever you'd like.
If you'd like to make my day, then just add a simple reference to me whenever you make something that's built on or uses my work as an inspiration.

Thank you for keeping this mod alive. I still receive emails every now and then for my old mods, and it's really great to see them live on.

26 days ago
(updated 26 days ago)

Feel absolutely free to take BNW in whatever direction you'd like.

Thanks! :-) I thought maybe you'd kind of lost interest, but I wanted to make sure before I took things in my own direction.

If you'd like to make my day, then just add a simple reference to me whenever you make something that's built on or uses my work as an inspiration.

I'll make sure to do that.

Thank you for keeping this mod alive. I still receive emails every now and then for my old mods, and it's really great to see them live on.

It is nice to know that you made something other people enjoy. :-)

26 days ago

As you know BNW is baked into Brave New Oarc - and I am working with Oarcinae to port Brave New Oarc to 2.0. I do notice there are many more API's that could implement some of the inventory limitations that BNW does. I doubt it will do as nice a job of loading the hand with the inventory item selected, or spilling items on the ground, which I think needs to remain within BNW.

One thing I was thinking could be done is to automatically convert the player from God mode to Character mode for the trip to another planet, and then back when they feel they would like to. The problem with this is the events for entering and exiting the silo seem to be missing in the api.

Another option is a new building/portal that they step into to convert from God to Character, whenever they like. Or offer a device they teleport to the planet, that when used converts them.

They would need some form of BNW Deployment Pack, to setup the starting area with bots, roboport, power and that power type may be different on each planet, although solar seems safe on all. OR they could just load all that they need into the capsule and deliver it to the planet. Their character would lay a Main Roboport that could not be picked up, and if destroyed would remove them from that planet and placed back into the platform. They would need to return to Nauvis to make another main roboport, bots, ... Some of the enemies on say Vulcanus are very difficult to kill and may require driving vehicles remotely and firing weapons, which is not in 1.1 BNW, although should be supported in the more remote api of 2.0.

I will be very interested in whatever you change in current BNW and hope you'll post detailed information on changes. I may be able to help as well.

26 days ago

I'm thinking of doing away with "god mode" entirely, and just have your character on a surface that is decorated with unmineable entities to look like a control room on an advanced spaceship. You would have to do everything through map view.

There's a couple of flies in the ointment.

One is driving. You can remote drive a tank and a train, but not a car. There are some weird issues with remote driving a tank that makes it seem like internally the game has a sort of "pretend character" in the tank. These strike me as bugs.

Another is traveling to a new planet. I'm thinking allowing you to make a special "new base kit" to deploy on the new planet much like the roboport and assorted things are deployed on Nauvis.

I never liked the "God Mode" hack to get rid of the character. Partly because you still had an inventory and a position on the map. But in 1.1 it was necessary because there were some things you just couldn't do remotely.

If you're just confined to an inaccessible surface, your inventory is completely irrelevant. Without using Lua commands you'll never be able to get anything into your inventory. And even if you do, there'll be nothing you can do with it. And not having to try to control the player's inventory will eliminate a major source of bugs (and requests by people to allow carrying special things from other mods).

Another worry (aside from driving) is that I want it to work even if Space Age isn't enabled, and I don't know if I'll be able to bring up anything like the GUI that Space Age has to let you switch between platforms and planets. And that will be necessary to allow you to easily get map mode on a surface other than the one you're on.

25 days ago
(updated 25 days ago)

I dealt with the issue of crashes when working with other mods, for example SeaBlock as an entity that you can click where BNW would load the hand with that entity ghost since you can't have it in you inventory - and you can't craft anyway. But SeaBlock has a building where the entity is a fluid, with NO PROTOTYPE. Just accessing the prototype causes a crash. The fix:

script.on_event(defines.events.on_player_crafted_item, function(event)
    if global.creative or global.players[event.player_index].characterMode then
        return
    end
    pcall(function()    -- safeguard against crashes from mods that have entities without prototypes
        game.players[event.player_index].cursor_ghost = event.item_stack.prototype
        event.item_stack.count = 0
    end)
end) 

I'd have to look at running the game exclusively through map view before commenting.
Also I've found jeeps to be completely worthless. You could just remove them.
I did modify the mining aspect, since that is force based only, and I wanted players to be able to choose a body or no body and be on the same team.
I did that through privileges, but the negative was that it removed the ability to right click a ghost to remove it.

So your player will live on a surface (a space craft) - above nauvis? Then control the building on nauvis. Only issue with that is that the game treats a player on nauvis as if they are on the planet, and need to teleport to the platform to move to another planet. I've resolved the God complex issues, and most of my issues have been race conditions that caused crashes. Early on it was ALOT of them, but I worked through them all.

I'm a bit away from starting the coding, since I have a lot more to learn about 2.0. But hopefully within a week.

25 days ago

In code above you'd want to remove my reference to characterMode. BNO supports running Oarc in Character mode (OARC mode) and in God mode (BNW mode).

New response