Crowdsourcing!

Ozymandias

In Terra Fantasia
Supporter
Joined
Nov 5, 2001
Messages
10,877
Location
The lone and level sands
Gents,

I just purchased/dl-ed a paper on crowd sourcing games (“Crowdsourcing in Video Games: The Motivational Factors of the Crowd” - Springer Science+Business Media.)

The two highest motivations for contributions are, in order, “$” (compensation for, e.g., some of the games on Steam) and participation, which could help solve many, many, “challenges.”

So, for a moment, let’s take a slightly different POV, that of pitching a startup to VC.

Item (1) is, simply, a name for the project. I think will all know how much aggressive, and successful, litigation there has been against games simply using the word Civilization in a game’s title. Accordingly, let’s - just for the moment - go with, From Stone Age To Space Age (“From S2S.”)

Item (2) For startups, is something called the, “Elevator Pitch.” - How you might describe, in one sentence, what the project is, while riding with a potential investor in an elevator. And I, for one, have no idea what that pitch might be. Is it something along the lines of, “From S2S” is a complete remake*, of one of the most successful Civilization games, using a Godot framework”, with the “*” possibly being, “without copyright infringement.”

If you chaps can do that, then we can try the Crowdsourcing route, as its cost would be, effectively, nothing.

We plainly cannot offer monetary compensation, but we can “offer” design and coding participation. Towards that end, we NEED a well designed, common “API” to allow some TBD number of coders, who just might want this on their resumes, to join in.

- So (and kindly forgive the profanity) WTH are we doing, and how are separate components being defined/delineated, and “isolated,” into plug-compatible function/coding modules?

Also: how about finding a volunteer to take all of the many Feature Requests and, in some meaningful way, collating and organizing them.

Thus endeth the sermon.
 
For item 1, I agree, it's probably about time to have a different name than C7, particularly as C7 is an acronym. There's an old thread on the topic here, although I like your suggestion as well as any of the ones there (including Civinator's Clash of Cultures, which might be my second-favorite). You're right that it can't be anything with Civilization in the name; I recall that the game Pre-Dynastic Egypt, from a relatively unknown post-Soviet developer, was originally called Pre-Civilization Egypt until Firaxis objected shortly after their Steam launch.

The elevator pitch. "We're making an open-source strategy game in the vein of Civilization or Humankind that implements some of the wish-list features of long-term fans of the genre." A variant of my actual elevator pitch for my editor, which notes it as a third-party editor that adds cross-platform compatibility and community wish list features, often centered on ease of use. I can always go into more detail if there are questions or if the elevator hasn't arrived yet. Unless the audience is affiliated with Godot, I don't think the engine is important enough to make the headline of the pitch (although "which engine are you using?" might be a follow-up question).

-------

Spoiler Thoughts related to APIs :
I'm still not sure that an API is the solution to getting more developers (although, longer-term, it likely is for modding). A few things that I would put as equally or more important are identifying good starting tasks for those TBD developers (which I've done here), improving the documentation on how to get started, and improving modularization (which Flintlock's pending pull request makes some progress towards). Modularization would go in the same direction, without necessarily being an actual API. Someone could say, "I spent 3 months improving the AI module of C7" (using the existing name for now), or "I spent a month adding support for [cool new animation type] to the animation module of C7."

One of my major concerns with a "common" API is that a big-bang refactor is as likely to extinguish progress and motivation as to succeed; modularizing areas as we go is less likely to burn out existing contributors. I know this in part because nearly if not all of the attempted major big-bang refactors of my editor have never seen the light of day. I'll lose motivation (no $), stop working on it for a few months, and come back and work on another part of it. I suspect "common" may also be limited to certain parts.

There is talk of figuring out more of a structure for mods (which would be an API in effect) for Carthage. I think this would be a smaller, more achievable, area of focus.

As for "how are separate components being defined/delineated", for now that is largely along the lines of separate C# projects (i.e. the QueryCiv3 project, which houses logic for importing data from Civ3), or in some cases sub-projects (there's an AI sub-project of the Engine project, which may eventually become its own top-level project, that is TBD). Isolated into plug-compatible function/coding modules? So far, that is largely through interfaces in the code base. In theory, these could have different implementations loaded from a DLL (prototype needed), or Lua (Puppeteer did a prototype of this in the fall). These will eventually need more documentation, although again I think it's premature to focuslarge heavily on that when there are so many other items that could also benefit from improvements.

Conclusion to this section: I think we have differences in preferred methodology. I prefer an emergent design approach, believe that features are king, and am hesitant to over-engineer from an architectural standpoint, especially with such a small team. These are largely based on my past professional experience, but also by my experience and observations in the forums. I believe we're more likely to succeed with a rougher early product that moves quicker, than with a better-designed one that allows great flexibility, but takes longer to reach equivalent levels of feature maturity.

Flintlock seems to generally agree, with perhaps slightly more focus on architecture but still preferring velocity much of the time; Puppeteer thrives on implementing shiny features. I'm aware that you (Ozymandias) prefer a more methodical approach with a more coherent design upfront, and WildWeazel is likely somewhere in between. But in this non-financed project, realistically, the direction is going to be heavily influenced by the preferences of the most active contributors. I don't think we've lost any potential contributors due to our current approach; if anything our pivot towards a more regimented system with PR reviews in December, and the logjam that created, resulted in losing Caro-Kann as a contributor. There is a blind spot of why we haven't heard more from the potential contributors WildWeazel rounded up, and more information on that could change my views.

Although you have influenced me to think that at least, some of this should be written up and made more visible so that any lurkers who do run across the project have easier-to-find answers to, "where do I start?" I don't think we're a project where an API would make a big difference at this point (if we were developing a software library, my answer would be different), but knowing where to start very well could. Both the GitHub page and this forum should make that highly visible, and we should probably include some information about that with the next release as well.


---------------

I agree (and believe I've even mentioned a few times) that having a volunteer to collate those Feature Requests would be great); indeed the lack of one and the perception that they're being suggested into the void was one of my concerns when we opened this forum. But the question is where do we find one? I'm already one of the main developers, occasional project manager (more like a scrum master except that we don't follow scrum, not like product owner), and dabbling in technical writer. I've been drawn in once or twice but largely consider it to be a distraction that will only decrease my productivity on the rest. Maybe that thread itself would be where to find one?
 
The elevator pitch. "We're making an open-source strategy game in the vein of Civilization or Humankind that implements some of the wish-list features of long-term fans of the genre." A variant of my actual elevator pitch for my editor, which notes it as a third-party editor that adds cross-platform compatibility and community wish list features, often centered on ease of use. I can always go into more detail if there are questions or if the elevator hasn't arrived yet.

The entire purpose of an elevator pitch is to grab attention, and interest about more info, right away. I also both appreciate, and understand, and now agree with, all of your thoughts and concerns about an API-equivalent, and I'm glad to hear about Carthage.

That being said, I wouldn't have mentioned the the crowd sourcing idea if I didn't think it potentially viable (I think you know me well enough, by know, to now that I wouldn't do otherwise ;) ) Nonetheless, without the multiple temptations of crowd sourced participation hands-on help" (fun; resume; both) the entire idea is moot - Also, if pitched correctly, the "resume" bit wouldn't necessarily be limited to coders, but also to coders/etc. who would like to have something along the way of, "Developing a historical model of the developments of human history. Despite decades of academically (I actually took two classes on the History Of War) and otherwise studying history, it was only after about playing Civ 3 that I finally understood the importance of population density throughout all of history.

Spoiler Civs "Rebounding" :
I've also long wished that there were mechanisms in place for Civs to "rebound" from defeat, like Ancient Egypt and onward. Now that could make for a big "+" on a non-coder's CV.


As for "how are separate components being defined/delineated" [...] There is talk of figuring out more of a structure for mods (which would be an API in effect) for . I think this would be a smaller, more achievable, area of focus.

Understood, but without some hint of that always-dreaded-by-coders word Methodology, there is 0% chance of crowd sourcing. Also, without invoking the "M word," how long does your gut instincts (which, BTW, I hold in high regard) tell you how long (a) this project will take, and (b) how long before avid interest in this (you've already mentioned @WildWeazel ) drifts away?

But in this non-financed project, realistically, the direction is going to be heavily influenced by the preferences of the most active contributors. I don't think we've lost any potential contributors due to our current approach; if anything our pivot towards a more regimented system with PR reviews in December, and the logjam that created, resulted in losing Caro-Kann as a contributor. There is a blind spot of why we haven't heard more from the potential contributors WildWeazel rounded up, and more information on that could change my views.

I think you've just proven my point.

Both the GitHub page and this forum should make that highly visible, and we should probably include some information about that with the next release as well.

I've (of course) looked at the GitHub page and this forum, and, with all due and true respect, I see nothing at all to - as yet - make anything about this effort visible, at all. For CFC, a top "stickied" thread would be great, as would any (again, topmost) entry on the GitHub page.

I agree (and believe I've even mentioned a few times) that having a volunteer to collate those Feature Requests would be great); indeed the lack of one and the perception that they're being suggested into the void was one of my concerns when we opened this forum. But the question is where do we find one? I'm already one of the main developers, occasional project manager (more like a scrum master except that we don't follow scrum, not like product owner), and dabbling in technical writer. I've been drawn in once or twice but largely consider it to be a distraction that will only decrease my productivity on the rest. Maybe that thread itself would be where to find one?
  1. I'm well aware of the nature of your many contributions :D
  2. We might consider directly reaching out to having a volunteer both collate/organize the Feature Requests and give him/her the "authority" to rationally organize them - and, as rationally, prioritize them (... @Takhisis ? ... :D )
Thank you, Quint.
 
One clarifying question: How does "crowdsourcing" differ from what we're already doing? Or is it more a set of methodologies that are more likely to result in the "crowd" materializing?

(Looking at the abstract, it seems to suggest it is at least partially the latter?)

I think there is something to the "resume" bit, and it also ties into the recent conversations (of which @WildWeazel) has been a part about the Credits. Looking at the obvious example of Godot, they list "Project Founders", "Lead Developer", "Project Manager", and "Developers" under their "Authors" section. As you mentioned, for our project additional roles, such as Artist, would make sense as well. I also wonder whether it might be beneficial to have some intermediate tiers other than just "Lead Developer" and "Developers". E.g. maybe in 2026 it might look like:

Primary Developers:
Person A (2021 - 2026)
Person C (2022 - 2026)
Person B (2021 - 2023)
Person D (2022 - 2024)

Contributing Developers
Person G (2026)
Person E (2023, 2025)
Person F (2024)
Various other people listed...

Primary Artists, Contributing Artists, etc.

Where essentially, "Primary" means "ongoing, substantial contributions" and "contributing" means, "contributed at least one patch/codeset/art asset/etc.". How to determine "ongoing, substantial contributions" is TBD, but it does make sense that there should be recognition of contributions, and IMO recognizing consistency of contribution could both provide some motivation, and also provide some validation to the "resume" bit of, "I actually did a substantial amount of work on this." The downside of the Godot approach being that I can't tell from the list if someone contributed one patch, or wrote a whole module, or has been heavily involved since the project began, other than the one listed Lead Developer, and one person whose name I recognize from the Godot blog.

Also, without invoking the "M word," how long does your gut instincts (which, BTW, I hold in high regard) tell you how long (a) this project will take, and (b) how long before avid interest in this (you've already mentioned @WildWeazel ) drifts away?

(a) The number that comes to mind right away is five years. In part I'm sure the "nice round number" aspect of it plays a role. But it's ballpark 3-4 months for the first post-Aztec milestone, and there are... 15? planned post-Aztec. Which also works out to 4-5 years.

This could wind up being way off, but it feels more realistic to me than the common pronouncements (in both open-source and commercial Steam games) that "we'll be out of Early Access in a year or two". At least on the Steam side, usually they're still in Early Access in a year or two (although noticeably farther along than at the beginning of that period).

(b) That can happen in as little as a month if influences converge for it to be that way, and as we know from previous projects, those influences can be completely external to the project. I think what you're getting at here is that the more people we have, the less likely it will happen to so many people at the same time as to cause the project to pause.

I've (of course) looked at the GitHub page and this forum, and, with all due and true respect, I see nothing at all to - as yet - make anything about this effort visible, at all. For CFC, a top "stickied" thread would be great, as would any (again, topmost) entry on the GitHub page.

Yup. You're right. That needs to be a higher-priority item.

Who is able to make sticky threads here? Is that @Lanzelot ? I see we do have the "Getting Started" thread up there (and it has about three times as many views as the "Bug Reports" one, suggesting some people are looking at it. I would agree that ideally "Getting Started" would be topmost, but I believe they are ordered by most recent reply (among the sticky threads).

I'd also like to have the "Babylon" release thread be stickied once it is made in a week or two.

I don't know what the feasibility of it is, but having a member or two who are active be able to sticky threads in this sub-forum could be helpful.
 
We might consider directly reaching out to having a volunteer both collate/organize the Feature Requests and give him/her the "authority" to rationally organize them - and, as rationally, prioritize them (... @Takhisis ? ... :D )
Somebody rang?
 
The two highest motivations for contributions are, in order, “$” (compensation for, e.g., some of the games on Steam)
Isn't this supposed to be a free game? Or have I missed a post somewhere?
 
Isn't this supposed to be a free game? Or have I missed a post somewhere?

We plainly cannot offer monetary compensation, but we can “offer” design and coding participation. Towards that end, we NEED a well designed, common “API” to allow some TBD number of coders, who just might want this on their resumes, to join in.

I believe the mention of $ was that it can be a motivator, but we will have to look for other ones. Indeed, it is supposed to be a free game.
 
In that case the only things you might offer are, like with e.g. DotA, purely comestic stuff such as special unit graphics packs or early access to releases (Dinosaur Comics has that, you can view the next issue instead of the official latest if you're a paying subscriber).
 
For item 1, I agree, it's probably about time to have a different name than C7, particularly as C7 is an acronym. There's an old thread on the topic here, although I like your suggestion as well as any of the ones there (including Civinator's Clash of Cultures, which might be my second-favorite). You're right that it can't be anything with Civilization in the name; I recall that the game Pre-Dynastic Egypt, from a relatively unknown post-Soviet developer, was originally called Pre-Civilization Egypt until Firaxis objected shortly after their Steam launch.

The elevator pitch. "We're making an open-source strategy game in the vein of Civilization or Humankind that implements some of the wish-list features of long-term fans of the genre." A variant of my actual elevator pitch for my editor, which notes it as a third-party editor that adds cross-platform compatibility and community wish list features, often centered on ease of use. I can always go into more detail if there are questions or if the elevator hasn't arrived yet. Unless the audience is affiliated with Godot, I don't think the engine is important enough to make the headline of the pitch (although "which engine are you using?" might be a follow-up question).

-------

Spoiler Thoughts related to APIs :
I'm still not sure that an API is the solution to getting more developers (although, longer-term, it likely is for modding). A few things that I would put as equally or more important are identifying good starting tasks for those TBD developers (which I've done here), improving the documentation on how to get started, and improving modularization (which Flintlock's pending pull request makes some progress towards). Modularization would go in the same direction, without necessarily being an actual API. Someone could say, "I spent 3 months improving the AI module of C7" (using the existing name for now), or "I spent a month adding support for [cool new animation type] to the animation module of C7."

One of my major concerns with a "common" API is that a big-bang refactor is as likely to extinguish progress and motivation as to succeed; modularizing areas as we go is less likely to burn out existing contributors. I know this in part because nearly if not all of the attempted major big-bang refactors of my editor have never seen the light of day. I'll lose motivation (no $), stop working on it for a few months, and come back and work on another part of it. I suspect "common" may also be limited to certain parts.

There is talk of figuring out more of a structure for mods (which would be an API in effect) for Carthage. I think this would be a smaller, more achievable, area of focus.

As for "how are separate components being defined/delineated", for now that is largely along the lines of separate C# projects (i.e. the QueryCiv3 project, which houses logic for importing data from Civ3), or in some cases sub-projects (there's an AI sub-project of the Engine project, which may eventually become its own top-level project, that is TBD). Isolated into plug-compatible function/coding modules? So far, that is largely through interfaces in the code base. In theory, these could have different implementations loaded from a DLL (prototype needed), or Lua (Puppeteer did a prototype of this in the fall). These will eventually need more documentation, although again I think it's premature to focuslarge heavily on that when there are so many other items that could also benefit from improvements.

Conclusion to this section: I think we have differences in preferred methodology. I prefer an emergent design approach, believe that features are king, and am hesitant to over-engineer from an architectural standpoint, especially with such a small team. These are largely based on my past professional experience, but also by my experience and observations in the forums. I believe we're more likely to succeed with a rougher early product that moves quicker, than with a better-designed one that allows great flexibility, but takes longer to reach equivalent levels of feature maturity.

Flintlock seems to generally agree, with perhaps slightly more focus on architecture but still preferring velocity much of the time; Puppeteer thrives on implementing shiny features. I'm aware that you (Ozymandias) prefer a more methodical approach with a more coherent design upfront, and WildWeazel is likely somewhere in between. But in this non-financed project, realistically, the direction is going to be heavily influenced by the preferences of the most active contributors. I don't think we've lost any potential contributors due to our current approach; if anything our pivot towards a more regimented system with PR reviews in December, and the logjam that created, resulted in losing Caro-Kann as a contributor. There is a blind spot of why we haven't heard more from the potential contributors WildWeazel rounded up, and more information on that could change my views.

Although you have influenced me to think that at least, some of this should be written up and made more visible so that any lurkers who do run across the project have easier-to-find answers to, "where do I start?" I don't think we're a project where an API would make a big difference at this point (if we were developing a software library, my answer would be different), but knowing where to start very well could. Both the GitHub page and this forum should make that highly visible, and we should probably include some information about that with the next release as well.


---------------

I agree (and believe I've even mentioned a few times) that having a volunteer to collate those Feature Requests would be great); indeed the lack of one and the perception that they're being suggested into the void was one of my concerns when we opened this forum. But the question is where do we find one? I'm already one of the main developers, occasional project manager (more like a scrum master except that we don't follow scrum, not like product owner), and dabbling in technical writer. I've been drawn in once or twice but largely consider it to be a distraction that will only decrease my productivity on the rest. Maybe that thread itself would be where to find one?

I like Clash of Cultures. If we are going to have a set starting group, an imho good name would be x (number of those cultures) Cultures. So if the starting group is 30, it'd be Thirty Cultures.
I'd go for 10 starting cultures; I even have named my commercial city gfx (they are available for civ mods and I will allow their use for this game too ;) ) "Ten Cultures".

Another name could be "World Cultures".
 
I believe the mention of $ was that it can be a motivator, but we will have to look for other ones. Indeed, it is supposed to be a free game.

Indeed!

Spoiler Crowd Sourcing Defined :
"Crowd Sourcing" is when a project, charity, or company attempts to draw attention - and $ - from a large number of "followers" of categories like, "Electronic Games." Generally, $ goals are stated, with some form of incentive added, for increasingly higher levels of contribution. The best known example of this is Kickstarter.


The paper I d/l-ed is an academic one which, for example, had two main categories: "Intrinsic" and "Extrinsic" factors - and you can stop worrying about terminology like that, right now. :) What I've put together is a gross simplification of 25 motivating factors listed, which I've re-combined, simplified, and re-categorized. I'll start with the "$," implicit and explicit, just to get them out of the way. (Note that my personal belief is that, for a project like this, the "Enjoyments" would far outweigh the "$" items, in every way, even though there are arguably, some cross-overs.) I've put the ones which I believe most important to us in bold letters.

All of that being said, the combined "implicit" and "explicit" "$" rewards would include:
  1. Tangible rewards.
  2. An Implicit promise of tangible rewards.
  3. Career opportunities.
  4. Freelance opportunities (based upon their contributions.)
  5. Self-marketing (dittoing "4.")
Here's the "enjoyments" category:
  1. Sense of community.
  2. Intellectual stimulation.
  3. Creative energy outlet.
  4. Exercising amateur skills.
  5. Knowledge creation.
  6. Knowledge exchange.
  7. Peer recognition / Self-esteem / Reputation
... And that's all for now, folks! :whew:

:D
 
Somebody rang?

... Well, I was just mentally compiling a list of people who are:
  1. Very smart.
  2. Also, plainly intellectually "well organized."
  3. Involved, and
  4. Dedicated.
Meaning that I have no idea how your name came to mind, first :think:

:D
 
Unfortunately Clash of Cultures is a popular historical 4X board game. It's really hard to think of something generic enough to suggest "all of human history" that isn't already taken.

I like Quintillus' elevator pitch, as it gets the point across without pinning it to Civ3 specifically. As I brought up in the Carthage thread I feel like we need to pull away from the clone/remake wording and brand it as more of a *wink wink* generally Civ-inspired new 4X engine, which we happen to provide along with a Civ3 import layer to get people started. (And FWIW, if we do commit to that distinction in designing the core game I think it will only help us to do more with it.)

(a) The number that comes to mind right away is five years. In part I'm sure the "nice round number" aspect of it plays a role. But it's ballpark 3-4 months for the first post-Aztec milestone, and there are... 15? planned post-Aztec. Which also works out to 4-5 years.

This could wind up being way off, but it feels more realistic to me than the common pronouncements (in both open-source and commercial Steam games) that "we'll be out of Early Access in a year or two". At least on the Steam side, usually they're still in Early Access in a year or two (although noticeably farther along than at the beginning of that period).
:yup: The gut instinct I've had was in the ballpark of 3-5 years of continuous development. I think that's a realistic best case; it'd be hard to compress that much without a full-time team. The long tail could easily resemble something like Dwarf Fortress...

There is a blind spot of why we haven't heard more from the potential contributors WildWeazel rounded up, and more information on that could change my views.
Not much to say sadly. One of them showed a lot of initiative right away but had some personal stuff coming up and I haven't heard from him since. The other has been lurking but busy, and I've been meaning to chat with her about whether and how she can get involved, but timezones have made that difficult.

re: visibility
Yes, Lanzelot is our neighborhood moderator. Please let me know if there's any way I can spruce up "Getting Started". I intended that to be a less-technical landing page for the project.
There was some talk early on about when and how to promote ourselves, and some hesitation about going too broad since we had very little to show at the time. I'd been thinking a little about when would be appropriate to extend our reach. There might be a few tiers, each needing a bit more substance to get their attention. First Civ3 modders (largely already aware), then all Civ3/2/1 players (somewhat aware), the Godot and amateur gamedev communities, and finally the broader 4X and indie gaming communities. Publicizing too early might be met with a resounding "meh" as there are just so many WIP games out there.
In any case, I feel we need to get our messaging and branding ironed out before drawing much more attention.

I'd go for 10 starting cultures; I even have named my commercial city gfx (they are available for civ mods and I will allow their use for this game too ;) ) "Ten Cultures".
Did you know that the working title of the game Old World was Ten Crowns?

More thoughts on APIs and methodology soon! It takes me way too long to write out a proper post... :coffee:
 
Concerning Game Names, it is true that most names have been taken.

Culture, Power, Population, Gold, Groups, Clans, Tribes, Towns, Cities, Metropolises, Nations, etc..., basically stem from Mankind's Survival Instincts, "Fight or Flight"... It All has to do with Humans striving to gain Domination for reasons of Control and Surviving as they want.

Possibilities :dunno:

Cultural Evolution
Quest for Power
A Time of Domination
Struggle to Power
Mankind - World Domination
 
... Well, I was just mentally compiling a list of people who are:
  1. Very smart.
  2. Also, plainly intellectually "well organized."
  3. Involved, and
  4. Dedicated.
Meaning that I have no idea how your name came to mind, first :think:

:D
Well, I'm definitely a scatter-brain with the attention span of a rabbit on steroids with a pogo stick, but you could already have stopped at item number 1 and called it a day.
 
Who is able to make sticky threads here? Is that @Lanzelot ? I see we do have the "Getting Started" thread up there (and it has about three times as many views as the "Bug Reports" one, suggesting some people are looking at it. I would agree that ideally "Getting Started" would be topmost, but I believe they are ordered by most recent reply (among the sticky threads).

I'd also like to have the "Babylon" release thread be stickied once it is made in a week or two.
I'm also on the forums at least a couple times a day, so as Lanzelot said just ping one of us if something needs to be done. AFAIK, there is not a way to manually order (sticky) threads.
 
Well, I'm definitely a scatter-brain with the attention span of a rabbit on steroids with a pogo stick, but you could already have stopped at item number 1 and called it a day.

Well, that certainly beats a baboon on crack (personal experience :scared: ) but "1" is certainly good enough for me.

:D
 
Back
Top Bottom