DEV Community

loading...

Avalon Online

fitzmill profile image Sean Fitzgerald ・2 min read

My Final Project

The last project I made after classes were put online due to COVID-19 was an online version of "The Resistance: Avalon," a board game my friends and I played throughout college. This idea has already been implemented by other people, see avalon.fun, but it still seemed like a fun idea and an opportunity for me to learn something new. It was a fun project and I'm proud of my solution.

Demo Link

avalon.seanfitzgerald.dev

Link to Code

https://github.com/fitzmill/online-avalon

How I built it

The full stack is PostgreSQL, .NET Core 3, and Vue.js. Each player is synced with the server in real-time using Microsoft's SignalR library which was what I focused on learning for this project. The hardest part was handling player disconnects and reconnects since the way it should be handled varied widely on what role the player has and what state the game is in. Also, trying to manage the entire game server side since I didn't want the player to have access to more information than they should be allowed to have about the game.

Additional Thoughts / Feelings / Stories

It was fun to build something as a distraction while waiting for the world to calm down. Even though the pandemic isn't over and I'm pausing development for the moment, I'm glad I took the time to build it.

Discussion (0)

pic
Editor guide