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.98K

g Call for ideas

2 months 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?

a month 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.

a month ago
(updated a month 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. :-)

a month 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.

a month 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.

a month ago
(updated a month 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.

a month 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).

22 days ago

Why is it that 2.0 and SpaceAge seem to be used synonymously?
I would like a 2.0 version of this mod in the old style.
Not having the character makes the game sooo much better.
I do no give two shits about SpaceAge.

22 days ago
(updated 22 days ago)

The current mod still has a character. It's just an "invisble" character using the "god mode" controller that the "Sandbox" scenario uses.

I'll tell you why I'm not all that happy with the idea of using this "god mode" invisible character.

When you have a character, you have an inventory. The vast majority of issues in this mod are all concerned with ways that inventory management gets borked in one way or another.

Unfortunately. prior to Factorio 2.0, you had to have a character and an inventory in order to do certain kinds of things. Modules being one big example (and modules are one of the exceptions baked into the "x is not allowed in your inventory" code).

But now, in Factorio 2.0, you can do everything from map view. This means that no character is necessary. But, you can't actually remove the character in Factorio. You can just make it invisible and have a bunch of bug-prone code to try to expell anything that happens to make it into that invisible character's inventory.

So, I thought it would be better overall to confine the character to some surface someplace and force everything to be done through map mode.

22 days ago

I understand the basic sentiment.
But i find the map mode to be less convenient and alot worse to use in general.
And its gotten even worse with 2.0.
Not having a minimap,
getting ghost cursor window instead of the normal inventory(the sorting is completely different),
still cannot turn of zoom-to-cursor.

The only thing this mod needed was a way to scroll faster in normal view.
Once your base is large enough to span multiple screen you spend alot of time scrolling.

How about you just turn of the inventory hacks and dont worry about it?

22 days ago
(updated 22 days ago)

It sounds like you want something that's basically the Sandbox scenario but without the free hand-crafting combine with something like my old high-speed running mod that I'm thinking of reviving.

22 days ago

Well, i dont think so.
The main appeal was starting with and playing as a roboport.
The character was and is one of the weakest aspects of factorio.
In BNW you start playing the good part of the game almost right away.

New response