top of page

Dev Log 06/07/2021

I have integrated the Steam API into my multiplayer framework. This took some time as it required building systems into my framework to allow users to host and join games using menus.


Firstly, I enabled the "OnlineSubsystemSteam" addon via the plugins menu and gone into the myproject.build.cs to add the online subsystem modules:



Next, I followed the link below on how to update the defaultengine.ini file:



To test if Steam is working, I created a packaged build using the test app ID 480 and sent it to a friend to be a test partner.


The packaged build contains a main menu level with options to host and join games via a user interface system. On my side on launching the build, the Steam Overlay appeared and the same happened with my test partner indicating that the steam online subsystem was online. However, the real test was making sure that hosting games worked and that clients could join them over Steam.


The test partner hosted a game first and I was able to connect to it. Below is the test level with the steam overlay displayed on their screen and a screengrab of the level:




Both the test partner and myself, were able to host and connect to each others games indicating that the framework is Steam Multiplayer capable.


Replication was taking place for both players. This includes player movements and when coin actors were picked up, the team point scores were being updated over the network.


There was an issue detected when hosting and joining other games that required a game restart to fix - this has been noted down for future reference.


The next steps will be to add more complex gameplay related content/mechanics and test how these replicate over the network. This will include:


  • Arena map - an area to test mechanics - Sandbox level.

  • Dynamic spawning actors - projectiles, enemies, pickups etc.

  • Game managers - event handlers that trigger other actions in the game world.

  • Game clocks/timers - time based systems managed by the server.

My hope is to add the content above and once local client-server model testing is done, to create a new build and test over the internet using Steam.




15 views

Comments


bottom of page