INDAPlus21 / INDAPlus21/viktorrn-zhongmin-project

Initial multiplayer backend

Open
#13 0 comments 0 reactions 0 assignees View on GitHub
enhancement
Dominant language
JavaScript
Stars
0
Forks
0
PR merge metrics
No merged PRs in 30d

Description

The long-awaited backbone of the game that enables worldwide communcation. It's all right here at your fingertips!

### Socket events for the lobby
- [x] From client: Creating a room
- [ ] From client: Joining and leaving a room
- [x] From client: Start game (exclusive to first of the player list)
- [x] From server: Room updates (new joins/leaves/chats/game starts)

### Socket events while ingame
- [x] From client: Client updates (specific actions similar to commands)
- [x] From server: UI and game data synchronization updates (sent to all players at the start of intervals referred to as rounds)
- [ ] From client: Sending action updates to server

### Server handling in general
- [x] Save all game data in the room as objects with the key being the room ID
- [x] Ordered list of players (mostly so that the game can be started even if the first player disconnects)

### Server handling while ingame
Respond to the following client update headers and update the room object accordingly:
- [ ] Player has spent a die on a plane to schedule a level switch (Alternatively: Player has spent a die on an *access point*)
- [ ] Player's plane successfully destroying an enemy plane
- [ ] Handleing synchronization between server and clients

The above list is non-exhaustive and will likely change as the development progresses. Thus the issue is only used as reference for this first stage of development, and new issues should be created for future changes to the list. Actual server computation is also not considered for this list; check the box when its call-and-response template is in place.

Additionally,
- [ ] Save all die values and plane positions in the room object to prevent client-side code injection cheats
(Technically already part of the "save all data" checkbox above, but it needed to be emphasized)

Contributor guide

No contributing guide indexed for this repository

Research direction

No files, tests, or entry points are named. Start by locating the existing client and server socket handlers and room state, then compare them with the unchecked lobby, in-game, synchronization, and anti-cheating items; the issue does not define a bounded completion point because the list is explicitly non-exhaustive.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
backend, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.