Skip to content
Chris Achenbach edited this page Sep 15, 2018 · 30 revisions

The Game Object documentation (TODO later)

Planned Stuff for upcoming game features.

Roadmap for September

_ Date Goal
☑️ Mon 3 Websockets
☑️ Thur 7 Movement
☑️ Sun 9 Chat
_ Wed 12 Scrolling Map
_ Sat 15 Sprites
_ Tues 18 ...
_ Sun 23 ...

☑️ Websockets

  • connect to websocket.
  • can send and receive JSON messages.
  • add (username) to list of players online.
  • remove (username) from the list.
  • view a list of all players online.
  • get status & attributes of players from server.

☑️ Players and Movement

  • other players are visible on the screen
  • player location is updated when receiving a relevant server message
  • setPos(x,y) directly moves player
  • define a fixed tick rate.
  • all active clients are sent a game tick message
  • player.setTarget(x,y) when you click or tap on a square.
  • movements visible by other clients.

☑️ Chat

  • send/receive chat messages in a global chatroom.
  • draw chat messages above player's heads.
  • clear messages after some X amount of time.
  • add a chat bar & send button and the bottom of the screen.
  • Final Test: 2 people online can have a conversation.

Scrolling Map

  • identify certain "critical" points that trigger "map slide" events when the main player reaches them.
  • Render new MapBlocks from game data.
  • Move the MapBlocks to their correct places.
  • Update variables that are used to place players, objects, and chat boxes on the screen. Make sure there are no bugs.
  • Final Test: Able to traverse a large map from one side to the other without being bothered by rendering.

Player Sprites and Animation

  • use requestAnimationFrame() to make smooth movements between tiles.
  • add an image (or several images) that is drawn on the player canvas
  • cat walking animation as player moves
  • (experiment) try out CSS animations for changing the player image.

temporary usernames

  • use LocalStorage web APIs to temporarily save a unique username.
  • server keeps usernames attached to client connections.
  • server deletes the player object from the PlayerList when the client is disconnected.

GamePlay

  • Write down the following, and turn them into roadmarks.

NOTES:

  • simple objective.
  • requirements to complete objective.
  • challenges along the way.
  • things that will help you overcome those challenges.
  • mechanics

Clone this wiki locally