0.5 roadmap

Discussion about the project in general, organization, website, or any other details that aren't directly about the game.
Message
Author
User avatar
Oberlus
Cosmic Dragon
Posts: 5714
Joined: Mon Apr 10, 2017 4:25 pm

Re: 0.5 roadmap

#16 Post by Oberlus »

labgnome wrote: Sun Aug 09, 2020 1:57 pm
Vezzra wrote: Sun Aug 09, 2020 12:24 pm
labgnome wrote: Thu Aug 06, 2020 5:38 amI was mainly interested in incorporating the idea of values/categories for species that match to ideals/categories for policies. I think that would provide a good framework for players to make judgments about policy selection, and for programmers to set the system up; as opposed to randomly assigning likes and dislikes to all the species for all the policies.
Well, of course. If/once we introduce a value/ideals mechanic, assigning that to species and policies and thereby determining what policies species like/dislike would most definitely replace any direct/manual assignment of liking/disliking certain policies to species.
I personally would like to see the mechanic come first. With values/ideals as a foundation I think we are in a much more solid place to build from. For now values/ideals could directly effect stability, instead of effecting opinion and then having opinion effect stability.
I'm with labgnome in this matter. But I guess the other approach is also good.
I acknowledge that scripting the policies preferences (like/dislike) in each species is straightforward and will allow us to experience with the policies-affecting-species-stability thingy without having to get a (mature) policies-affecting-values-affecting-species-stability mechanic, which might help us get better ideas of what should the values be (in the sense of being able to relate better the values with the game mechanics). But adding the values already doesn't seem like much more work and will save work when doing the migration from policies-preferences-scripted-in-species to policies-preferences-scripted-in-values & values-scripted-in-species.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: 0.5 roadmap

#17 Post by Vezzra »

labgnome wrote: Sun Aug 09, 2020 1:57 pmI personally would like to see the mechanic come first. With values/ideals as a foundation I think we are in a much more solid place to build from. For now values/ideals could directly effect stability, instead of effecting opinion and then having opinion effect stability.
Designing and implementing a values/ideals mechanic is far from trivial, I expect rather elaborate design discussions only to achieve general consensus on how the specifics of that mechanic are meant to be.

Implementing it would be another round of considerable effort.

Of course we can pack that into 0.5 too, but not without massively inflating that release cycle.

I'd rather do that in a separate, later step.

However, as Oberlus said, that doesn't mean we can't already start working on it, and laying the necessary groundwork. But not making it a mandatory part of 0.5. Too much IMO.

User avatar
labgnome
Juggernaut
Posts: 833
Joined: Mon Mar 02, 2015 5:57 pm

Re: 0.5 roadmap

#18 Post by labgnome »

Vezzra wrote: Sun Aug 09, 2020 3:36 pm
labgnome wrote: Sun Aug 09, 2020 1:57 pmI personally would like to see the mechanic come first. With values/ideals as a foundation I think we are in a much more solid place to build from. For now values/ideals could directly effect stability, instead of effecting opinion and then having opinion effect stability.
Designing and implementing a values/ideals mechanic is far from trivial, I expect rather elaborate design discussions only to achieve general consensus on how the specifics of that mechanic are meant to be.
I don't see how it would be more work than achieving consensus on assignments on a case-by-case basis. Plus Id rather not deal with the cleanup later on of having to re-organize everything afterwards.
Implementing it would be another round of considerable effort.
They can be implimented as species traits.
Of course we can pack that into 0.5 too, but not without massively inflating that release cycle.
I would rather do the work now, instead of later. Just do it once and get it right then.
However, as Oberlus said, that doesn't mean we can't already start working on it, and laying the necessary groundwork. But not making it a mandatory part of 0.5. Too much IMO.
If we are not going to implement it with a good foundation, I'd rather not see it implemented in this version.
All of my contributions should be considered released under creative commons attribution share-alike license, CC-BY-SA 3.0 for use in, by and with the Free Orion project.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: 0.5 roadmap

#19 Post by Vezzra »

labgnome wrote: Sun Aug 09, 2020 4:06 pmI don't see how it would be more work than achieving consensus on assignments on a case-by-case basis.
IMO there is a quite huge difference: The latter is just a discussion about what each species likes/dislikes.

The former is a discussion about the design of a new mechanic, and its fundamental layout. Do we want pairs of values like in Stellaris (where "opposing" values form a pair of mutual exclusive values, like "Xenophil" - "Xenophob", "Peaceful" - "Warlike", "Materialist" - "Spiritualist" etc.), do we want a list of values where we define which values exclude each other by a "compatibility matrix"? Are values just "binary", meaning you either have it or not, or do we also want a "value strength" (again like Stellaris, where you have each value in a "normal" form and a "fanatic" form: "Xenophob" -> "Fanatic Xenophob" etc.).

And only after that has been agreed and decided upon, we would move onto assigning those values to species, policies etc.

Furthermore, before we even start on designing a ideals/values mechanic, we need to reach consensus if we actually need/want such a more sophisticated, but also more complex mechanic, or if directly defining what policies etc. a species likes/dislikes wouldn't be sufficient for what we want to achieve in FO. Personally I like the idea of a ideals/values mechanic, but that doesn't mean it's a good idea/necessary thing.

For all those reasons I think it makes more sense to start with a simple mechanic (just defining what policies etc. a species likes/dislikes) and see how far this will get us, and how well it is going to work. If that approach turns out to be inadequate, or doesn't allow us to do things we want to do, we can always revise the simple mechanic and replace it with something more sophisticated.
Plus Id rather not deal with the cleanup later on of having to re-organize everything afterwards.
FO follows an iterative design approach. We add things, see how well the work/turn out, remove them if they don't, improve or replace them if necessary. It's the only way a long-lasting open source project like FO can survive IMO.
They can be implimented as species traits.
That would be neither sufficient nor efficient.
I would rather do the work now, instead of later. Just do it once and get it right then.
See above (iterative design), I don't think that's possible with a project like this. Even big commercial titles like Stellaris don't manage to pull that of, if you look at how much that game has changed since the initial release.

Most things you need to try out to see how well they will actually work. If you try too much at once, you'll never get releases out, because there is always this thing or that you could polish more/do better/do more thoroughly instead of going through several development steps where you have to rip out or completely replace some things in the process.

User avatar
labgnome
Juggernaut
Posts: 833
Joined: Mon Mar 02, 2015 5:57 pm

Re: 0.5 roadmap

#20 Post by labgnome »

Vezzra wrote: Sun Aug 16, 2020 11:27 amIMO there is a quite huge difference: The latter is just a discussion about what each species likes/dislikes.
Both will be time-consuming and I don't want basically have to do it twice over. Which is why I think that this feature can afford to wait until 0.5.1.
The former is a discussion about the design of a new mechanic, and its fundamental layout. Do we want pairs of values like in Stellaris (where "opposing" values form a pair of mutual exclusive values, like "Xenophil" - "Xenophob", "Peaceful" - "Warlike", "Materialist" - "Spiritualist" etc.), do we want a list of values where we define which values exclude each other by a "compatibility matrix"? Are values just "binary", meaning you either have it or not, or do we also want a "value strength" (again like Stellaris, where you have each value in a "normal" form and a "fanatic" form: "Xenophob" -> "Fanatic Xenophob" etc.).
I mean, as it stands the proposal for species values/policy ideals is paired and binary. I'd probably consider something that wasn't both of those a different competing idea. I would also consider paired and binary to be the most in line with Free Orion's design goals, as it would be the most KISS.
And only after that has been agreed and decided upon, we would move onto assigning those values to species, policies etc.
I can only only see that process being more difficult with species already having assigned likes and dislikes basically at random.
Furthermore, before we even start on designing a ideals/values mechanic, we need to reach consensus if we actually need/want such a more sophisticated, but also more complex mechanic, or if directly defining what policies etc. a species likes/dislikes wouldn't be sufficient for what we want to achieve in FO. Personally I like the idea of a ideals/values mechanic, but that doesn't mean it's a good idea/necessary thing.
I would say that it's not more complex, and would actually be simpler to understand. However if you feel that we aren't even at that level of consensus I see that as all the more reason to hold off on implementation at the moment.
See above (iterative design), I don't think that's possible with a project like this. Even big commercial titles like Stellaris don't manage to pull that of, if you look at how much that game has changed since the initial release.
I mean that's why I feel we should slate this all for 0.5.1 so we can devote our energies to it properly.
All of my contributions should be considered released under creative commons attribution share-alike license, CC-BY-SA 3.0 for use in, by and with the Free Orion project.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: 0.5 roadmap

#21 Post by Vezzra »

labgnome wrote: Sun Aug 16, 2020 3:40 pm...
Well, I guess we just have to agree to disagree on this subject.

Neither do I share your assessment that your proposed model isn't that much more complex/time consuming to design and implement than a simple direct assignment of which policies species like/dislike - IMO the former will require significantly more effort than the latter. Nor do I think it a waste of time/effort to implement the less extensive/"simpler" model first to see how far it gets us.

User avatar
labgnome
Juggernaut
Posts: 833
Joined: Mon Mar 02, 2015 5:57 pm

Re: 0.5 roadmap

#22 Post by labgnome »

Vezzra wrote: Mon Aug 24, 2020 2:56 pmNeither do I share your assessment that your proposed model isn't that much more complex/time consuming to design and implement than a simple direct assignment of which policies species like/dislike - IMO the former will require significantly more effort than the latter. Nor do I think it a waste of time/effort to implement the less extensive/"simpler" model first to see how far it gets us.
Now that I have taken a look at the existing policies themselves, I have to conceded to your point. We probably won't be ready to implement a system of values and ideals for a while and it would take a lot of re-working of the policy system as it stands.
All of my contributions should be considered released under creative commons attribution share-alike license, CC-BY-SA 3.0 for use in, by and with the Free Orion project.

User avatar
Vezzra
Release Manager, Design
Posts: 6095
Joined: Wed Nov 16, 2011 12:56 pm
Location: Sol III

Re: 0.5 roadmap

#23 Post by Vezzra »

labgnome wrote: Sun Aug 30, 2020 5:53 pmNow that I have taken a look at the existing policies themselves, I have to conceded to your point. We probably won't be ready to implement a system of values and ideals for a while and it would take a lot of re-working of the policy system as it stands.
For the record: I actually do believe that, in the long run, a values/ideals mechanic will be the better, more intuitive and straightforward way to manage how species react to all kind of stuff (player actions, event, other species, etcpepe), than having one big, gigantic matrix of all the species and all the stuff they are supposed to like or dislike.

But for now lets see how the current systems works out... ;)

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: 0.5 roadmap

#24 Post by o01eg »

As we move from 0.4.* to 0.5.* versions what about to break saves and network compatibility, reset serialization versions and clean up compatibility serialization code?
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

User avatar
Oberlus
Cosmic Dragon
Posts: 5714
Joined: Mon Apr 10, 2017 4:25 pm

Re: 0.5 roadmap

#25 Post by Oberlus »

o01eg wrote: Wed Oct 21, 2020 8:15 am As we move from 0.4.* to 0.5.* versions what about to break saves and network compatibility, reset serialization versions and clean up compatibility serialization code?
AFAIK, saves are not compatible due to at least the introduction of influence. From there on, I guess there is no issue in changing (improving) serialization.

User avatar
Geoff the Medio
Programming, Design, Admin
Posts: 13587
Joined: Wed Oct 08, 2003 1:33 am
Location: Munich

Re: 0.5 roadmap

#26 Post by Geoff the Medio »

o01eg wrote: Wed Oct 21, 2020 8:15 amAs we move from 0.4.* to 0.5.* versions what about to break saves and network compatibility, reset serialization versions and clean up compatibility serialization code?
Save compatabillity code is, in practice, only really useful for transitioning smoothly between development versions. Even if removed C++ data fields in the save format can be skipped and missing new fields given suitable default values so that the save file can be loaded, in practice it doesn't actually make them compatable due to content, balance, and AI state changes. Even if someone wanted to, and even if it doesn't throw an error when trying to do so, it probably wouldn't make sense to load a v0.4.9 save in v0.4.10.

That said, being able to load the most recent previous release version's saves is a nice goal, so I'd just remove save compatability code older than the most recent previous release version. So currently, pre-v0.4.10 save support can be removed, but we would prefer if 0.5 can load v0.4.10 saves, even though the game mechanics might make it not very sensible to do so.

o01eg
Programmer
Posts: 2004
Joined: Sat Dec 10, 2011 5:46 am

Re: 0.5 roadmap

#27 Post by o01eg »

Geoff the Medio wrote: Wed Oct 21, 2020 8:35 am
o01eg wrote: Wed Oct 21, 2020 8:15 amAs we move from 0.4.* to 0.5.* versions what about to break saves and network compatibility, reset serialization versions and clean up compatibility serialization code?
Save compatabillity code is, in practice, only really useful for transitioning smoothly between development versions. Even if removed C++ data fields in the save format can be skipped and missing new fields given suitable default values so that the save file can be loaded, in practice it doesn't actually make them compatable due to content, balance, and AI state changes. Even if someone wanted to, and even if it doesn't throw an error when trying to do so, it probably wouldn't make sense to load a v0.4.9 save in v0.4.10.

That said, being able to load the most recent previous release version's saves is a nice goal, so I'd just remove save compatability code older than the most recent previous release version. So currently, pre-v0.4.10 save support can be removed, but we would prefer if 0.5 can load v0.4.10 saves, even though the game mechanics might make it not very sensible to do so.
I want to remove usage of GiGi from and it's hard to manage color serialization without GiGi.
Gentoo Linux x64, gcc-11.2, boost-1.78.0
Ubuntu Server 22.04 x64, gcc-12, boost-1.74.0
Welcome to the slow multiplayer game at freeorion-lt.dedyn.io.Version 2024-03-15.b3de094.
Donations're welcome:BTC:bc1q007qldm6eppqcukewtfkfcj0naut9njj7audnm

Post Reply