Sprint #2 - Daily Scrum #03
Product: Tetris2P AI
Sprint Summary
Daily Objectives
- Have game loop structure created, and draw the tetris grid
- Have high level descriptions of OOP objects along with methods
Notes
For periodic events, use delta to make sure everything runs appropriately fine
Pulling from this example
Game Objects/Scenes(?):
- Game Server
- Game Client Instance
- Scenes: Main Menu, Game Interface, Settings
- Game Interface/Scene
- Tetris Match Instance
- Score
- Lines Sent
- Piece Held
- [Essentially Match Instance Variables are held here]
- What about 1v1 game’s though?
- Differentiate Match and Tetris Instance
- Game Grid
- Grid of colors
- Pieces Queue
- Current Piece
- Anchor
- Piece Grid
- Tetris Match Instance
I need a refresher for how ‘Prototype’ works in javascript
MainLoop.js Use Guide
- MainLoop.setBegin(): the begin function runs at the beginning of each frame and is typically used to process input.
- MainLoop.setUpdate(): the update function runs zero or more times per frame depending on the frame rate. It is used to compute anything affected by time - typically physics and AI movements.
- MainLoop.setDraw(): the draw function should update the screen, usually by changing the DOM or painting a canvas.
- MainLoop.setEnd(): the end function runs at the end of each frame and is typically used for cleanup tasks such as adjusting the visual quality based on the frame rate.
- draw.interpolationPercentage is the the cumulative amount of time that hasn’t been simulated yet, divided by the amount of time that will be simulated the next time update() runs. Useful for interpolating frames.
- How is this used? This is only important for non discrete positions, so since all objects are being drawn on a grid, this variable is unnecessary!
Objectives Completed
-
read through documentation and use guide for MainLoop.js
-
Listed out necessary gameObjects and scenes for the Tetris game
-
set up example javascript class for creating gameObjects with MainLoop.js
Plans for Tomorrow
- Create game interface, and frame/create pseudocode and update loops