Skip to content

dested/OrbitalGa.me

Repository files navigation

OrbitalGa.me

Goals

  • Infinite horizontal world
  • Constantly scrolling forward
  • Server generated enemies, powerups, and events
  • Goal is to stay alive and generate the most points
    • Leaderboards

Todo

Features/Bugs

  • improve bot logic
  • why do things get so jumpy when it lags
  • add audio
  • add server kill switch to boot everyone out
  • server is offline, play with bots locally
  • remove leaderboard from spectate
  • take interactive video or picture of everyone playing
  • add score on death screen
  • fix collisions of shots
  • add rotate to bounding box
  • add client side collisions better
  • fix explosion animation
  • get rid of explosion and make things light up when hit?
  • dying and reviving does weird things, health bar wiggled too
  • add arrows to direct you to where the action is
  • make game ui better
  • hard to go straight left with nipplejs
  • add server throttling
  • add latency tracking
  • refactor entity constructor to make easier entity creation
  • cluster size never scales back down after 400 users?
  • figure out ghost players
  • make keyboard wasd
  • better grouping of players and enemies
  • optimize server
  • only send data for livePlayer vs non
  • validate input sequence number, assure they can't send garbage negative, etc
  • add ping
  • disconnect player for prolonged inactivity
  • disconnect player for delayed pingpong
  • test server version
  • import all assets
  • add momentum to rocks
  • make collisions work better, faster tick?
  • abstract shield better, player keeps taking damage
  • make collision more abstracted
  • fix shots being tied to entity xy
  • revive does not work
  • abstract interpolate entities
  • better death animation
  • moving goes out of sync on mobile, i think its moving faster
  • figure out mobile jitter, https://bugs.chromium.org/p/chromium/issues/detail?id=1068769
  • add death animation
  • fix shot offset in shot to be x,y and owner
  • add bots to client
  • take damage
    • die
  • deploy singleplayer support
  • connect on login screen
  • show game in background of login, add spectator mode to server
  • support drawing bounding boxes in debug
  • garbageless client tick
  • add server version
  • add collisionless entities
  • add shake screen effects when attack

Game Rules

  • watch other shmups
  • come up with realtime events
    • big bosses every 5 min
    • countdown to next boss event
  • abstract game events into a class
    • register event at tick?
    • puzzles solve together like a maze blow up walls game event?
  • need much better enemy variability
  • add player upgrades, unlock
  • add badges to player
  • add leveling like mario maker?
  • you level up exp all the time, get stronger, so do enmeis, they chase you
  • add score entity
  • add laser spray
  • add time based weapons
  • add laser upgrade
  • add fire to rockets
  • add fire to player ships
  • drop power-ups from enemy
  • drop power-ups from debris
  • add power-ups
    • two clones fight with you?
  • add shield upgrades
  • add rocket
  • abstract weapons
  • add death effect
  • add a concept of enemy types, better abstraction
  • add shields
    • you always have shield that regens but also upgradable
    • add shield power up
  • support for player color
  • add multiple enemy colors
  • better rock debris
  • add rock debris

Infrastructure

  • build server montorinng ui, auth endpoints
  • checks for servers, spins one up?
  • add login, register ui
  • add license to repo
  • test what happens if server crashes on aws
  • add monitoring server to watch things happen
  • once the average duration (over 10 ticks) goes above a threshold, take server out of rotation
  • If you use this code let me know! it's not required I'm just curious
  • write better readme describe architecture
  • make sure disconnect and kill work
  • server level leaderboard
  • global leaderboard
  • add lambda for join/etc
  • add login, login anon, register api
  • add analytics to server to see users connected, enemies, etc

Money

  • watch ad to get upgrade, or micro-transaction or donate cup of coffee https://www.buymeacoffee.com/
    • how do other guys do it itch.io
  • let streamers create their own server and send their own waves of enemies until everyone dies?????????
  • for huge streamers 500 people play across 10 servers, same script tho
  • Add analytics
  • buy ads
  • watch video ad start at level 5

old

  • figure out multiplayer jumpiness on move
  • validate buffer so client get send garbage, try catch and boot user
  • move byte buffer code into individual entity
  • refactor clientGame to be more dynamic and support adding entities easier
  • determine screen size
    • scaling
    • cant go off the screen
  • better kenney assets
  • shot explode effect
  • gun shooting offcenter when youre moving
  • add momentum to movement
  • alternate left right on shot
  • better mobile support
    • add mouse movement
    • add full screen rotate code
  • binary transfer
  • better background
  • refactor code
    • better separation
    • proper draw
    • add better bounding box for collisions
  • clean up serialize, worldstate, buffer builder
  • make it easier to add things add entities and sync fields
  • add worldstate filtering
  • build bots
  • load test
  • deploy to beanstalk
  • determine how to scale up servers dynamically

Groupings

Ideal grouping is 3 players per screen width, try to force this as much as possible, ai and user placement should always enforce this balance

About

Multiplayer Shootem-up

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages