Code Monkey home page Code Monkey logo

mm26-visualizer's People

Contributors

andrew880 avatar jackducham avatar sketching101 avatar zehua-chen avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mm26-visualizer's Issues

Feature List

  • Map loading
  • Player, monster movement, removing, spawning (including teleporting)
  • Hub
  • Items on tiles

Iteration 1

ETA

  • By Sept 19, before meeting

Features

Board

  • Camera control
  • Handle portal leave
  • Death effect
  • Spawn effect
  • Portal effect

UI

  • Complete hub info
  • In game menu

Notes

Transitions

Bring prototype transitions related stuff to production ready

Iteration 0: Minimal Viable Product

Overview

  • ETA: by Sept 12, end of day

Features

Initialization

  • Basic map loading
  • Connection to a web socket server

Per Turn

  • Dispatch tasks in Director object
  • Basic character spawning
  • Basic character removal
  • Basic character moving

UI

  • Scene loader
  • Basic hub

Plan for Iteration 0

The overall goal of iteration 0 is to build a minimal working visualizer for Mechmania 2020. Below are the tasks identified as needed to build a minimal working product.

Phase 1

  • Andrew Gao: add ECS related stuff
  • Peter: implement streaming functionalities #10

Optional

  • Andrew Li & Aditya: research the following topics
    • UI
    • Amazon S3
    • Movement system
  • Map: implement a map controller that loads the map from a configuration file

Phase 2

After Andrew Gao's ECS stuff is done, we can get started working on the basic systems and UIs of the game

  • Movement system
  • UI

No specific assignees are set due to the harsh reality of college.

Iteration Maybe

Features

Features listed here are stretch goals

  • Stretch Goal Player clothes (Maybe Michelle)
    • Steps
      1. Add Monobehavior components to Player Prefab's root object
      2. Make sure the added components are configured properly in board creator
      3. Add UpdatePlayerClothesTask class in Scripts/Tasks
      4. Create a new systsem in Scripts/Systems and handle UpdatePlayerClothesTask. (Take a look at how hubs are updated)
      5. Make sure Director correctly generate UpdatePlayerClothesTask (write test case)

Investigate Transform Manipulation and UI in ECS

  • Look into how to do manipulate transform of game objects (aka entities) and update UI in ECS and Unity.
  • Look into how to do theming with UI (research Material Design Theme if you don't know what this means)
  • Start design the UI

Iteration 2

ETA

  • Sept 23

Features

  • Attack effect
  • Auto reconnect
  • Load different types of enemy (Aras)
    • Asset
    • Steps
      1. Create monster in BoardCreator
      2. Add necessary info to SpawnMonsterTask
      3. Handle SpawnMonster task in BoardUpdator
      4. Make sure SpawnMonsterTask can be generated correctly from Director (write test case)
  • Fancy board loading
    • Display treasure troves on tiles
  • Only show hubs on hover
  • Camera following
    • HubToggleSystem contains snippets for deciding if the mouse is over a player
    • Thoughts: When a player clicks (or double click) on a character, then the camera should be tracking that character; another click (or double click) should free the camera

Notes

Attack Effect

The CharacterDecision's target position tells you the, well, target position. But some weapons do splash damage, affecting the tiles around that target position. The attack_locations field in CharacterChange is a list of all positions affected by this character's attack (empty/null if they didn't attack). Does that make sense?

Data Needed by The Visualizer

State (aka. Vertex)

  • ID to represent players
  • Where players are
  • Stats of players
  • Turn number
  • Map
  • Location and state of items (if applicable)

Delta (aka. Edge)

  • Player's movement
  • Actions
  • Change in stats
  • Player deaths, new players

Plan for Iteration 1

Features

  • Playback sliders
  • Listen to >= 1 servers (testing and real-game servers) and change between scenes (battle royale scene and private scene)
  • Integrate art assets

IO

Implement data fetching

  • Websocket
    • Desktop #16
    • WebGL
  • Amazon S3
    • Desktop
    • WebGL
  • File system
    • Desktop

Iteration 3

ETA

  • Sept 25

Features

  • Add credits
  • Add tutorials
  • Add post processing
  • Add lighting effects to effects
  • Weapons
    • Asset
    • Steps: same as above

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.