Skip to content

Latest commit

 

History

History
105 lines (82 loc) · 3.88 KB

README.md

File metadata and controls

105 lines (82 loc) · 3.88 KB

Pioned

Project for CS 4644 Creative Computing Capstone.

Credits

Forked from Mozilla's starting code.

Tilemap graphics and sprites created by Onimaru.

Map generation algorithm based on example by Mr Speaker.

Favicon created with favicon.io.

Music by Abstraction (on itch.io).

Getting started

Install yarn here.

First run yarn to install dependencies.

Use yarn client to start the development server. It will be running at localhost:8080.

To run the game server (for development), use yarn server.

To do both at once, use yarn start. (Recommended)

Running in Production

To create a build, run yarn build.

To run the game server, use yarn serve.

This Week

Parker

Jack:

  • Display chat messages above player who sent it (if visible)
  • Chat log (enter reveals previous messages, up to some limit)

Chris:

Todo

  • Fix collision detection bug with low FPS
  • Make it a unique game object which follows player (instead of just drawing it)

Ideas

  • Nighttime/daytime
  • Use cookies to save player state to prevent constant refresh for new character
  • Objectives/Rewards:
    • Get fire ability for completing all objectives
    • Pyromaniac: burn bridges
    • Don't allow anyone to visit your home island
    • Give another player a flower
  • More world events
    • Volcanic eruption rains fire and takes out bridges

Completed Tasks

  • Add movable player
    • Fix camera movement with respect to player
  • Render all characters in the game
  • Deploy real server to test on multiple machines
  • Store the map server-side and allow players to edit the map
  • Built-in chat
    • Also can print info and error messages here (e.g., player joined, disconnected from server)
  • Map mutability
  • Map generation
  • Better aesthetics
    • Find character images.
    • Add direction and walking animations
  • Make game canvas entire window dimensions, add resive event listener, overlay chat
  • Server: Track the discreet islands
  • Server: Decide where players start (balance on islands)
  • Track which islands player has visited (for potential objective; e.g., player needs to build a bridge to new island, travel to 4 islands, etc)
  • Inventory
  • Destroy trees to get wood
  • Be able to place bridges
  • Draw outline around square that will be changed
  • Collision detection (including trees)
  • Player chat system
  • Performance: only draw visible characters
  • Performance: only redraw map if parts of the visible map changed (socket messages)
  • Show what is currently selected in the inventory
  • Enter to select item in inventory
  • Fix removing wood on top of water bug
  • Spawn trees at certain time intervals
  • Add Objective System
    • Create at least 3 different unique objectives
      • Visit randomly numbered Island
      • Visit 3 different Islands
      • Come into contact with n other players
        • Implement Player Collision
  • Fix player spawning on single or few blocks
  • Draw current objective above selected item (just name)
  • Get favicon working on server
  • Objective completion rewards:
    • The Wanderer: permanent speed boost (visual: boots/indicator)
    • Mister worldwide: +0.n chance for extra wood
    • Social butterfly: Pet butterfly
    • Visual text for receiving rewards
  • Consecutive objectives:
  • Objective Tracking (i.e., show stats about how much left to do until completing objective)
  • Fix Wood on Water Deletion Bug