https://github.com/jsolly/georoids
A multiplayer Asteroids game
https://github.com/jsolly/georoids
asteroids game typescript
Last synced: 8 months ago
JSON representation
A multiplayer Asteroids game
- Host: GitHub
- URL: https://github.com/jsolly/georoids
- Owner: jsolly
- License: apache-2.0
- Created: 2022-06-30T15:42:34.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2025-10-09T17:05:19.000Z (9 months ago)
- Last Synced: 2025-10-09T18:46:56.099Z (9 months ago)
- Topics: asteroids, game, typescript
- Language: TypeScript
- Homepage: https://www.geoasteroids.com
- Size: 9.89 MB
- Stars: 5
- Watchers: 1
- Forks: 0
- Open Issues: 22
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GeoAsteroids
[](https://github.com/jsolly/GeoAsteroids/actions/workflows/onMain.yml)
[](http://badges.mit-license.org)
A 2D spaceship game, Geoasteroids.com
---
## Table of Contents
- [Installation](#installation)
- [Features](#features)
- [Contributing](#contributing)
- [Support](#support)
- [License](#license)
## Installation
1. (Install Node.js)
2. (Install MongoDB) (Or use a cloud service like MongoDB Atlas)
```shell
$ git clone git@github.com:jsolly/GeoAsteroids.git
$ cd GeoAsteroids
$ npm install
```
## Setup
```shell
$ cd /bin
# Start MongoDB Server Locally (Or use a cloud service like MongoDB Atlas)
$ ./mongod --dbpath
$ mongo # Or use a GUI like MongoDB Compass
$ use geoasteroids
$ db.createCollection("highscores")
# Check src/database.ts for connection string
$ vercel dev # Allows us to mock serverless functions locally
```
## Development
### Multiplayer Development Setup
For local multiplayer development, use the following commands:
```shell
# Run all development servers (Vite + WebSocket)
npm run dev:full
# Run individual servers
npm run dev # Vite dev server (port 5173)
npm run dev:multiplayer # WebSocket server (port 3001)
```
## Tests, Linting
### Test
```shell
npm run test
```
### Linting (with Biome)
```shell
npm run lint
```
- Biome is now configured using `biome.jsonc` for fast, reliable linting and formatting.
- The old ESLint configuration has been removed in favor of Biome's unified approach.
- To update rules or configuration, edit `biome.jsonc`.
---
## Contributing
Want to work on this with me? DM me on X `@_jsolly`
### Step 1
- **Option 1**
- 🍴 Fork this repo!
- **Option 2**
- 👯 Clone to your local machine using `git@github.com:jsolly/GeoAsteroids.git`
### Step 2
- **HACK AWAY!** 🔨🔨🔨
### Step 3
- 🔃 Create a new pull request using `https://github.com/jsolly/GeoAsteroids/compare`.
---
## UML Diagram

---
## License
[](http://badges.mit-license.org)
- **[MIT license](http://opensource.org/licenses/mit-license.php)**