
Snack Stack
- Techniek
- MonoGame · C#
- Team
- 4 personen
- Duur
- 10 werkweken
Aanleiding Wij kregen vanuit school de opdracht om een game te bedenken die je op een grid speelt en waar multiplayer in verwerkt zit. Na lang nadenken kwam ik met het idee om een soort 4 op een rij te maken waarbij het grid om de paar rondes draait. Dit idee vonden wij zo leuk dat wij deze game zijn gaan maken.
De game Het spel is grotendeels gebaseerd op 4 op een rij. Maar als beide spelers 4 zetten hebben gedaan, draait het bord een willekeurige kant op. Als er een zet is gedaan, gaat de beurt naar de andere speler. Dit wordt ook naar de server gecommuniceerd en in de database opgeslagen.
Mijn rol Ik heb de hele multiplayerkant van de game gemaakt. Ik heb ervoor gezorgd dat er kamers gemaakt kunnen worden, dat je een kamer kunt joinen en dat de game start als er 2 mensen in zitten. Ook heb ik ervoor gezorgd dat je een zet kunt doen en dat de beurten wisselen tussen de spelers. Daarnaast kun je chatten met je tegenstander en een emote sturen om je tegenstander uit te dagen. Ook heb ik het hoofdmenu van de game gemaakt.
Beide spelers laten weten wie er aan de beurt is
Na een zet wisten de twee spelers niet altijd van elkaar wie er aan de beurt was. Daardoor liep het spel uit elkaar. Ik heb dit opgelost door het wisselen van de beurt ook via de server te laten lopen, zodat beide spelers dezelfde stand krijgen.
Daarnaast kon er maar één zet in de database worden opgeslagen, omdat elke nieuwe zet de vorige overschreef. Met een auto-increment op de tabel krijgt elke zet een eigen rij.
Terugblik De multiplayer- en serverkant was helemaal nieuw voor me. Juist daarom vond ik dit project leuk: ik heb me verdiept in een deel van programmeren waar ik nog geen ervaring mee had.
Speel in de browser Download (Windows) Designdocument Multiplayer Designdocument Hoofdmenu- Tech
- MonoGame · C#
- Team
- 4 people
- Duration
- 10 working weeks
Background School gave us the assignment to come up with a game played on a grid, with multiplayer built in. After a lot of thinking I came up with the idea of a kind of Connect Four where the grid rotates every few rounds. We liked the idea so much that we decided to build it.
The game The game is largely based on Connect Four. But once both players have made 4 moves, the board rotates in a random direction. After each move the turn passes to the other player. This is also sent to the server and stored in the database.
My role I built the entire multiplayer side of the game. I made it possible to create rooms, join a room and start the game once 2 players are in it. I also made sure you can make a move and that turns switch between the players. On top of that you can chat with your opponent and send an emote to taunt them. I also made the game's main menu.
Letting both players know whose turn it is
After a move, the two players didn't always agree on whose turn it was, so the game got out of sync. I solved this by also handling the turn switching through the server, so both players get the same state.
There was also a problem where only one move could be stored in the database, because every new move overwrote the previous one. With an auto-increment on the table, every move gets its own row.
Looking back The multiplayer and server side was completely new to me. That's exactly why I enjoyed this project: I dug into a part of programming I had no experience with yet.
Play in the browser Download (Windows) Design Document Multiplayer Design Document Main Menu