A dev/ops engineer builds a game
..and a session server
..and a cloudformation stack1
🔌 Let’s connect! 🌐
- Online play now exists, but games go out of sync.
- Will is now open source
- I’ll work on WASM support in Amethyst for 6 weeks, then likely have a break from this project.
You can now play online.. ..kind of 😛!
The new version can be downloaded on itch.io.
A rough attempt at online play is available for up to 16 players in the same session. However, there is no synchronization between devices, so in this version they can be out of sync when receiving packets at different times.
The original plans for additional content were replaced with online play.
Players can play with each other through the Network Game mode. One player chooses to host the session, and other players may join the session using the 4 letter code that the host receives.
⚠️ Warning: No synchronization is done between game clients, so games can go out of sync very quickly. For lower latency, you may wish to set up your own session server.
Control input into the game is first sent to the server, then broadcasted to everyone in the same session. Each game client may receive the control input messages at different times, and the game doesn’t yet know to wait for everyone to be ready before continuing.
The game session server is in North Virginia – eastern US. If you live far from there, it will take longer to send your control input to the server, as well as receive it back.
You can check the latency of the connection using the
$ ping 188.8.131.52 PING 184.108.40.206 (220.127.116.11) 56(84) bytes of data. 64 bytes from 18.104.22.168: icmp_seq=1 ttl=30 time=282 ms 64 bytes from 22.214.171.124: icmp_seq=2 ttl=30 time=308 ms ^C --- 126.96.36.199 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1000ms rtt min/avg/max/mdev = 282.400/295.140/307.880/12.740 ms
Hint: Smaller round trip time (RTT) is better, ideally less than 50 ms.
ℹ️ Instructions on running your own session server will be posted at a later date.
This has been on my mind for a while, but I wanted a number of things done before opening it up:
- Development guide to be written.
- Contribution guidelines to be written.
- Cross OS hosted CI with vulkan support (or, remove vulkan requirement from tests).
- Figure out how to earn money.
I haven’t really done any of that, but remaining time for this project is short, so might as well 🦀.
There are two repositories to play with:
autexousious: Code for Will and the session server.
will_assets: Default assets that are being shipped.
Feel free to open issues in the
autexousious repository if you have a question.
In the next cycle, I’ll attempt to get the game to run in the browser as a Web Assembly application, then it may be time to put this dream aside 🙂.
If you would like to support me, you could:
- I did not actually write a cloud formation stack; I manually created a server in the web console. [return]