210 likes | 307 Views
Dive into our software engineering process, challenges faced, and solutions found during the development of the innovative puzzle game Luminance. Discover how the team overcame obstacles and refined the game to achieve success.
E N D
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 • Adding polish and robustness. • Finished off important features for playing. • Current milestone • Further refinement and debugging. • User evaluations and play testing.
New Development • Level Menu • For navigating between levels • Level Editor • To create levels for the game • In-game Help Documentation • Instructions for playing the game • Light beam • Bigger, better, flowier • Fixed a lot of little things for polish • Lots o levels!
Issues With Development • Infuriating emulator • Slow, renders in software mode, bugs... • Incompatible OS • Android study we were borrowing phones from used a custom OS sans hardware acceleration! • Build setup • Initial overhead MUCH more than expected • Most of milestone 1 spent on this
Issues With Development • Modularity without full discourse • We planned and designed well • However, we still ran into problems • Testing • High overhead but low impact • Build script issues • Did help strengthen our code base • New features • Didn’t have time to implement them • .. But we’re happy with our accomplishments!
Software Engineering Processes • Use of issue tracker to drive development • Used for issues, enhancements, features • Helped with communication • Team modularity • Explicit task separation within each of the subgroups • Lead to very modular code base as well • Meetings within the group • Regular group meetings • Use of Skype
Software Engineering Processes • Use of logger • Gave us high-level call stack • Chain of Command • Leads oversaw progress in their respective areas • Project manager overseeing everybody • Peer reviews, personal desk-checks, formal inspections • Further refinement of the code base • Flushing out bugs and defects
Software Engineering Processes • Development environment • Eclipse, google code • Integration with TeamCity • Emulator did help with development • We don’t all own Android phones! • Smoke test build on TeamCity • Created with the purpose of running before commits
Formal Inspections • Did 6 this milestone • Found a total of 82 defects this milestone • 101 altogether • Along with Professor Osgood’s advice from the lab, creating much nicer code.
Testing • GUI Testing • Complete • Mock Testing • On the interfaces we have • Test Suite • Up to date
User Evaluations • Surveyed 22 people • 2 Groups: • Experienced players (10) • Inexperienced players (12) • Players split into control and experimental groups: • Control: told how to play and given help • Experimental: minimal instruction
Risk Analysis: New Risks • Description • Limited test phones available due to OpenGL issues • Probability: High • Severity: High • Plan: • Attempt to locate devices that have the required libraries to make the game runnable • If all else fails, simply install a different custom OS on the devices that allow for acceptable graphics functionality • Status: Realized, dealing with it
Risk Analysis: Final Update • Risks realized: 5/12 • Ensuring effective communication • Losing group members • Ensuring successful port • Android phone performance • Due date miscommunication • Risks resolved by contingency plan: 5/12 • Use of mailing lists and wiki • Enhanced communication helped us stay together • Eliminating extra features to ensure quality of core features • Found OS that is compatible with the application • PM smartened up and double checked due dates
Risk Analysis: Final Update • Risks prevented by mitigation plan: 7/12 • Continuous Integration • Use of TeamCity and Smoke test • Set up of development environment • Not an issue with the information readily on the wiki early and comprehensively • Touch input integration • Researched it thoroughly and found ReplicaIsland • Implementation of all resources in a convenient way • Zenja keeping it up to date
Risk Analysis: Final Update • Con’t • Vague requirements causing defects • Formalize new ideas before implementation • Limited user evaluations resulting in game play issues • Completed user evaluations • Keep memory used low and performance high • Keeping textures small
Time Spent • Milestone 1: 137.5 • Milestone 2: 180.5 • Milestone 3: 184 • Milestone 4: 133 • Milestone 5: TBA • Total: 635 • Average: 1.25 hours/day/person
Questions? • The end!