So I've been working on this little "AWSVF" project over the past few days, taking the lead from the Marvel community. I've finally have been able to test it both on the West Coast and on the East Coast (well, Ohio) and it works pretty well. I put together a little FAQ to get you up to speed. Skip to "What does it take for me to join in" at the end if you just want to know how to play.
Low latency PC netplay for VF5? Tell me more!
Basically I set up a cloud setup using Amazon Web Services (AWS) and put the RPCS3 emulator and VF5FS on it. I set one up based in Northern California and another one in Ohio, although the option to host in Oregon or northern Virginia exists as well. In the time since this was originally written, Harpooneer has set up a northern Virginia instance and we have other folks starting their own as well. You can even host in other parts of the world including Europe, Asia, or even South America (Brazil).
Using Parsec (https://parsecgaming.com/), you can connect to the server which acts as the 'host' and you and the other player, as the clients, receive the game data (in the form of a video stream) from the server while you send it your inputs. This is similar to how platforms like Google Stadia, GeForce Now, PlayStation Now etc. work. With players acting as the clients and sending inputs to a neutral machine between the two of them this essentially allows them to play together with an improved netplay experience over console (which can vary depending on their respective proximity to the host location).
Can't you just host using Parsec on your own computer? Why use a cloud setup?
You can, but the person connecting to you would be at a disadvantage because they would experience latency and you wouldn't. Not only that, the host also needs a decent upload speed to host and the hardware to run the emulator. The cloud setup has literal gigabits of bandwidth and lots of processing power in comparison. Moreover--if I'm in SoCal connecting to a NorCal instance, I'm getting the same low latency regardless of who I'm playing against--whether they are in NorCal or NYC.
How is the performance?
The game runs at a smooth 60fps.There are sometimes graphical glitches when you load a stage for the first time, but they subside quickly. The video stream of the game is transmitted to you at 720p 60fps. The emulator supports resolution upscaling and it's possible to upscale the game massively, up to 4K and beyond, before seeing a hit to performance.
How is the connection / delay?
Obviously, two people playing from the same region will get similar latency. Cross-country play (West Coast to East Coast) is workable, but it works best regionally because players will have similar experiences. You can use this link to ping the AWS servers in the respective locations to get an estimate. Coming out of SoCal, I get about 30ms to the NorCal server and 80ms to the Ohio server. NorCal players have reported pings of around 20ms to the NorCal instance and NYC gets something like 25ms on average to northern Virginia.
This video shows the delay comparison between me playing the game connected to NorCal (35ms ping) while also playing it locally on my own computer. Obviously this is training mode-- but on this server I get this speed regardless of where my opponent is. As you can see, 30ish ping or below, is practically offline.
Your mileage may vary depending on proximity to the server and the quality of your own internet connection. You also aren't going to run into random disconnects or de-syncs the way you would on console.
How did you set it up? How do I set it up for myself?
I got the idea from a couple of friends who set up their own AWS server to play Marvel, who themselves followed the lead from the greater Marvel community. We followed this tutorial by datHazy (https://youtu.be/QLyTBHJY7jM) which walks you through the process. You don't need to set this up to join in. But if you are interested in setting something up, contact me and I can help you out.
Does it cost money to run a cloud setup?
Yes, there's a per hour charge to keep the instance running, but it's affordable. I'm never going to directly ask for money to play on it. This is to bridge the gap between consoles and regions in our community.
Are there servers running 24/7? Can I jump in whenever I want?
No, it's not cost effective to always have it on, but more and more people are getting the capability to launch their own instances in the cloud, which translates to more uptime. We tend to announce publicly in Discord when an instance is going live.
What does it take for me to join in?
Assuming a server host (such as myself or @Harpooneer) has an instance turned on, all you would need to play is:
1. A computer with Parsec installed, which you can download for free (https://parsecgaming.com/)
2. A controller
3. A good internet connection, preferably wired.
4. The ability to join us in voice on Discord (account required) so we can walk you through the brief setup process.
Once a server host has turned it on, they give out a share link for people to click on which connects them to the instance via Parsec. You troubleshoot your controllers briefly, and you can start playing the game as if you were playing on a console together.
Other people can also connect to the instance to either spectate or jump in the game (so you can host lobbies). This has major implications for streaming, for example, two people can stream a FT10 while a spectator streams their games--with no negative connection impact to the players.
Do I have to emulate the game?
No, the cloud setup is doing so already.
Do I need a strong computer to play?
Not really, since your computer isn't actually running the game, the cloud setup is. What you're seeing on your local computer is basically a 720p video stream of the game being ran in the cloud. You do need the bandwidth to support viewing that stream though.
How can I support this project? Can I donate?
Honestly the best thing you can do is to set up a server yourself, and publicly offer the option to play on it. We can equip you with the knowledge and resources to do so. The more people who can host, the more that the time/monetary burden is spread around, resulting in more people in more places being able to play at more times in the day.
Let me see it in action!
Here's a full-length stream of me playing with Jacko. We're connected to the Ohio instance, to which I get 85ms and he gets probably 30ms. Even though there's some minor delay on my side, it is a massive improvement over any LA-NYC connection I've ever had.
If you have any questions feel free to contact me on Twitter (@PsychoFingers) or add me on Discord (PsychoFingers#1122), after which I can invite you to the "Hot Dogs and Sake Club" Discord so we can play together.