Skip to content

Latest commit

 

History

8 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Void Client

Void Client is a work-in-progress rewrite of the Starblast.io game client.

The goal is to rebuild the client-side part of the game from scratch, using my own code, after studying and understanding how the network protocol works.

The current version includes a simple web menu, local WebSocket communication, game mode selection, custom game links, and server-side network helpers.

Features

  • Simple browser menu to start a game
  • Game mode selection: team, survival, invasion, and deathmatch pro
  • Custom game link support
  • Team selection flow for team mode
  • Local WebSocket connection between the browser and the Node.js server
  • Server discovery and ping comparison logic
  • Basic packet parsing and game data export

Tech Stack

  • JavaScript
  • Node.js
  • Express
  • ws
  • HTML
  • CSS

Project Structure

Void-Client/
├── src/
│   ├── public/
│   │   ├── css/
│   │   │   └── style.css
│   │   ├── html/
│   │   │   └── index.html
│   │   └── js/
│   │       └── index.js
│   └── server/
│       ├── network/
│       │   ├── FindGame.js
│       │   ├── JoinGame.js
│       │   └── gameData.js
│       └── server.js
├── package.json
├── package-lock.json
└── README.md

Installation

Clone the repository:

git clone https://github.com/Senko74/Void-Client.git
cd Void-Client

Install the dependencies:

npm install

Running the Project

Start the local server:

node src/server/server.js

Then open the app in your browser:

http://localhost:9000

For development, you can also run the server with nodemon:

npx nodemon src/server/server.js

How It Works

  1. The browser connects to the local server with WebSockets.
  2. The player chooses a game mode or enters a custom game link.
  3. The Node.js server looks for a valid Starblast.io game server.
  4. If the selected mode is team, the client asks the player to choose a team.
  5. When the connection is ready, the client switches from the menu to the game canvas.
  6. Some received network packets are parsed and exported as JSON.

License

This project is currently marked as ISC in package.json.

About

Void Client is a work-in-progress rewrite of the Starblast.io game client. The goal is to rebuild the client-side part of the game from scratch, using my own code, after studying and understanding how the network protocol works.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages