May04-14: Laptop Travel Games for Children Advisor: Dr. Jacobson Client: Senior Design Jonathan...

Preview:

Citation preview

May04-14: Laptop Travel Games for May04-14: Laptop Travel Games for ChildrenChildren

Advisor: Dr. JacobsonAdvisor: Dr. Jacobson

Client: Senior DesignClient: Senior Design

Jonathan Gill: CprEJonathan Gill: CprE

Mike Mundy: CprEMike Mundy: CprE

Nick Ransom: CprENick Ransom: CprE

Jonathan Soike: CprEJonathan Soike: CprE

April 15April 15thth, 2004, 2004

Presentation OutlinePresentation Outline

• IntroductionIntroduction– AcknowledgementAcknowledgement– Problem StatementProblem Statement– Operating EnvironmentOperating Environment– Intended Users and UsesIntended Users and Uses– Assumptions and LimitationsAssumptions and Limitations– End ProductEnd Product

Presentation OutlinePresentation Outline

• Project ActivitiesProject Activities– Present AccomplishmentsPresent Accomplishments– Future Required ActivitiesFuture Required Activities– Approaches ConsideredApproaches Considered– Project DefinitionProject Definition– Research ActivitiesResearch Activities– Design ActivitiesDesign Activities– Implementation ActivitiesImplementation Activities– Testing ActivitiesTesting Activities

Presentation OutlinePresentation Outline

• DemonstrationDemonstration• Resources and SchedulesResources and Schedules

– Personnel Effort RequirementsPersonnel Effort Requirements– Other Resource RequirementsOther Resource Requirements– Total Financial RequirementsTotal Financial Requirements– Project ScheduleProject Schedule

• ConclusionConclusion– Project EvaluationProject Evaluation– CommercializationCommercialization– Recommendations for Additional WorkRecommendations for Additional Work– Lessons LearnedLessons Learned– Risk and Risk ManagementRisk and Risk Management– Closing SummaryClosing Summary

List of DefinitionsList of DefinitionsAPI: Application program interface.API: Application program interface.  Class/Library: A collection of pre-written code that Class/Library: A collection of pre-written code that can be incorporated into third party software.can be incorporated into third party software.

Game engine: A set of classes or libraries which Game engine: A set of classes or libraries which handle all fundamental elements needed to develop handle all fundamental elements needed to develop a game. These elements can include, but are not a game. These elements can include, but are not limited to: graphics, physics calculations, sound, limited to: graphics, physics calculations, sound, and tools to interact with these systems.and tools to interact with these systems.  GUI: Graphical user interface. A non-text-based GUI: Graphical user interface. A non-text-based display used for user interaction.display used for user interaction.  OS: Operating system of a computer.OS: Operating system of a computer.

AcknowledgementAcknowledgement

The team would like to acknowledge the The team would like to acknowledge the project advisor, Dr. Doug Jacobson, for being project advisor, Dr. Doug Jacobson, for being the main source of help throughout this the main source of help throughout this project.project.

The team would also like to acknowledge The team would also like to acknowledge Andre LaMothe, author of Andre LaMothe, author of Tricks of the Tricks of the Windows Game Programming GurusWindows Game Programming Gurus, for , for providing a great deal of help with DirectX providing a great deal of help with DirectX coding.coding.

Problem StatementProblem Statement

• Problem: Kids need to be Problem: Kids need to be entertained during car tripsentertained during car trips– Current solutions inadequateCurrent solutions inadequate

• Solution: Develop fun and Solution: Develop fun and educational computer games that educational computer games that can be played on the roadcan be played on the road

Operating EnvironmentOperating Environment

• Moving VehicleMoving Vehicle– Stop-and-go conditionsStop-and-go conditions– Constant speedConstant speed

• ComputerComputer– LaptopLaptop– Windows 98+Windows 98+

Intended Users and UsesIntended Users and Uses

• Intended users: The intended users will be Intended users: The intended users will be children with the following attributes:children with the following attributes:– Ages 4-12Ages 4-12– Pre-school to 7Pre-school to 7thth grade grade– Both male and femaleBoth male and female– Previous computer experience Previous computer experience

• Intended use: The intended use is for these Intended use: The intended use is for these children to play these games on a laptop while children to play these games on a laptop while in a moving vehicle.in a moving vehicle.

Assumptions and Assumptions and LimitationsLimitations

• AssumptionsAssumptions– Children playing these games should have previous Children playing these games should have previous

computer experience.computer experience.– 3 games will be developed.3 games will be developed.

• LimitationsLimitations– The maximum number of players shall be 4.The maximum number of players shall be 4.– The minimum number of players shall be 1.The minimum number of players shall be 1.– Children playing these games should be between the Children playing these games should be between the

ages of 4 and 12.ages of 4 and 12.– The end product runs on Windows 98+ operating The end product runs on Windows 98+ operating

systems.systems.– The product operates on laptop computers.The product operates on laptop computers.

End Product and Other End Product and Other DeliverablesDeliverables

• The gameThe game• Project planProject plan• Source codeSource code• Users’ manualUsers’ manual

Present AccomplishmentsPresent Accomplishments

• Three games createdThree games created– Travel BingoTravel Bingo– License Plate FinderLicense Plate Finder– Travel Board GameTravel Board Game

• All games are functional and fulfill All games are functional and fulfill all major design requirementsall major design requirements

Approaches Considered:Approaches Considered:Programming LanguagesProgramming Languages

 

AdvantagesAdvantages DisadvantagesDisadvantages

CC The team is already familiar The team is already familiar with it.with it.

Not object-oriented, not very Not object-oriented, not very well supported by Windows.well supported by Windows.

C++C++ Object-oriented, well Object-oriented, well supported by Windows, the supported by Windows, the team is already familiar team is already familiar with it, there are many with it, there are many information resources for it.information resources for it.

GUIs are more difficult than GUIs are more difficult than other languagesother languages

C#C# Object-oriented, has built-in Object-oriented, has built-in GUI componentsGUI components

The team has never used it.The team has never used it.

JavaJava Object-oriented, has built-Object-oriented, has built-in, but limited, GUI in, but limited, GUI componentscomponents

The team isn’t as familiar with The team isn’t as familiar with it as other languages, difficult it as other languages, difficult setup and running procedures setup and running procedures on end user’s machineon end user’s machine

Approaches Considered:Approaches Considered:Development ToolsDevelopment ToolsAdvantagesAdvantages DisadvantagesDisadvantages

Visual Visual StudioStudio

Free for students, has Free for students, has many useful features, well many useful features, well supported.supported.

Licensing issues may prevent Licensing issues may prevent end-product sale.end-product sale.

BorlanBorland C++d C++

Free for student/individual Free for student/individual use.use.

Not as well supported or Not as well supported or featured as Visual Studio.featured as Visual Studio.

DirectX DirectX LibrariLibrarieses

Fast, Windows-compliant, Fast, Windows-compliant, well-documented, well-documented, hardware independent.hardware independent.

Difficult to code, large learning Difficult to code, large learning curve.curve.

Kyra Kyra LibrariLibrarieses

Platform independent, Platform independent, easier to code than easier to code than DirectX, provides several DirectX, provides several useful development tools.useful development tools.

Slower than DirectX.Slower than DirectX.

Project DefinitionProject Definition

• Develop three gamesDevelop three games– Travel BingoTravel Bingo– License Plate FinderLicense Plate Finder– Travel Board GameTravel Board Game

• Games should be easy to useGames should be easy to use• Should require minimal mouse Should require minimal mouse

usageusage• Should not make any loud or Should not make any loud or

distracting soundsdistracting sounds

Research ActivitiesResearch Activities

• Game EnginesGame Engines– KyraKyra– PyGamePyGame– EditorEditor– 3D Rad3D Rad

• Graphics LibrariesGraphics Libraries– DirectXDirectX– OpenGLOpenGL– SDLSDL

Design ActivitiesDesign Activities

Three games were designed:Three games were designed:• License Plate FinderLicense Plate Finder• Travel BingoTravel Bingo• Travel Board GameTravel Board Game

License Plate Finder: License Plate Finder: FlowchartFlowchart

License Plate Finder:License Plate Finder:Conceptual ScreenshotConceptual Screenshot

Travel Bingo: FlowchartTravel Bingo: Flowchart

Travel Bingo: Conceptual Travel Bingo: Conceptual ScreenshotScreenshot

Travel Board Game: Travel Board Game: FlowchartFlowchart

Travel Board Game: Conceptual Travel Board Game: Conceptual ScreenshotScreenshot

Implementation ActivitiesImplementation Activities

• Changes to gamesChanges to games– License Plate FinderLicense Plate Finder

• Plates located on U.S. MapPlates located on U.S. Map

• Coding processCoding process– Travel Bingo made with DirectXTravel Bingo made with DirectX– All others made with KyraAll others made with Kyra

Testing ActivitiesTesting Activities

• Bug testingBug testing– Done by the groupDone by the group– Discover and remove major problemsDiscover and remove major problems

• Future testingFuture testing– Give the programs to childrenGive the programs to children– Discover minor problemsDiscover minor problems– Obtain recommendations for changeObtain recommendations for change

Resources and SchedulesResources and Schedules

18 22 23 17

30 25 30 35

75 40 45 80

10 25 20 10

105 20 5

0 50 100 150 200 250

Project Plan and Poster

Project Design

Design Implementation

Testing

Final Report

Personnel Effort Requirements

Jonathan Gill Mike Mundy Nick Ransom Jonathan Soike

Other required resourcesOther required resources

• Project Poster: $45Project Poster: $45

Final Project CostsFinal Project CostsItemItem Without Without

LaborLaborWith LaborWith Labor

Parts and Parts and Materials:Materials:

a. Project Postera. Project Poster $45.00$45.00 $45.00$45.00

SubtotSubtotalal

$45.00$45.00

Labor at Labor at $10.50/hour$10.50/hour

a. Gill, Jonathana. Gill, Jonathan $1,501.50 $1,501.50

b. Mundy, Mikeb. Mundy, Mike $1,228.50 $1,228.50

c. Ransom, Nickc. Ransom, Nick $1,449.00 $1,449.00

d. Soike, Jonathand. Soike, Jonathan $1,543.50 $1,543.50

SubtotSubtotalal

$5,722.50 $5,722.50

TotalTotal $45.00$45.00 $5,767.50 $5,767.50

ScheduleSchedule

Project EvaluationProject Evaluation

• Problem Definition: Exceeded.Problem Definition: Exceeded.• Research: Met.Research: Met.• Technology Selection: Met.Technology Selection: Met.• Concept Design: Met. Concept Design: Met. • End-product Design: Didn’t attempt. End-product Design: Didn’t attempt. • Prototype Implementation: Met. Prototype Implementation: Met. • End-product Testing: Met.End-product Testing: Met.• End-product Documentation: Met. End-product Documentation: Met. • Project Reviews: Almost met. Project Reviews: Almost met. • Project Reporting: Met. Project Reporting: Met.

CommercializationCommercialization

• Production Cost: ~$0.60Production Cost: ~$0.60• Selling price: $2.00Selling price: $2.00• Potential Market: Children’s stores, Potential Market: Children’s stores,

toy stores, software storestoy stores, software stores• No plans for commercializationNo plans for commercialization

Recommendations for Recommendations for Additional WorkAdditional Work

• Additional GamesAdditional Games• Main InterfaceMain Interface

– Opening menuOpening menu– Security featuresSecurity features

Lessons LearnedLessons Learned

• What went wellWhat went well– The design processThe design process

• What didn’t go wellWhat didn’t go well– The coding processThe coding process– Communication between team Communication between team

membersmembers• Technical Knowledge GainedTechnical Knowledge Gained

– Microsoft Visual StudiosMicrosoft Visual Studios– C++ Graphics CodingC++ Graphics Coding

Lessons LearnedLessons Learned

• Non-technical knowledge gainedNon-technical knowledge gained– Group programming experienceGroup programming experience– Project schedulingProject scheduling

• What to do differentlyWhat to do differently– Begin graphics research earlierBegin graphics research earlier– Increase communicationIncrease communication– Put more emphasis on the schedulePut more emphasis on the schedule

Risk and Risk Risk and Risk ManagementManagement

• Anticipated potential risksAnticipated potential risks– Loss of a team memberLoss of a team member– Loss of dataLoss of data– Over-proposed ProjectOver-proposed Project– Kids do not like gamesKids do not like games

• Anticipated risks encounteredAnticipated risks encountered– Over-proposed ProjectOver-proposed Project– Loss of dataLoss of data

Risk and Risk Risk and Risk ManagementManagement

• Unanticipated risks encounteredUnanticipated risks encountered– Incompatibility of development Incompatibility of development

softwaresoftware

• Resultant changes in risk Resultant changes in risk managementmanagement– Software tests on different systemsSoftware tests on different systems

Closing SummaryClosing Summary

• Problem: Children need to be Problem: Children need to be entertained during car tripsentertained during car trips– Current solution: DVDs & TVCurrent solution: DVDs & TV

• Three educational games Three educational games developeddeveloped– Travel BingoTravel Bingo– License Plate FinderLicense Plate Finder– Travel Board GameTravel Board Game

Questions?Questions?

??