1 of 24

Project review

Team Reality

27.2.2019

2 of 24

Agenda

  • Introduction
  • Sprints 2, 3, 4, 5 & 6
  • Software demo
  • Software quality
  • Time tracking
  • Next steps

3 of 24

Introduction to the project

  • Demo MR application for the CloudXR (CloudVR) team
  • Locally rendered version + cloud rendered version
  • Maze navigation game
  • Android / ARCore
  • Performance metrics
  • Visuals

4 of 24

Sprint 2

  • Goals
    • Make the game more game-like OK
    • Improve usability and gameplay OK

5 of 24

Sprint 2

  • Backlog items
    • Basic menu OK
    • Basic traps OK
    • Shaders OK
    • Particle effects OK
    • ARCore picture recognition NOT OK (not properly integrated to rest of the project)
  • Main findings from retro
    • Commitment to time tracking (Trello & Sheets)
    • Create weekly reports
    • Code review

6 of 24

Sprint 3

  • Goals
    • Rest & enjoy Christmas OK

7 of 24

Sprint 3 🎅🎅🎅🎅🎅🎅

  • Backlog items
    • Familiarise with cloud rendering code if there’s time 🎅

8 of 24

Sprint 4

  • Goals
    • Create textures and shaders to make the game look nice OK
    • Get familiar with cloud rendering and the client’s code OK

9 of 24

Sprint 4

  • Backlog:
    • Level generation OK
    • Picture recognition NOT INTEGRATED
    • 3D models OK
    • Textures OK
    • Effects/Shaders OK
    • Cloud rendering IN PROGRESS
    • Extra tasks:
      • Animated character IN PROGRESS

10 of 24

Sprint 5

  • Goals
    • Create initial cloud rendered version NOT OK
    • Add more variety to the gameplay OK
    • Make the game more interactive OK

11 of 24

Sprint 5

  • Backlog:
    • Cloud rendered version IN PROGRESS
      • Cloud toggle BLOCKED
    • Cpu/Gpu frametime separation NOT OK (DROPPED)
    • Picture recognition integration NOT OK
    • (latency metrics) NOT RELEVANT
    • Animated character OK
    • Win-loss condition IN PROGRESS
    • Score keeping OK
    • More traps OK
  • Main retro findings:
    • Start doing systematic tests
    • Keep a log of tests

12 of 24

Sprint 5

  • Cloud rendering
    • Maze generated on server and client
    • Player inputs sent to server
    • Toggle between server and client

not yet implemented

    • Server suffering from lagging and

sent back video feed is distorted

13 of 24

Sprint 6 (currently in progress)

  • Goals
    • Create a working cloud-rendered game
    • Fix existing features

14 of 24

Sprint 6

  • Backlog items: (Currently in progress)
    • Create a working cloud-rendered implementation
    • Toggle between locally rendered and cloud-rendered
    • Integrate picture recognition
    • Finish 3D models for the maze

15 of 24

Software demo

  • Advanced procedural maze generation
  • Player character model & animations
  • Tutorials
  • Maze contents: different traps, checkpoints, goal (models & functionality)
  • Maze models, textures etc.
  • Damage shaders
  • Menu functionality: reset, back,
  • Performance metrics

  • Working Unity application running locally on Android 7 and up (assuming ARCore support from the device)
  • From the point of view of the player
  • General outline:
    • Starting up the application, finding playable surfaces, spawning the maze, moving in the maze, reaching a checkpoint, traps functionality, menu functionality, performance metrics, reset/back buttons, timer and score, maze goal.

16 of 24

Demo screenshots

17 of 24

  • Starting up the application

  • Arcore modeling the point cloud

  • Moving the device around to create a better 3D representation of the surrounding space.

  • Tutorial messages to help guide the player through the whole process
  • Surface detection with visual cues

  • Player taps on the surface to select it as a playable surface

  • Tutorial messages continue

18 of 24

  • A game world is initialized

  • Randomly generated mazes with varying shapes and sizes

  • The maze is populated with varying traps, obstacles, checkpoints and a golden chalice as a goal for the player

  • A player character is automatically placed at the start of the maze

  • The player can now move the character by using a thumbstick that appears when the player taps the screen

  • The UI is updated with score and timer displays

19 of 24

  • Player moves freely in the maze

  • Reaching a checkpoint provides the player with a chance to save progress

  • Most recent checkpoint is shown in green

  • Reaching a checkpoint for the first time increases the score counter
  • The goal is represented by a golden chalice

  • Reaching the goal regenerates the game world so that the player can play again

20 of 24

  • Tapping the cog symbol at the top left brings up the menu screen

  • The game is paused when the menu is up

  • Back buttons resumes the game and exits the menu

  • Reset button removes the current maze and brings up the plane selection GUI

  • Performance metrics -->
  • Performance metrics buttons opens technical information

  • Included in the top right and on the bottom are:
    • Frame times
    • FPS
    • Memory usage
    • System information

  • The performance is tracked in real time and visualized with graphs
  • Metrics can be turned off from the menu

21 of 24

Software quality

  • Important software attributes
    • Ease of use
    • Performance
  • Definition of Done
    • Code quality and style
    • Testing and code review
    • Customer acceptance
  • Systematic test log

22 of 24

Spent and remaining effort

Sprint #

Peter

Olli

Aleksi

Nelly

Valtteri

Tuukka

Henri

Joona

Jesse

0-2

70

59

59

72

45

65

42

16

49

3

2

10

5

0

10

12

5

30

5

4

24

36

20

18

46

23

18

15

21

5

28

23

20

25

50

21

5

6

30

6 (so far)

2

26

8

7

5

8

14

Total Spent

126

154

112

122

156

129

70

67

119

Balance from estimate

-11

19

-31

-20

21

-14

-65

-68

-30

Total remaining

99

71

113

103

69

93

155

158

106

23 of 24

Implementing Scrum

  • “Daily” Scrum
  • Sprint planning
  • Sprint retro
    • Starfish model

24 of 24

Next steps?

  • Focus on getting cloud-rendering to work properly
  • Fix and polish existing features
  • Systematic testing and logging
  • Usability testing