A classicly inspired party game, designed with modern day interactions in mind!
This Game is designed to work both in the Discord Activities (OAuth), and in the browser. The end goal is to create a .IO game that allows for large player size lobbies that support drop-in joining.
Breakdown of contributions:
Josh - Code!
Matt Hackett of Lost Decade Games, Cem Kalyoncu, and /usr/share - Placeholder art
game-icons.net - Powerup Icons
- [/] Classic Arcade gameplay
- [/] In house developed physics/collision system
- Box Collision Check
- [/] In house developed physics/collision system
- [/] Multiplayer!
- Server Authoritative design
- [/] Join By Browser
- Join By Discord
- Lobbies
- Lobby creation/custimization
- Lobby browser
- Large player count support per lobby
- Designed with cheat prevention in mind
- Arcade gameplay
- Multiplayer!
- Power ups!
- Bomb Placement Increase
- Bomb Explosion size Increase
- Bomb Damage Increase
- Bombs can be used to detonate other bombs! scales with damage
- Player speed!
- Partly designed to be usable at extreme upgrade levels, but remaining faithful to the original arcade game, these become downgrades once you get too much.
ExplosionGyIO has been my "Why hasnt this been done yet" idea for the past year, but havent had the time to start work on it until recently.
The goal is to first create an MVP that is fun, and usable by discord activities.
Although there are a lot of available tools for game dev, I tend to keep things minimal while learning. This means dealing with collisions manually/in-house. This could change after the MVP is finished.
- Clone the repository
- Run
npm install. (will auto install/packaged/clientand/packages/servermodules) - In the
/packages/servercreate.envbased on our.env.example - in the Root Directory, run
npm run devthis will start both front-end and back-end. - The App is reachable!
- The Game can be reached on
localhost:3000 - Backend/colyseus can be reached at
localhost:3001/colyseus
- The Game can be reached on
"@discord/embedded-app-sdk": "^1.4.3",
"colyseus.js": "^0.16.0",
"phaser": "^3.87.0",
"colyseus": "^0.16.0",
"@colyseus/monitor": "^0.16.0",
"@colyseus/schema": "^3.0.0",
"@colyseus/uwebsockets-transport": "^0.16.0",
"@colyseus/ws-transport": "^0.16.0",
"express": "^4.17.1",
"http-proxy-middleware": "^2.0.6",
"uwebsockets-express": "^1.2.2" "ts-node": "^10.9.1",
"typescript": "^5.2.2",
"nodemon": "^3.0.3",
"vite": "^5.0.8",
"cloudflared": "^0.5.3"