luminance. major group refactoring. development lead: stephen damm. project manager: martina...
TRANSCRIPT
CMPT371 – Team 1Luminance
But first...
Major group refactoring. Development Lead: Stephen Damm. Project Manager: Martina Nagy. Test team member: Chet Collins.
A lot of effort and cooperation to get new team configuration organized. Met with professor. Talked through it as a group. But we’re still developing strong.
Project – Luminance
Puzzle game Guide a beam of light using a limited set of
tools to certain goals avoiding obstacles along the way.
Previous milestone Focused on setup/research Examining the previous system
Current milestone Focused on development Majority of work has been developing the
different components of the game
Current State
Resource Manager Textures, Sounds, Music
Input Touch, Drag
GUI Menu primitives
Level Loader XML
Graphics Basic primitives (sphere, box, etc.)
Game Renders grid, background, game objects
Class Diagram
CPM Diagram
Testing
Strategy for testing When dev’s commit code stubs, inform test
team Gone to external sources for advice Ant scripts vs. IDE
Results so far Continuous integration working. Game State testing – assume OpenGL is
correct. Use case scenarios – GUI Tests. User Evaluation plan.
Test Results
ResourceManager. jUnit.
Use case testing. GUI.
Black box. For every class in the system.
Smoke test Guarantees repository has run able code
Risk – Team Communication Description
General communication issues amongst the sub groups.
Probability: Low Severity: High Plan:
Adjust roles to be clear and precise. Additional weekly meetings dedicated to
sub groups sharing their progress. Status: Occurred, solved.
Risk – Losing members
Description Losing a team member.
Probability: Low Severity: Low Plan:
Shuffle around people to fill the lost roles.
Status: Occurred, solved.
Risk – Performance
Description The game we envision cannot achieve the
performance required. Probability: Medium Severity: High Plan:
Lower texture quality, reduce special effects, smaller levels.
Explore any android specific optimizations. Profile our code for hot spots.
Status: NULL.
Software Quality Assurance
Code Reviews Individual Peer
Smoke Test Guarantees run able game
Build master Ensures code quality Reviews days work
Software Quality Assurance Android/Java Caveats
No abusing memory allocations▪ Memory limit: 24MB▪ Avoid ‘new’ anywhere in update() or draw() code
paths Turning off the garbage collector▪ Call manually as we see fit▪ Cannot let it run wild
Java loves threads:▪ main thread, event thread, android thread▪ OpenGL context only valid and accessible in android
thread
Software Quality Assurance Version Control Strategy.
Essentially remained the same.▪ TeamCity + Google Code.
Developers commit stubbed classes.▪ Including pre-conditions, post-conditions,
parameter explanations, etc. Test team is able to start writing unit tests
on this stubbed out code. End result:
Software development process more efficient.
Software Engineering Process
Enhanced communication. Discuss as a group what changes are
going to be made. Enhanced collaboration.
Separate team meetings for specific discussions, then regroup.
Improved division of labour. No longer relying on one person to do it
all.
Software Engineering Process
Improved chain of command. More defined developer lead position
and project manager positions. Enforcing group understanding of
system. OpenGL tutorial conducted by Stephen.
Game oriented testing. Challenges of game testing. Focus is on black box / play testing. Tests written as code stubs are created.
Updated Project Plan
Milestone 3: Game level editor. GUI Test suite. Design user evaluation questionnaire. Finalize the in game object models. Implement special effects, sound effects.
Milestone 4: Discuss changes to game based on evaluation. Prototype and implement new in game puzzle tools and game puzzle mechanics. Outline and design user manual. Implement random level generator. Beta version of the game.
Milestone 5: Clear out all known bugs. Play test. Release version of game. Post Mort-um document. Push game through Q&A process.
Questions?
The end!