Skip to content

JoshuaOLoduca/ExplosionGyIO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

208 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Explosion Guy IO

Table Of Contents

Project Overview

What it is

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

Technical details

  • [/] Classic Arcade gameplay
    • [/] In house developed physics/collision system
      • Box Collision Check
  • [/] Multiplayer!
    • Server Authoritative design
    • [/] Join By Browser
    • Join By Discord
  • Lobbies
    • Lobby creation/custimization
    • Lobby browser
  • Large player count support per lobby

Features

  • 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.

History

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.

Getting Started

  1. Clone the repository
  2. Run npm install. (will auto install /packaged/client and /packages/server modules)
  3. In the /packages/server create .env based on our .env.example
  4. in the Root Directory, run npm run dev this will start both front-end and back-end.
  5. The App is reachable!
    1. The Game can be reached on localhost:3000
    2. Backend/colyseus can be reached at localhost:3001/colyseus

Core Dependencies

    "@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"

Dev Dependencies

    "ts-node": "^10.9.1",
    "typescript": "^5.2.2",
    "nodemon": "^3.0.3",
    "vite": "^5.0.8",
    "cloudflared": "^0.5.3"

About

An IO style game based on a PvP arcade-style party game

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors