VP Community Roadmap/Vision Brainstorming

Recursive

Already Looping
Moderator
Supporter
Joined
Dec 19, 2017
Messages
4,806
Location
Antarctica
Hey all,

I've been hinting at this for some time, but I'm interested in creating a community vision and a roadmap for longterm goals to better unite us, and I want to collect a lot of community feedback on this before moving forward. This is, after all, a community project.

The VP Congress system has been very popular since its implementation, and aside from some tweaks, like better anti-cheating methods for the Voting Phase, I think it's been a great tool for involving the community in improving the mod for the better.

The success of the system leads me to two conclusions:
1. It is a great way to handle balance changes (aside from the occasional, generally minor ones made by developers).
2. Balance changes will not be part of the community roadmap, since we already have a fully functional system for continuous improvement balance-wise.

So then, what am I asking for ideas about? Three things: what we have, what we want, and how to best use the former to get the latter, focused on AI, user interface (UI) and structural changes rather than the game's balance.

Examples of changes outside of the code:
  • Better resource/organization support for modmod development
  • How the mod files are organized
  • How the subforum is structured and what it's used for
  • How the Discord server is structured and what it's used for
  • Ideas on the VP Congress system itself and how it can be better managed
  • Protocols for new releases, version history, GitHub issues
  • Documentation and changelogs
  • Tutorials and help to encourage new developers to join
  • Roles and responsibilities for existing developers (on a voluntary basis)
Examples of changes inside of the code:
  • Code changes to better support modmods
  • Deciding how modular we want VP to be and making it customizable to that degree, no more, no less
  • Rewriting the AI to be more "top-down focused" rather than split-brained (ideas on how to change the AI on a large scale are a big part of this)
  • Restructuring the code to be easier to mod/work with, for example by having all functions related to something stored in CvPlayer (moving things between classes, or deleting unnecessary ones - requires thinking about the purpose of each file)
  • Standard practices for writing code
  • Updating to the latest version of EUI
  • Adding more functions to the autoinstaller
Over the next month, please use this thread to brainstorm and discuss your ideas on a) what you are, or would be, willing to provide to VP's development, and b) what would you like to see change in the mod, excluding balance changes.

Don't be afraid to think big and go against current norms, because these are longterm goals.

Developers are particularly encouraged to give their input here - listing out their ideas on how they want to improve the mod longterm - but any member of the community is welcome to share their thoughts or comment on others' thoughts.

Please remain civil and refrain from excessively bashing others' ideas, but critiquing them is fair.

Some constraints, so we don't get crazy with the ideas here:
1. VP will always be a free to play mod focused on Civ V. We're not switching games or charging anything.
2. Developers are volunteers, life comes first, and they cannot be forced or pushed into doing anything they don't want to.
3. We do not accept donations to the developers (distributing these fairly would be a nightmare). If an idea for a specific improvement to the mod requires money, it can be suggested and with permission from a CivFanatics admin, we could request crowdfunding from the community (sort of like Kickstarter). I won't rule these out during brainstorming, but keep your expectations reasonable.
4. No changes focused on balance (see above). Changes which have a balance impact but are largely focused on something else, like the Complete Merge, may be proposed.
5. Standard legal and physical constraints apply - in order to be accepted, ideas must be legal, abide by site rules, and not violate the laws of physics, either. :)

This will not be as democratic a process as the VP Congress is. Developers necessarily have a greater say here, and more executive oversight is also needed. At the start of May after VP Congress Session #7, I will look at everyone's ideas, rationale, and comments, and create a draft roadmap and vision which I will put up for public comment for a time, probably two to four weeks. I will then amend it based on community feedback.

At the end of this, my objective is to having a living document stating the VP community's vision, articulating clear goals for the future and defining a timeline as to when we aim to complete them as well as who will be responsible for implementing them. This document will be publicly available and revised at periodic intervals.

With all of that said, I'm interested to hear what y'all think.
 
Last edited:
I'd like to see a community approach to the use of AI in the mod. The potential for higher quality art and dialog is real, but I think having a discussion around it would be healthy.
 
I'd like to see a community approach to the use of AI in the mod. The potential for higher quality art and dialog is real, but I think having a discussion around it would be healthy.
Could you elaborate on how this could be done?
 
Could you elaborate on how this could be done?
From a technical perspective, it's my understanding that AI models could be used in the near future, if not now, to create animated leader screens and to create spoken dialog for leaders that are modded into the game. There could be other uses, but those are the two that came to mind.
 
Tidy up the mod mods repository could be a good idea. The mod also lacks documentation for recent changes, things that are within the code (Lua API), and outside the code (database stuff). The community doesn't even touch some parts because the majority of modders simply don't understand it, like the events system.
Also as for the Discord server, separating between active contributor/developer and the inactive ones. Because we have some past contributors now being inactive (or even no longer modding at all) which can be mistaken as active contributors.

As for financial incentives, AKA donations or crowdfunding, I think paying someone to make stuff outside of codes (like models and stuff) can be a good thing for the development of the mod. Maybe? So the mod can have full ownership of that piece of asset instead of relying on someone volunteering to make art stuff for us (which they can ask to take down). We currently have some talented people volunteering with this project, but if we need high-quality stuff we could probably hire someone to make models or texture for us.
We obviously cannot touch the core DLL code (like paying someone to code stuff for us) as it is mostly owned by Firaxis even though the community reworked a partial of them.
 
My own plans:
1. Remove all unnecessary #ifdef in the DLL code.
2. Rewrite some of the lua files (both EUI and non-EUI), like AssignStartingPlots.lua and EnemyUnitPanel.lua that were done before.
2.1. If desired, also integrate the EUI utility functions into non-EUI so non-EUI can use them.

Upgrading our EUI version is desirable, but could be a lot of work merging VP changes and EUI version changes.

We should also discuss the use of triggers in VP.
Including triggers: a lot more work for VP devs, more support for modmod compatibility
Not including triggers: less work for VP devs, but modmodders need to be wary of any VP changes that may affect their modmods

I'm leaning towards not using triggers.
 
Also, if we want to integrate the latest EUI, make sure that we ask for permission from its original creator (bc1) and rename the mod to VPUI (or something other than EUI) to prevent troubleshooting confusion like in the past.
 
Also, if we want to integrate the latest EUI, make sure that we ask for permission from its original creator (bc1) and rename the mod to VPUI (or something other than EUI) to prevent troubleshooting confusion like in the past.
It'll work like it currently is.
Original (new version of) EUI in the DLC folder, then all overrides in (3a).
 
I am not sure if it is in the scope of this thread but...

Well I know it's a lot of work but I'd like a focus on multiplayer compatibility like Seroperson did, I'm sure we're not that far from being stable. Unfortunately, I have no coding experience: I'm just a biologist! What I can do is playing the game in multiplayer and provide data to help to understand where the problems are.

I am pretty sure that VP could gain a lot with a stable multiplayer.

Thank you all for how good is VP <3
 
For the past few congresses I few that the number of proposals have started to get quite massive for the number of congress staff and developers. There were close to a 100 proposals before sponsorship! I would like to know if the congress show-runners have any long term plans for when the number of proposals keep scaling up, since this is important to:

1. Keep on top of potential bad actors (like that cheating incident with the espionage vote)

2. Ensure everyone feels that their proposals can have a good chance to be picked up by a sponsor if it has a reasonable scope

3. Have people not feel overwhelmed by a flood of proposals. This means having them be able to easily find which proposals matter more to them, make managing proposal conflicts less frustrating and have a better picture why certain hot topic proposals are that way
 
I think a worthy discussion is whether mod support should continue for certain "forks in the road". Take EUI and non-EUI for example. Maintaining both does consume limited dev resources, should we choose one path and move forward?

That's just an example I am sure there are others.
 
I think a worthy discussion is whether mod support should continue for certain "forks in the road". Take EUI and non-EUI for example. Maintaining both does consume limited dev resources, should we choose one path and move forward?

That's just an example I am sure there are others.
Yes, it is worth discussing. Could also be controversial. Like I would always play with EUI, but not necessarily with 4UC.
 
My IMHO
Main problems for me.
The system how lua files are loaded, and that everything is made on globals T_T.
There is not direct contract between lua and C++ part of the game. Many implicit things, especially Firaxis made. For me best thing if we can generate LuaCATS declarations from C++ code.
Code organization and built process is also very complicated and tedious, KUDOS to @Recursive for building and releasing each new version. I mean file overriding, mod load order, using very old tools for development. (Maybe it's just my problem, for lua I've found solution).
Also I see a lot of fragmentation issues and many repeated code in many files.

a) what you are, or would be, willing to provide to VP's development
1. I'm working on something I named Community Patch Kit which contains many lua utilities, data structures and patterns to simplify and optimize development, and to provide the common way to do repeatable things. I'm not sure if it could be separate mod or just inside community patch.
2. Also I'm willing to integrate LuaCATS meta declaration files that describe builtin things. And also trying to document with it each thing I touch.
3. Maybe we could consider some commintlint solution to generate change logs.
b) what would you like to see change in the mod, excluding balance changes.
Is it license problem that EUI cannot be fully integrated. I think it's a bit stale and needs review.
Stop depending on globals and provide the common way to add modmods. Some API or SDK i would say.

P.S.
1. Why not use bottom civilizations UI panel instead of top right one. It could give a lot of relief to right UI part of the game.
2. I'd glad to see and involve to some work connected with multiplayer stability. The main reason I've started contributing to VP is that I play it in multiplayer.
3. Logs problem, logs are not separated between games, so easily logs may be missing for bug reports if you started another game.

Sry for wall of text.
 
Tidy up the mod mods repository could be a good idea.
I think this is really important. We get a lot of complaints/confused questions from people who can't find what is and isn't up-to-date.
So we need some kind of organization (sub forums for civs, QOL, overhaul-level changes, etc.) and then also moderation to archive things that aren't being maintained.
Happy to offer some time to this.
 
We should also discuss the use of triggers in VP.
Including triggers: a lot more work for VP devs, more support for modmod compatibility
Not including triggers: less work for VP devs, but modmodders need to be wary of any VP changes that may affect their modmods
What are your referring to by "triggers"? Is this the various Lua hook functions? I think much of the community would be remiss if the existing ones went away.

From modder perspective it is desirable to have access to even more of these, though I understand the issue of complexity and efficiency as well as time limitations for our volunteer devs. I see the VP modmod community as a parallel development structure to congress. In rare cases we've had concepts from modmods moved directly into main branch VP with good results, IMO as non-dev (admittedly that doesn't have to do any of the work), this aspect of the community should be encouraged, not diminished. In any case I hope as much of existing hooks are retained, if this is what we mean by "triggers"

sub forums for civs, QOL, overhaul-level changes, etc.) and then also moderation to archive things that aren't being maintained

I'd suggest we just have the following subs: released mods, WIP mods, and archive/retired

From there have the colored labels on each to denote civ's, QoL, game rules etc. Like how the Congress threads get color labels
 
Last edited:
Yes! Also, if possible, a label that tell the last compatible version of VP.
Could just be a formatting rule for that sub, thread/mod authors must append thread title with " ... [VP 4.6]" etc to mark which version they last developed and uploaded for -- I've loosely just been matching my mod version numbers to vp iteration (ie if I update a mod for VP 4.6 my mod file will be v46), but this is not practical for all projects.

There are a few modmods that have no single dev though and are nonetheless actively used -- see hex conquer thread, a few of us have all uploaded our preferred version, each with their own pros/cons. Not sure what we'd label such a thread as.

While it would be nice to have the modmod sub a little more navigable, it's always open to any modmod author to upload to steam workshop if they really wanna streamline the experience for users -- the nature of the sub is somewhat experimental and should not be overly restrictive with rules and criteria
 
Last edited:
It'll work like it currently is.
Original (new version of) EUI in the DLC folder, then all overrides in (3a).
Not all of the files can be overridden because there is stuff that can only be changed through modifying the base EUI files, like adding some stuff to the Options menu or adding more types of map Highlight like for modmod stuff (Squads, Route Planner, etc.)

We can't keep it being a pure EUI and still call it EUI. Troubleshooting confusion will set a bad precedent for the mod and the relationship with the original creator of EUI.
 
I'd like to see a community approach to the use of AI in the mod

Could you elaborate on how this could be done?

I realize the initial post here is talking more about creating lifelike diplomatic interactions and visuals, but if anything the potential seems to lie with integrating AI as full opponents, not just diplomacy chat toys.

I am very much a lay-person when it comes to these emergent machine learning AI and their particulars, but from what I do understand, we'd probably need to give the AI a way to play the game entirely without the UI -- ie create enough Lua hooks, query and command functions that a machine learning algorithm could access all needed information in the game, and provide all inputs necessary to move units without breaking rules etc.

Strikes me that this style of opponent will likely be the future for complex strategy games like civ. Would be a ton of work to conceptualize fully, design and implement, but it's certainly an interesting topic when we are talking long term vision
 
I am very much a lay-person when it comes to these emergent machine learning AI and their particulars, but from what I do understand, we'd probably need to give the AI a way to play the game entirely without the UI -- ie create enough Lua hooks, query and command functions that a machine learning algorithm could access all needed information in the game, and provide all inputs necessary to move units without breaking rules etc
Yep, that's exactly right.
Strikes me that this style of opponent will likely be the future for complex strategy games like civ. Would be a ton of work to conceptualize fully, design and implement, but it's certainly an interesting topic when we are talking long term vision
I wouldn't hope for that. AI is computionally expensive to run and graphics sells more. It's also very hard to train AI for games that complex. We have much simpler games in which AI models are a rarity. It's possible, though.
 
Top Bottom