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