Right, I've spent some time tinkering with Espionage a bit more and have hit a bit of a stone wall on this one. I've tried many ways of adding new spy missions, but no matter what I change, UnitManager.CanStartOperation seems to always report that my new mission can't be started. The implementation of that function is in the game core, which we don't have the source code for, so I'm at a bit of a loss about what metadata might be missing. I also can't rule out the possibility that the game core doesn't handle new spy operations at all (based on the CiV game core code, this is entirely possible).
Even without a completed scenario though, I think this exemplifies the kind of problem that working with CiVI, as it is now, presents. From here, I think I'm ready to make some decisions about CiVI for WoTMod and present some options for us going forward.
Without source access, WoTMod isn't possible in CiVI. It might be technically possible in the general case, but working through all of the issues like this one will take longer than is reasonable for me to develop. Even if the above problem with spy operations is fixable, for example, it takes way too long for me to work out how to fix it. And there will be countless other problems like it. This is an understandable difficulty when working with an application that I can't really see what it's doing under the hood. (No particular fault of how Firaxis have made it, it's just the nature of the beast when the behavior of the game is opaque to us.)
Given the nature of mod projects, it's also worth pointing out that solving the above type of problems is extremely not fun. Not that every bug fix or piece of work that goes into a mod is going to be fun, but it's a project driven by passion. And CiVI's current development environment sucks a lot of enjoyment out of what should be simple changes, turning them into a prolonged slog through trial and error. It's made all the more frustrating that the solution is often quite simple, it's just that the information isn't there to find out what the solution is. (Source access would largely resolve this - then I can inspect what the game is doing and see why it doesn't do what it seems like it should.)
However, looking at the structure of CiVI and the tools that come with it, I see the underlying game is more flexible than CiV. This is already clear from some of the other mods that are being released for CiVI. Some of these are much more advanced than what we had at a similar stage in CiV's lifetime. I keep saying it, but the art pipeline in particular has improved a lot. The modifier system is also nice and flexible, which will be useful to us long term. From this point of view, I think CiVI is a better platform for WoTMod than CiV, if we had source access.
OK, well let me state that I'm glad it has "come to this," in the sense that you now know that what we want isn't achievable with the current tools available. That is more than we knew a few months back. You also know that it seems that it
would work if you had source access, while we know a fair bit won't work in CiV, even with that access. This is good information and exactly what you set out to do.
And I'd say the funness of this is probably the most important element here. I'm not going to be of much help in the actual coding, so this project lives and dies with your motivation. If this is tedious, we're sunk. So I'd say it behooves us to do whatever creates the most fun development process - that will likely lead to the most fun game anyways.
That presents us with a conundrum! And a few options. I see 4 major ways of moving forward from here:
#1
- We switch to CiVI
- Working under the assumption that CiVI's source will be released in a reasonable time frame (as was the case with Civ4 and Civ5), we can switch to doing design work on CiVI now.
- There's a lot for us to change from the CiV design to make this work and that will take us a while.
- If CiVI follows a similar timeline to its predecessors, then I doubt we'll finish this work before the source is released.
- If it doesn't then we're sunk. I doubt we'd want to switch back to CiV or start development without source if we finish the design work. This may lead to option 4.
ok, first impressions on these one at a time.
What do you consider a reasonable time frame? Within the next 6 months? Remind me when they were released for CiV?
I think this option hinges on the following question:
are we kind of sunk if we stick with CiV? I prefer CiV over CiVI, but I also imagine our audience will be much smaller if we do CiV. If we are sunk with V, then this option is someone compelling. It's "all in". Sure, it's possible we'd be left with nothing but... I dunno, we'll have done some cool design work...?
#2
- We continue working with CiV, keeping an eye on CiVI to switch when possible
- This would keep our momentum going, finishing off the design work we've done thus far in CiV.
- When CiVI's source becomes available, we can switch then (or re-evaluate), only taking on the extra design work when we know we're going to be able to push for the long haul and finish the mod.
- The downside here is that the CiV-specific work we do is wasted when we switch to CiVI.
- The upside is that if CiVI's source doesn't end up being released, then we're ok. However, if a source release never arrives, we'll never know 100% when that possibility has been eliminated. (Unless Firaxis announce they're not gonna do it.)
I think this one is interesting because of the idea of "stopping points." We have
somewhat reached a good one with CiV. I do think we probably could have proceeded a bit further with our design, but the stuff that remained is daunting and rather nitty-gritty, which doesn't feel appropriate given our uncertainty. So, I guess this one feels a little lame to me, not just because of the wasted effort, but because of the likelihood of a really lame stopping point. Like, finishing the social policies or finishing Philosophies might aid our CiVI design, but, what if they release the source when we're 50% through designing combat units? That's really nitty gritty, and would feel like we had either wasted all that prior 50% worth of work, or must waste the remaining 50% work...
I suppose I don't love this one, since it presumes that we
want CiVI. If we do want CiVI, pursuing CiV further seems like a fool's errand since we're already at a halfway decent stopping point.
#3
- We commit fully to CiV
- Abandon CiVI and go with CiV. We know the scope of what we can achieve with CiV and I'm confident in the technical achievability of what we've laid out thus far in that game.
- The downside is we're leaving a lot of potential gains on the table from CiVI - a lot of limitations that are disadvantageous to fantasy mods specifically are built into CiV. The art pipeline difficulties will hurt us and will continue to do so for the entire lifetime of the mod.
- Comparing this option to option 2, we "risk" not switching back to CiVI even when its source does become available. But I don't see us turning a blind eye to that, even if we do choose this option.
Art is a big thing. For me, it all boils down to audience. Even though I like CiV more, this feels problematic if we'll have 30 people play our mod instead of 1000, or whatever. And the whole shadow of CiVI existing forever is kind of scary.
#4
- We wait
- WoTMod on ice. This is the simplest option. Wait and see what happens with CiVI.
- No sunk cost on CiV-specific design or implementation. No sunk cost on design for CiVI if the source doesn't get released.
- Huge momentum hit - we would not be working on the mod at all for potentially quite a while. Risks the project not getting completed because we don't return or CiVI's source is never released.
Yeah, this is huge and scary because of the momentum. IMO, that momentum hit has kind of already come, though. I'm already rather used to not writing two lengthy posts per week! For me, this one feels fine if the source is released within the near future. I think we'll get the momentum back. However, if it isn't released, then I think the mod is dead, and that's really scary.
And that's how I see the lay of the land. My personal feelings waver between a few of the options.
#1 is optimistic and if it works out, will lead to the best overall use of our time.
#2 seems like the safest. It keeps us on the ball here, but still gives us a way of changing if the better option comes along. Biggest risk with this one is a lack of motivation since our CiV work can all potentially be undone.
#3 seems a bit... not quite foolhardy, but something approaching it. I don't see this one being very practical, since we'll always have our eye on CiVI, regardless of what we decide to do now.
#4 is somewhat selfishly useful, in that I'll have time to work on unrelated projects in the interim, which I've been picking at for the last few months. (Other games, other tools.) Mod projects like WoTMod are built on motivation though, and it's difficult to rekindle that if we let it lapse now.
From my thoughts there, #3 seems to be the only one I've really discounted. Before I try to narrow more, what do you think?
This is tough! I agree with your assessments, mostly, but I'm not sure I agree that #2 is "safe." If anything, #3 is the safest, but it also has the least gain. #2 includes a lot of "wasted" time, which doesn't seem very safe to me.
I think we just need to look at our desired end vision. I feel like we've already asked the question "Should we switch to CiVI?" and arrived at "yes." If so, I think that kind of eliminates #2 and #3, as much as it pains me to say it. then the two followup questions:
"Will source be released?"
If yes, then we go with #1 or #4, and totally scrap 2 and 3. #1 has the advantage.
If
probably, then consider #2 also, but be ready to waste a couple hundred hours of work. #4 has the advantage, I'd say.
If no, go with #2 or even #3.
and then:
"Will it be released in the next six months or so?"
The answer to this question depends on the kind of process you'd like. I think 6 month "head start" on design could be totally fine. But so could more than that, perhaps. But, I'm also assuming you'd want to have access to the code as we design in order to check what we're doing. So..
If yes, #1 has the advantage
If no, #4 has the advantage.
thoughts?