VTOL VR is a singleplayer flight game on steam. One of the big reasons I started creating a mod loader was to have a go at adding in multiplayer into it with hopefully it being the main multiplayer with mods as well. The solo developer of the game had stated that he didn’t want to start working on multiplayer or mod support till the game had been released out of early access.
Once the mod loader was barely functional I started the multiplayer mod. As this being a mod I had very limited tools and couldn’t easily just press play from a scene inside the Unity editor. I had to launch the game, wait through the cut scene and get to the point I wanted to test. This made it a lot harder but I enjoyed the challenge.
I first started with a networking solution called DarkRift 2. Users would host a server and then connect that with their clients. This meant there could be 24/7 servers with large amounts of players (the dream). As I first started to make progress on this, I came to realise as the server was just a standalone application, it knew nothing about the game like AI’s paths for that scenario, objects etc. So I opted for a simpler approach which would be peer to peer networking. (All the earlier videos I created and linked below were at this stage of development)
A user would host the game then people would join them and the host’s game handed the scenario, ai, objectives etc. I tried using Forge Networking Remastered as I have got experience in using that before inside of Unity, however, it heavily requires to be set up inside the editor and I couldn’t manage to get it modded in. So I ended up using Steam’s built-in P2P system in SteamWorks.
I made a lot of progress using SteamWorks. I got players vehicles synced, positions (fighting against a floating-point system), and weapon load-outs and shooting of bullets, not missiles. However, when the mod loader started growing in popularity, I started realising all the flaws in it and how hard it was for users to create and share mods. So at the end of February, I stopped working on it to focus on improving the Mod Loader experiense.
As there was so much demand for it, people kept “googling” vtolvr multiplayer and coming across my repo and didn’t understand why they couldn’t download it. I ended up making the repo private to stop the constant messages. Some users did happen to fork it before I set it private and in the past month, some people have continued where I left off.
As of the 22nd of August they have released the multiplayer mod. I have now been helping them if they get stuck with something with Unity or C# in the public modding discord.
Here are some early video clips of the progress I made
- VTOL VR MP Testing Fast speed (08 Jun 2019)
- VTOL VR MP: Networking other players (25 Jun 2019)
- Multiplayer flight test (26 Jun 2019)
Gif of Ketkev’s point of view when just testing positions
|Languages and Tools
|C#, Visual Studio
|Ingame Mod Loader
|dnSpy, UTinyRipper, Unity
|Decompiling/Viewing the game
The final image made for the mod page on vtolvr-mods.com