Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


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



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


  • 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


  • watch ad to get upgrade, or micro-transaction or donate cup of coffee
    • how do other guys do it
  • 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


  • 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


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


Multiplayer Shootem-up






No releases published


No packages published