Skip to content

SamanthaClarke1/ships.io

Repository files navigation

Neutronic

// https://github.com/Samuel-Clarke123/ships.io.git

A simple web game, hosted on nodeJS using Sockets.io.

TODO / RoadMap

  • Ship, sea, base code, actors, etc implemented (proj init)
  • Boundaries implemented
  • Timestep implemented
  • 'Attraction' implemented (like traditional velocity, gets added to the force of an actor in update(), it's a 2dVec)
  • 'Attraction' also effects angle
  • Possibly even split the actor into two classes: simple actors, and dynamic actors (dynamic actors inherit from simple actors), but have more physics stuff implemented, like boundaries, drag, attraction, collision.
  • Collision code implemented for actors (just detecting collision, for now)
  • BlackHole can spawn, exist, and be drawn.
  • BlackHole can attract Actors
  • BlackHole gets activation timer
  • BlackHole gets different drawings/colors for activated/deactivated
  • Ship spits out actors parented to the ship
  • Ship spits out BlackHoles parented to the ship
  • <<< play test >>>
  • Ship death function implemented (goes invisible (except for death anim) and collision/shooting gets disabled)
  • Ship dies on collision with activated BlackHoles
  • <<< play test >>>
  • Decay code for BlackHoles
  • Merge code for BlackHoles
  • <<< play test >>>
  • Un-interactable stars get generated for drawing (just on the client side!)
  • Un-interactable stars get better decoration and drawing
  • Pulse effects for BlackHoles
  • More particle effects
  • Fix up the HTML
  • Fix up the game rendering (its just 500x500, static rn)
  • <<< play test >>>
  • Revise the velocity system
  • Add a menu system
  • Track player names
  • Add support for name selection to the menu system
  • Add support for room selection to the menu system
  • Start tracking "invisJumps".
  • Start displaying "invisJumps".
  • Start tracking power presses / actually using invisJumps
  • Change how a ship is displayed whilst invis
  • Make invis players ignore physics / death
  • Award invisJumps to players when they kill other players
  • Add a scoreboard to the game
  • Add a display to the scoreboard
  • Revise the menu system
  • Cap name lengths
  • <<< Consider other options for this README, and consider the lasers, and if we want that to be a thing >>>

Sea

Main refers to either server.js or client.js, they both control the game, only client.js draws. Server.js consistently receives updates, and sends those updates out to the clients. Main controls a sea object, which holds the majority of the game. Sea holds boats, and islands. Boats hold missiles

Actors, in general, assume a vel and an ang. An update func, and a draw func. An importState, and an exportState

\ ゜o゜)ノ

About

A ship io game using sockets.io

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •