Page 1 of 1

Modular game build

Posted: Wed Jul 31, 2019 1:54 pm
by Husky306
TL;DR
Let player pick a set of modules they prefer, including mods, in a convenient way.

What ?
Modules = parts of the game. Map generator, interface, recipes version etc. It could all be set in a convenient way. Mods could be put into groups and saved to easily return the right combos. Same as in OpenTTD. And big-time options like mentioned before.
Why ?
Trying v17.xx I find it very contrast. I love the map generator but the new quick-bar is awful. I'm already used to the old one. It was perfect. There is a rule: "don't fix what's not broken". I first played Factorio v12 (I guess), it had a good map generator. When I upgraded I had to use RSO mod. But it doesn't help much, maps are still too random, too hard to control. One step of water frequency is a difference between waterless desert and land shredded with ugliest lakes.

So each version had it's glory and it's shame. And people always like different things. You can't please everyone if you pick a road and follow it. You need a crossroads. Modular game would let everyone pick what they like. So it pleases ALL players. It obviously benefits the game quality and future sells. It makes life easier for mod users and thus for mod makers as well. It keeps development in order, like a good factory. You can always work separately on a module of trouble, make a new one without touching all the game or let mod makers help by providing their versions of base modules. It also allows for statistics generation, to see what players prefer, how much they like new modules, instead of having a general rating that says nothing.

The more options we have - the better. If we can tune the game in options "change at your own risk", like what Firefox has, we could remove what we really hate and pick a new value that seems more balanced to us. This is the key for making a game that everyone loves. No one can complain if everything is in their hands. Because we all like something different.

As for me, I'm stuck between versions. v17 is not ready yet, v16 still has awful maps, previous versions probably lack content but were most fun. And I can do nothing about it. Only wait for the right mods to come. I hope I made it clear how we ALL benefit from such a game management. The game must live on. And it will if it stays flexible, not turns to stone.

Re: Modular game build

Posted: Wed Jul 31, 2019 6:33 pm
by Serenity
It's not quite clear what you're asking here. Mod categories are one thing.

But the devs supporting different options in vanilla is problematic. It would lead a dramatic complexity in code. Those old modules or UI elements would still need to be maintained and bugfixed. A change in some other area could suddenly require that several alternatives be adjusted. They are not going to do that.

Re: Modular game build

Posted: Wed Jul 31, 2019 10:17 pm
by Husky306
Serenity wrote: Wed Jul 31, 2019 6:33 pm ...
That's the way to improve ANY similar game. A natural balance. If devs make a game very strict, it must be an extremely refined game, with utmost and careful tuning. And still most people will hate it. I come to 17.60 and I don't have mods there, I can't tune stacks multiplier, I can't make quick-bar work the same as before, I can't pick having old recipes. How easy is it to make options, if not modules?

An alternative is to have all the options available in special section, it would be very large and complex so only those who know what they're doing could tune the game. And have a way to share "builds". So people who enjoy the process and hold servers could make sets that others could try. Because even now I have to sit for half an hour and tediously try one map after another. Settings are not saved so I have to go through "no enemies, no cliffs, no pollution, high iron frequency, very high iron size, very good iron value, copper..." over and over. Instead of feeling like devs knew what they were doing and I could start playing by pressing one button. Default options are a nightmare.

Such builds are still like mods. Mods add a lot to the game, that's good. But it feels a bit like a disgrace if I have to mod my game to change what devs couldn't do better. If they leave me a choice between different versions of, well, everything, I wouldn't be as lost. And you know how it always ends. A good game, could be\stay legendary, but a few wrong decisions and reviews are full of hateful comments. People stop buying, the project dies. Even though it barely began to blossom.

My general point is WE KNOW WHAT WE WANT FROM A GAME. Not right away, it may take some time to understand, but players can't be wrong about the balance. Because, duh, it's all made for players. I know what I want, I know everyone else wants something different.

Why modules? Because it's a waste if we switch the version and lose what we actually loved. Especially if we get what we hate. More so if we also get something new that we love. Is there anything more important than making the game NOT hated? To me it seems like the only good way. Rest is compromise and partial fulfillment. Don't trust me, think for yourself. If you could buy bread and milk that you could change the way you want, pick ingredients, pick pack size, pick taste, pick shape... would you ever have a normal product? That doesn't change? If you say "I'll just pick the food I like the most" it's the answer "pick any other game that you like more". Something tells me it's a bad business policy. Because I will. And tell a million people to do the same. Just because there was no option "make the game perfect" for me.

Re: Modular game build

Posted: Thu Aug 01, 2019 6:13 am
by Koub
I don't really understand what all this is about, but I have seen two points I don't agree with :

Husky306 wrote: Wed Jul 31, 2019 10:17 pm [...] Because even now I have to sit for half an hour and tediously try one map after another. Settings are not saved so I have to go through "no enemies, no cliffs, no pollution, high iron frequency, very high iron size, very good iron value, copper..." over and over.
Unless I misunderstand what you're saying, this is false with 0.17 : You can regenerate as many map previews as you want, or hit restart as many times as you want, or even quit current game and start a new one as many times as you want, the presets are kept. However, I do agree, and it has been suggested many times, that savable presets would be super handy.
Husky306 wrote: Wed Jul 31, 2019 10:17 pm My general point is WE KNOW WHAT WE WANT FROM A GAME. Not right away, it may take some time to understand, but players can't be wrong about the balance. Because, duh, it's all made for players. I know what I want, I know everyone else wants something different.
My experience shows this is wrong on so many levels. People think they know what they want, and that they also know what they don't want. They also think they know how they want it, but in the end they can be wrong on everything. They often have irrational unformulated expectations, and expect that somehow, things will make it that their expectations are automagically fulfilled without understanding them themselves. I see this a LOT at work, but also a lot in moddable games : expect something, find a mod that does it and ... well I'm not having as much fun as I thought it would be. It was better in vanilla.

Re: Modular game build

Posted: Thu Aug 01, 2019 2:15 pm
by BlueTemplar
This suggestion sounds like it might perhaps have happened while extremely early in the development of the project, but now it's probably waaaay too late for a major code refactoring like that !

(Another option is open-sourcing the code - I guess that OpenTTD mostly relies on this? -, but that introduces other issues : impossible to enforce/punish rampant copyright infringement, forks splitting the community and potentially making the original developers basically lose control over the project...)

----
Koub wrote: Thu Aug 01, 2019 6:13 am
Husky306 wrote: Wed Jul 31, 2019 10:17 pm [...] Because even now I have to sit for half an hour and tediously try one map after another. Settings are not saved so I have to go through "no enemies, no cliffs, no pollution, high iron frequency, very high iron size, very good iron value, copper..." over and over.
Unless I misunderstand what you're saying, this is false with 0.17 : You can regenerate as many map previews as you want, or hit restart as many times as you want, or even quit current game and start a new one as many times as you want, the presets are kept. However, I do agree, and it has been suggested many times, that savable presets would be super handy.
Only if you Play the game (for instance if you preview it by Restarting). New Game screen otherwise doesn't keep the previous settings, even if the map is Previewed. (unless changed from ..59 to ..60)

But AFAIK there IS a way to save the settings : isn't it pretty much what Export/(save somewhere)/Import map exchange string is ?

Re: Modular game build

Posted: Thu Aug 01, 2019 10:48 pm
by slippycheeze
Koub wrote: Thu Aug 01, 2019 6:13 am
Husky306 wrote: Wed Jul 31, 2019 10:17 pm My general point is WE KNOW WHAT WE WANT FROM A GAME. Not right away, it may take some time to understand, but players can't be wrong about the balance. Because, duh, it's all made for players. I know what I want, I know everyone else wants something different.
My experience shows this is wrong on so many levels. People think they know what they want, and that they also know what they don't want. They also think they know how they want it, but in the end they can be wrong on everything.
The science supports you, by the way: humans are completely terrible at predicting their future happiness. So, yeah. Players definitely believe they know what'll make them happy. I don't believe they will always be right, even if they are sometimes. I sure am not. :)

Re: Modular game build

Posted: Tue Aug 06, 2019 9:50 pm
by Impatient
I do understand what the OP wants. And I have to say, that it is a quite nice idea.

I imagine, before starting a new game, the player can select things like these:
Map generator: v1,v2,v3
Resource generator: v1,v2
Tech tree: v1, ..., v10
Quickbar: v1,v2
etc ...

I think it is a really good idea. Though, I also think, it will not be implemented at this point. The engine and its code has to be built around this design.

Re: Modular game build

Posted: Wed Aug 07, 2019 12:46 am
by slippycheeze
Impatient wrote: Tue Aug 06, 2019 9:50 pm I do understand what the OP wants. And I have to say, that it is a quite nice idea.

I imagine, before starting a new game, the player can select things like these:
Map generator: v1,v2,v3
Resource generator: v1,v2
Tech tree: v1, ..., v10
Quickbar: v1,v2
etc ...

I think it is a really good idea. Though, I also think, it will not be implemented at this point. The engine and its code has to be built around this design.
Sounds like a set of mods, but shipped with the core game. In my experience this is a frequently implemented idea, and almost never a successful one.

Re: Modular game build

Posted: Wed Aug 07, 2019 2:17 am
by Impatient
slippycheeze wrote: Wed Aug 07, 2019 12:46 am ... and almost never a successful one.
Elaborate please (if you want).

Re: Modular game build

Posted: Wed Aug 07, 2019 1:49 pm
by slippycheeze
Impatient wrote: Wed Aug 07, 2019 2:17 am
slippycheeze wrote: Wed Aug 07, 2019 12:46 am ... and almost never a successful one.
Elaborate please (if you want).
words, words, words, this is long. because I'm trying to summarise a lot of experience as much as I can. :)
edit: ugh, didn't spoilers used to collapse? doesn't work here, that is so annoying. I wanted to hide all the wording, but I can't.

Sure: over the last 15 years or so I have seen this tried a bunch of times. I wasn't a developer on any of the game ones, so this is a subjective impression, but I have worked on other software that took this approach and had the same problems I saw with games. So... subjective user impression, but one that I think is reasonably informed.

Oh, one assumption: the fact that, eg, "base" is technically a "mod" in Factorio is not the sort of "mod" I'm talking about. If they shipped two or three versions of "base" as suggested in this thread, that would be: it is the fact that there are variants that makes the difference. (Put enough player choices into base and it becomes "multiple mods, in a funny hat that looks like a single mod", for this discussion.)

There are two big challenges that cripple the idea most of the time:

One is that "ready to release" matters to the developers, and the mod author, in different ways. These somewhat conflict, in that the developers want things to be as stable as their release schedule, and to always, always be as correct as possible -- playable, balanced, no errors.

The mod author generally wants things to work well, and to be balanced, and to be adapted to the leading edge of gameplay. For them ready to release is a product of the latest changes working well enough to let people try it out. This can come with bugs, but mostly comes with limitations on what game versions it'll support -- especially since it is a hobby. See the occasional thread about 0.16 support for mods that demand 0.17 now.

The obvious solution is that all mods that you ship are written by the developers, which turns out to be a non-starter, because you are now trying to build and ship a huge number games at the same time, where each is the number of meaningful combinations of choices of "mod" that you have.Shipping tiny UI differences as mods doesn't count, but "map generator v1, v2" absolutely does.

The game has to work correctly -- balanced, bug free, playable, not generating errors -- for all combinations of the versions. With the proposal about new game selection from Impatient there are map gen (3) * resource gen (2) * tech tree (10) * quickbar (2) choices, so a total of 120 different combinations that all need to work, be balanced, and be correct. (ignoring the etc, which will at least double it, so one more choice means 240 games to balance and test...)

Nobody has time for that. Even with good automated testing, balance, new design, and similar things are just too costly to support fully, and every combination will introduce new, unimagined, edge cases. Fixing them will cause conflicts: tech tree v1 has less military boosts than tech tree v2, so how do you balance biter frequency in map gen v1 against them?

Not to mention that users expect map gen v1 to be the same all the time, because otherwise why would the choice exist? So you also get pushback if you change it to balance against those combinations just like the oil change got pushback -- even if the change is overall good. (I have no actual opinion on the oil changes being good or bad at this time, it is just a recent example to illustrate the issue.)


The second one is that it is extremely technically challenging to make it possible for the community to ship the same mods, and to deal with how they work. Not so much for each individual mod, but when they combine. Issues like people referencing a graphic in "pre-60 oil" that was removed in the community version, but present in base.

What do you do, break other community mods by making it "missing"? Keep them working, and have a mixture of multiple versions, and the community author getting bug reports that make no sense because of the combination? Allow community mods to declare they only work with specific versions of mods -- so suddenly nobody supports the versions shipped with the game, and you have to play the single community version anyway?

Updates are equally hard a technical problem. Because you have to balance all the shipped stuff, allowing community updates risks upsetting everything. You also have a really hard problem with change, because API changes that break third party mods are OK-ish, but if they only break something third party that is also in core?

Socially, this too is hard: how do you integrate the work of a wide variety of people, with very different opinions about how things should work? How do you deal with -- as an imaginary example, completely unrelated to the real people who inspire it -- BogGel, who writes the most downloaded mods, but doesn't want you to ship them for whatever reason? (again, no idea what the mod authors inspiring the name would feel about this, I can't speak for them.)

What if BobGel shipped under an MIT license, you perfectly legally ship their mods with the game, and then they flip to the "no redistribution by Wube" license? Drop a feature and watch everyone who used them, but never used third party mods, get super-mad? Fork them, and upset even more community members because you appropriate their work, but don't play nice and give back? Pay BobGel to change their mind -- if they even will?


...and every one of these problems takes time to solve. Is shipping those mods worth the hundreds of thousands of dollars a year, or more, that it costs in staff time? Is it actually an improvement?


In the end it almost always turns out that you did a bad job of most of it, so updates are hard, forks happen unintentionally, giving back doesn't work very well, mod authors disagree with core team changes, so reject them, and it just sucks for everyone both technically and socially.

Making it work as Wube do, by providing nice support for third party mods, and letting them sort it out for incompatibility is easier, cheaper, and honestly, socially better too. Third party BobGel incompatibilities with TimeExploration don't matter so much, but if you ship 'em, people gonna expect you to work together.

Re: Modular game build

Posted: Wed Aug 07, 2019 3:40 pm
by Darinth
This would be a tremendous amount of code bloat. If Wube has to maintain a 'v1, v2, v3, etc...' version of the terrain generator, recipes, etc... and make sure they all play together... I just can't imagine. Is it doable? Technically, yes. The amount of slowdown on a project that this would likely cause forces me to say 'no, I wouldn't want Wube to have implemented this, even right from the begining.' I just don't believe that it's a good idea.

Re: Modular game build

Posted: Sun Aug 25, 2019 9:26 am
by Husky306
Again, what I suggest is pretty much similar to the factories you build. When you're new you start without a plan, you just build what you need right this moment, creating a huge, gappy factory with many belts going over one another for no reason. But when you're in end-game you can't afford to manually build. You make screen-wide BPs. Modules. You plop them over and over already knowing what to expect.

So even if you built your first 100 buildings after 50 hours, it doesn't mean a 10k RPM complex would take 20 years. Because it's much faster. It pays back. So it's funny to hear it's not worth it. Only if the project is almost dead, it's not.

Your PC is made of modules you change anytime. Your city is made of modules that each have a leader, a set of managers, a purpose to the city and it's own profit. It's impossible to make a huge game without organization. So the only question is how much longer will devs keep this project alive. 10 more years? Then it's a good idea. It's always a good idea. Proven by millennia.

Re: Modular game build

Posted: Sun Aug 25, 2019 9:52 am
by Deadlock989
Husky306 wrote: Sun Aug 25, 2019 9:26 am Your PC is made of modules you change anytime. Your city is made of modules that each have a leader, a set of managers, a purpose to the city and it's own profit. It's impossible to make a huge game without organization. So the only question is how much longer will devs keep this project alive. 10 more years? Then it's a good idea. It's always a good idea. Proven by millennia.
Can I get a module for the forums which stops me having to read incredibly pompous straw man arguments? "Proven by millenia", my arse.

Mod the game yourself if you want to "make the game perfect".

Re: Modular game build

Posted: Tue Aug 27, 2019 3:15 am
by slippycheeze
Deadlock989 wrote: Sun Aug 25, 2019 9:52 am
Husky306 wrote: Sun Aug 25, 2019 9:26 am Your PC is made of modules you change anytime. Your city is made of modules that each have a leader, a set of managers, a purpose to the city and it's own profit. It's impossible to make a huge game without organization. So the only question is how much longer will devs keep this project alive. 10 more years? Then it's a good idea. It's always a good idea. Proven by millennia.
Can I get a module for the forums which stops me having to read incredibly pompous straw man arguments? "Proven by millenia", my arse.
Mod the game yourself if you want to "make the game perfect".
Oh, don't we all wish. I'm entertained that Husky306 seems to have forgotten the occasional incompatible change in that modular PC. New socket on the motherboard every second generation with Intel, isn't it? It certainly used to be. I used to skip a motherboard generation, and still count six before I moved exclusively to laptops. Eight, I suppose, if I count the much more recent non-laptop purchases.

...but, I must say, I'd certainly love to see them swap a module in the PC, and run a good ol' AGP graphics card in a modern system...