Difference between revisions of "AI War 2:The Paradigm Shift"
X4000Chris (talk | contribs) |
X4000Chris (talk | contribs) |
||
Line 1: | Line 1: | ||
+ | == Known Issues == | ||
+ | |||
+ | * Any bugs or requests should go to mantis: https://bugtracker.arcengames.com/view_all_bug_page.php | ||
+ | |||
+ | * '''Multiplayer is disabled but coming very soon.''' We first focused on tightening up the single-player loop ([https://forums.arcengames.com/ai-war-ii/from-the-dev-notes-on-where-i'm-at-regarding-multiplayer-right-now-(729)/ more info here]), so thanks for your patience! | ||
+ | |||
+ | === Multiplayer Remaining Todo List === | ||
+ | |||
+ | ==== Before Alpha ==== | ||
+ | |||
+ | * First handshake messages going back and forth between two computers (since 2018). | ||
+ | |||
+ | * World data passed from one computer to the next (in new format). | ||
+ | |||
+ | * Re-code GameCommands to be more efficient and special-purpose. This is probably a job that is a couple of days long, and will potentially lead to widespread bugs for a week or so after it. | ||
+ | |||
+ | * Get Steam and GOG integrated as networking frameworks, once things are working on Forged. | ||
+ | |||
+ | * Get the basic connection interfaces working, so that you can choose to connect to players via Steam, GOG, or a direct IP address (forged). This will be a moderate challenge, because Steam and GOG both have APIs that I'm pretty unfamiliar with in this exact area. Once the connection is going, it's much easier. But with the new compiler chain, at least I can hopefully get these going in a matter of days or a week rather than it being something that takes multiple weeks. | ||
+ | |||
+ | * V1 of the desync detection and correction code, which should probably only take a few days. | ||
+ | |||
+ | ==== Before Beta ==== | ||
+ | |||
+ | * The other features on multiplayer, mainly regarding things like donating fleets between one another, and/or whatever else we come up with that is desirable. | ||
+ | |||
+ | * Make the desync detection and correction able to correct factions, not just ships. | ||
+ | |||
+ | * The really big one that remains is making sure that the cross-machine identifiers (PrimaryKeyIDs) are consistent between machines. I don't fully have this figured out yet, but I think that the interim state of it will essentially be that there are occasionally too many messages being passed around because of rolling sync errors. I will probably punt this issue into something I look at during the alpha, so that I can gauge what sort of impact it really has on performance, and where the problems are coming from. | ||
+ | |||
+ | * Make sure that the lobby fully works as we expect, and various other small UI systems to get multiplayer basically playable. A lot of work went into the lobby in particular in the last few months to make that as close to as ready to go as possible. | ||
+ | |||
+ | ==== Before Full Launch ==== | ||
+ | |||
+ | * Whatever changes we need to make to balance in order to make things "feel right," which will be a matter of working with the multiplayer alpha and beta testers. A lot of things we already did in the past, like making science collection a humanity-wide thing that each player gets a copy of, rather than something people have to do individually (what a pain that was in AIWC). We will have to scale waves like we did in AIWC multiplayer, or in some other fashion. But a lot of the difficulty scaling is inherently handled by AIP being higher when you have to take more planets in multiplayer. | ||
+ | |||
+ | * If we're seeing network degradation or other issues due to the constant need to sync errors, then that will be to be investigated and improved. But those things are most of what the focus of the alpha/beta will be on. | ||
+ | |||
== What's this phase all about? == | == What's this phase all about? == | ||
Revision as of 16:40, 13 July 2020
Contents
Known Issues
- Any bugs or requests should go to mantis: https://bugtracker.arcengames.com/view_all_bug_page.php
- Multiplayer is disabled but coming very soon. We first focused on tightening up the single-player loop (more info here), so thanks for your patience!
Multiplayer Remaining Todo List
Before Alpha
- First handshake messages going back and forth between two computers (since 2018).
- World data passed from one computer to the next (in new format).
- Re-code GameCommands to be more efficient and special-purpose. This is probably a job that is a couple of days long, and will potentially lead to widespread bugs for a week or so after it.
- Get Steam and GOG integrated as networking frameworks, once things are working on Forged.
- Get the basic connection interfaces working, so that you can choose to connect to players via Steam, GOG, or a direct IP address (forged). This will be a moderate challenge, because Steam and GOG both have APIs that I'm pretty unfamiliar with in this exact area. Once the connection is going, it's much easier. But with the new compiler chain, at least I can hopefully get these going in a matter of days or a week rather than it being something that takes multiple weeks.
- V1 of the desync detection and correction code, which should probably only take a few days.
Before Beta
- The other features on multiplayer, mainly regarding things like donating fleets between one another, and/or whatever else we come up with that is desirable.
- Make the desync detection and correction able to correct factions, not just ships.
- The really big one that remains is making sure that the cross-machine identifiers (PrimaryKeyIDs) are consistent between machines. I don't fully have this figured out yet, but I think that the interim state of it will essentially be that there are occasionally too many messages being passed around because of rolling sync errors. I will probably punt this issue into something I look at during the alpha, so that I can gauge what sort of impact it really has on performance, and where the problems are coming from.
- Make sure that the lobby fully works as we expect, and various other small UI systems to get multiplayer basically playable. A lot of work went into the lobby in particular in the last few months to make that as close to as ready to go as possible.
Before Full Launch
- Whatever changes we need to make to balance in order to make things "feel right," which will be a matter of working with the multiplayer alpha and beta testers. A lot of things we already did in the past, like making science collection a humanity-wide thing that each player gets a copy of, rather than something people have to do individually (what a pain that was in AIWC). We will have to scale waves like we did in AIWC multiplayer, or in some other fashion. But a lot of the difficulty scaling is inherently handled by AIP being higher when you have to take more planets in multiplayer.
- If we're seeing network degradation or other issues due to the constant need to sync errors, then that will be to be investigated and improved. But those things are most of what the focus of the alpha/beta will be on.
What's this phase all about?
Now that we've got the first expansion under our belt, and the game is feeling large and solid at the equivalent of "first AI War plus four expansions," we're ready to tackle the next big thing: multiplayer! We also are going to be adding interplanetary weapons to the base game as a free update (that's the last of the kickstarter stretch goals). This phase should wrap up all our kickstarter promises (including a laundry list of other smaller items), and we expect to have multiplayer fully functional by August.
Multiplayer should be in a beta form where folks can test on it and run into bugs in July. While Chris is mostly working on multiplayer and those other little lingering base game features, Badger is going to be doing the bulk of the work on the second expansion, Zenith Onslaught. That should hopefully launch around the same time as multiplayer.
Version 2.098
(Not yet released -- we're still working on it!)