lerpz the rocketeer n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Lerpz The Rocketeer PowerPoint Presentation
Download Presentation
Lerpz The Rocketeer

Loading in 2 Seconds...

play fullscreen
1 / 52

Lerpz The Rocketeer - PowerPoint PPT Presentation


  • 72 Views
  • Uploaded on

Lerpz The Rocketeer. Beat It! Games VIVA CS4343 – AY2010/2011 Semester 2. Overview. Full Game 12 levels 2 mechanisms Leaderboard for added incentive No major bugs, minimum minor bugs Full integration with Server Complete data collection and analysis

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Lerpz The Rocketeer' - yvon


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
lerpz the rocketeer

LerpzThe Rocketeer

Beat It! Games

VIVA

CS4343 – AY2010/2011 Semester 2

overview
Overview
  • Full Game
    • 12 levels
    • 2 mechanisms
    • Leaderboard for added incentive
  • No major bugs, minimum minor bugs
  • Full integration with Server
  • Complete data collection and analysis
  • Completed observed experiment with 16 testers
  • Collected 50 online player data
jie hui

Jie Hui

Producer

QA Lead

Experiment Lead

jie hui producer
Jie Hui – Producer
  • Weekly meetings
    • Recording minutes
    • Keeping agenda
    • Tracking progress
    • Keeping members updated with status of projects
  • Reports and presentations
    • Keeping documentation of the design process
    • Drafting of reports
    • Led presentations
jie hui qa lead
Jie Hui – QA Lead
  • Tested builds extensively as soon as they are out
  • Tested data collection in games whenever possible
  • Helped in design process to ensure design stays true to research
  • Drafted test plans and test cases
  • Led the first iteration of game testing
  • Drafted side documents for any possible additional features for game
    • Side story
jie hui experiment lead
Jie Hui – Experiment Lead
  • Designed and built website to host game
    • www.crashstart.com/rocket
  • Researched on academic papers for references
  • Drafting of game questionnaires and feedback forms
  • Led final experiment process
    • Recruitment of testers
    • Scheduling of testers
    • Collation of data
    • Data crunching
    • Analysis of data
jie hui challenges
Jie Hui - Challenges

Keeping track of what 3 people are doing all at once

Keeping to deadlines

Designing a novel test procedure for games research

luo lan

LuoLan

Programmer

GUI Artist

luo lan contributions
LuoLan - Contributions
  • Data Collection
    • Database Design
    • Jump Data Collection
  • Login & Sign up System
    • Data retrieve
    • GUI Design
    • Function implementation
  • Menu & Ranking System
    • GUI Design
    • Function implementation
  • Feedback & Profile
    • Database
slide10

LuoLan - Database Design

Attempt_ID

password

Level_ID

Jump_ID

track

From Platform

name

ID

From world coordinate

does

Player

1

N

Jumps

To Platform

Feedback

To world coordinate

Profile

N

sort

Angle

1

time

Score

NO. of Attemps

ID

name

Level_ID

timeTaken

slide11

LuoLan - Database design

Player:

Jumps:

Score:

luo lan jump data collection
LuoLan - Jump Data Collection
  • Pass jump data from Unity3D to PHP script after player completes or skips the level. (unityPHP.js)
  • Process jump data in PHP script and insert into database.

(rocket_try.php)

  • Update the number of attempts in player table and score table. (rocket_try.php)
luo lan data retrieval
LuoLan - Data retrieval
    • Group all players jump records by levels. (level_Info.php)
  • Separate expert group and novice group by score for each level. Score is computed from time and NO. of attempts .

(rank_final2.php)

  • Calculate total number and average of success jump and fail jump for each obstacle, grouped by expert and novice.

(num.php)

  • Calculate average time taken for each obstacle, grouped by expert and novice. (timeTaken.php)
luo lan login sign up system
LuoLan - Login & Sign up System
  • GUI Design
  • Unity3D GUI Component,
  • GUIStyle
  • Button, background image
luo lan script
LuoLan - Script
  • Get player name and password from Unity GUI and pass data to PHP script.
  • PHP script connect database and check the uniqueness and validness.
  • Create a new account in player table and a new table of jump records if player’s name has not been used.
  • Return the track number and all levels’ complete status.
  • (login.js)
  • (rocket_logsign.js)
luo lan menu ranking system
LuoLan - Menu & Ranking System
  • GUI Design
  • Layout, Unity3D GUI Component, GUIStyle
  • Button, background image
luo lan script1
LuoLan - Script
  • Get player information which include name, track and level completed status from database through PHP script.
  • Calculate and display correct layout according to track. If track is “jump first”, the “Rocket Launcher” column should place at left. If track is “rocket first”, the “Jet Pack” column should place at left.
  • Calculate and display correct button type (“attempted”, “completed”, “unlocked”, “locked”) according to level completed status data.
  • Highlight the “recommend level” button by red glow.
  • Get sorted score for a particular level from database through PHP script.
  • Display the ranking table with the current player name highlighted. When player clicks the level button, the ranking result of this certain level will be shown.
  • MainMenu_backup.js
  • rocket_menu.php
  • rocket_rank.php
luo lan feedback profile script
LuoLan - Feedback & Profile Script
  • Send data of feedback and profile to PHP script.
  • PHP script inserts values to database.
      • unityPHP.js
      • rocket_feedback.php
      • rocket_profile.php
luo lan difficulty challenge
LuoLan - Difficulty & Challenge

Compatibility for different Web Browsers

kenny

Kenny

Designer

QA

kenny contributions
Kenny - Contributions

Conceptualising on the possibility of using rocket jump mechanic as a gameplay mechanic in a 2D side-scrolling platformer.

Identifying the possible types of obstacles and platforms that will be clearable by both jumping mechanisms without any biasness as much as possible

kenny balancing levels and mechanics
Kenny - Balancing Levels and Mechanics
  • Balancing both jump mechanics by tweaking parameters such that they take almost the same time to complete each stage
  • The level design - incrementally introducing new elements in each stage to allow progressive learning for players
kenny stage 1
Kenny - Stage 1

Learning Horizontal Jump

Increased Horizontal Jump achieved by

-> Run and Jump (conventional jump)

-> Move and Fire rocket (rocket jump)

kenny stage 2
Kenny - Stage 2

Learning Vertical Jump

-> Aiming the rocket almost perpendicularly to the ground

Boxes act as soft cushion to prevent player from falling

kenny stage 21
Kenny - Stage 2

Learning to fire off at the opposite direction

kenny stage 3
Kenny - Stage 3

A hybrid of Stage 1 and 2

Introduction of Laser Traps

kenny stage 4
Kenny - Stage 4

Introduction of moving platforms

kenny stage 5
Kenny - Stage 5
  • Combination of moving platforms and laser traps puzzle element
  • ‘Rhythm’ jumpsfrom platform to platform
kenny stage 6
Kenny - Stage 6
  • An unstable platform randomly moving in the y-axis
  • Many gaps with lesser ground to stand on
  • Longest stage to test on player’s endurance
kenny aesthetics
Kenny - Aesthetics

An overall sci-fi theme to suit Lerpz’s outfit

Dissembling and assembling pre-existing assets to be appropriately used for level design

indirectly telling a story through the use of props
Indirectly telling a story through the use of props

Escape from jail to finally arriving at the spaceship

slide32

Indirectly telling a story through the use of background props

Progressing from a seemingly deserted environment to an urban city

kenny aesthetics1
Kenny - Aesthetics

Using clouds to make background objects less obvious

Applying random movement to the clouds to make the environment more vibrant

kenny aesthetics2
Kenny - Aesthetics

Other minor polish to enhance usability

Arrow Sign

Back-end particle trail

Rotating glow on goal

kenny other individual contributions
Kenny - Other individual contributions

Writing the kind of tips that will be triggered on certain platforms to aid player’s progress

Helping QA with playtesting sessions

Helping Experiment Lead with Observed Experiment testing sessions

Looking at other possibilities of having stages/obstacles built specifically for rocket jumping (but was not implemented at the end)

esther

Esther

Programmer

QA

esther rocket launcher direction controls
Esther - Rocket Launcher Direction Controls

Rocket launcher obtained from Unity FPS tutorial

Uses RotateWithMouse.js to change launcher direction according to mouse position

esther rocket launcher direction controls challenges
Esther - Rocket Launcher Direction Controls: Challenges
  • Confused launcher direction behavior
    • Finally discovered that the X-Y plane of the mouse screen coordinates had to coincide with X-Y plane of camera movement in world coordinates after much trial and error
  • Determining the appropriate character and launcher direction behavior
    • Determining the most appropriate input priority
    • Determining character direction vs. launcher direction
    • Many rounds of testing required
esther rocket propelling
Esther - Rocket Propelling
  • RocketLauncher.js modified to add PropellingForce(), used to add an equal and opposite force to weapon holder
    • Also calculates angle information with necessary offsets for shift data collection
  • Rocket.js modified to activate PropellingForce() upon collision explosion after a valid distance check (minImpactDistance)
esther rocket propelling challenges
Esther - Rocket Propelling: Challenges
  • Propelling force initially set to be called upon launcher firing
    • Several rounds of testing revealed exploitable recoil effect
  • Many rounds of testing required to determine suitable propelling speed and fall speed to match conventional jump mechanism
  • Finding appropriate angle calculation and offset method to obtain a meaningful angle format for analysis
esther prediction emission trail generation
Esther - Prediction Emission Trail Generation

Instantiates a tiny, 3D sphere near character’s feet, and applied with a force of opposite direction to rocket propelling force (TrailGeneration.js)

Uses Time.time to check for 0.1 sec intervals

Trail emitted only when no movement controls are activated, and when character is not moving in midair

Trail limited to first 3 rocket levels

Trail particle destroyed upon collision

esther prediction emission trail generation challenges
Esther - Prediction Emission Trail Generation: Challenges

Initiation upon every Update() was too frame rate dependent – emission could get too sparse and unreliable

Use of particle emitter drastically reduced frame rate quickly over time, even with severely limited emission parameters

Force applied to emission particles had to be tweaked manually by trial and error until desired accuracy was achieved

esther prediction emission trail generation challenges1
Esther - Prediction Emission Trail Generation: Challenges

Finding appropriate conditions for emitting trail, to reduce distraction, confusion and unreliability

Finding appropriate instantiation position to avoid undesired interactions with rocket launcher missiles – trial and error

esther shift tracking
Esther - Shift Tracking

Platforms, death zones and laser zones tagged and meaningfully labeled to aid in analysis (PlatformTracking.js)

Each platform transition (AKA shift) recorded upon conditional collision check: Level ID, try #, jump #, initial and destination platform IDs and world coordinates, jump angle and movement type (PlatformerController.js)

Shift data sent to unityPHP for sending to server

esther shift tracking challenges
Esther - Shift Tracking: Challenges
  • Ensuring that shift data is recorded at appropriate shift conditions
    • Comparison of initial and destination positions and movement type
    • Several iterations of testing and tweaking required before all necessary bases were covered
esther shift tracking challenges1
Esther - Shift Tracking: Challenges
  • Shift data sent to unityPHP to be sent to server upon every shift – too many connections to the server with limited number of connection retries
    • Latency issues
    • Loss of shift data

Modified to send upon collision with goal or when “Skip Level” is pressed

    • Sending restricted to occur after gameplay levels
    • More connection retries available –> reduced data loss
esther general game flow
Esther - General Game Flow
  • Tracking and determining general game flow using Master.js
    • Stores and calculates track, win, attempt, feedback, platform, level and scene status information
    • Calculates maximum attempted levels and next recommended level
    • Used by unityPHP.js and many other scripts to determine game flow, obtain general game status information, and show/hide statuses of GUI elements
esther gui elements
Esther - GUI Elements

Modified Timer GUI to show time in MM:SS instead of seconds (unityPHP.js)

Coded scripts and created GUI objects and scenes for basic Start, Main Menu, Game Over, Feedback Form and Profile Form (Start.js, MainMenu.js, GameOver.js, FeedbackForm.js, ProfileForm.js)

Scripted and created basic game objects for Skip Level, Volume, Instruction Pane and Tooltips (SkipLevel.js, Volume.js, Tooltip.js)

Modified all GUI element placements to be compatible with all resolutions above 800x480

Integration of game levels with basic GUI and game flow

esther miscellaneous
Esther - Miscellaneous
  • Converted all game objects into new prefabs with PlatformTracking where appropriate
  • Indexed all game objects in linear order to facilitate platform naming and tracking; drew platform numbering level guide
  • Aided with exploration of observed experiment results: running of MANOVA and analyzing statistical output
  • Lerpz the Rocketeer video trailer
    • Performed several gameplay recordings to find best video capture tool
    • Created final game trailer with gameplay video provided by JieHui
slide52

END

Beat It! Games

Esther Luar – U065084Y

Ho Jie Hui – u077440X

Kenny Lim – U077128A

LuoLan – U077394B