CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games...

16
CS4099 Software CS4099 Software Project Project By Tom Clark By Tom Clark

description

Obvious constraints Time! –  Many CS related aspects omitted –Networking: multiplayer, or even massively multiplayer etc –Graphics: pixel shaders, dynamic lighting etc. –Some computational aspects: fluid dynamics, motion Testing: not multiplatform I have never actually written and programmed my own game before. Challenge but really enjoying it Using an established open source game programming kit which is free for non-commercial use and has academic background

Transcript of CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games...

Page 1: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

CS4099 Software ProjectCS4099 Software Project

By Tom ClarkBy Tom Clark

Page 2: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

The projectThe project

Main aim: Main aim: – Show how the expanding field of games utilises CS. Show how the expanding field of games utilises CS. – Re-enforce by creating an example using structured Re-enforce by creating an example using structured

software engineering processes and models (UML)software engineering processes and models (UML)

Game must be:Game must be:– Original and fun Original and fun – Based on survival of eventBased on survival of event– Educate (but not to impact fun)Educate (but not to impact fun)

Page 3: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Obvious constraintsObvious constraintsTime!Time! Many CS related aspects omittedMany CS related aspects omitted

– Networking: multiplayer, or even massively multiplayer etcNetworking: multiplayer, or even massively multiplayer etc– Graphics: pixel shaders, dynamic lighting etc.Graphics: pixel shaders, dynamic lighting etc.– Some computational aspects: fluid dynamics, motionSome computational aspects: fluid dynamics, motion

Testing: Testing: not multiplatformnot multiplatform

I have never actually written and programmed I have never actually written and programmed my own game before.my own game before.

Challenge but really enjoying itChallenge but really enjoying itUsing an established open source game programming kit Using an established open source game programming kit which is free for non-commercial use and has academic which is free for non-commercial use and has academic backgroundbackground

Page 4: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Approach OverviewApproach OverviewContext surveyContext survey– Books, other games created under similar constraints, papers…..Books, other games created under similar constraints, papers…..

Requirements capture (initially from myself!)Requirements capture (initially from myself!)– Central conceptCentral concept– Detailed rulesDetailed rules– Feedback from game testersFeedback from game testers

Design using textual statements and UML diagramsDesign using textual statements and UML diagrams– ControversialControversial

Development / implementation using “Game Maker” Development / implementation using “Game Maker” programming environmentprogramming environmentTestingTesting– Technical: performance, correctness ( meets requirements?)Technical: performance, correctness ( meets requirements?)– Usability: small but diverse group of games playersUsability: small but diverse group of games players

Page 5: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Context surveyContext survey

Evaluated games Evaluated games made by othersmade by others

““What I liked” analysisWhat I liked” analysis

Limited to other small Limited to other small non-commercial non-commercial games.games.– Unfair not to.Unfair not to.

- Cursed Undead- by Nees Sonnemans

http://www.gamemaker.nl/games_edit6.html

Page 6: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Literature ReviewLiterature Review

Review of many game books available. Review of many game books available. Some websites too.Some websites too.

Examples:Examples:AIAI

– A* search, path-findingA* search, path-finding

Game designGame designGender issueGender issue

Good ones now ordered for library. Good ones now ordered for library.

Page 7: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

HungerHungerExample gameExample game

Implemented using Game Implemented using Game Maker.Maker.

http://www.starcitygames.com/images/tokens/Zombie.jpg

http://www.gamemaker.nl

Page 8: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Main ConceptsMain Concepts

Focus on survival. Not on violence or horror.Focus on survival. Not on violence or horror.

Enemies to avoid but player can kill them.Enemies to avoid but player can kill them.

Plan item use.Plan item use.

Give the player choices!Give the player choices!– Not too much or becomes complex.Not too much or becomes complex.– Keep focus on goal but not forced to play a certain way. Keep focus on goal but not forced to play a certain way.

Page 9: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

More about the gameMore about the gameSet in made-up town of “Fondville” and its neighbouring island.Set in made-up town of “Fondville” and its neighbouring island.

Became overrun by zombies called “Rot”.Became overrun by zombies called “Rot”.– Desirable feature: Tell story as progressDesirable feature: Tell story as progress

Single objective: Must get to cable car to main city after Single objective: Must get to cable car to main city after starting on island and survive.starting on island and survive.

Not that realistic.Not that realistic.

Page 10: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

How to educateHow to educate

Survival skills Survival skills – Limited form of education.Limited form of education.

Use stats that player must manage.Use stats that player must manage.HealthHealthWarmthWarmthHungerHungerThirstThirstFear – Proud of this one. Not used in other games much.Fear – Proud of this one. Not used in other games much.SpeedSpeed

– Most are inter-related.Most are inter-related.

Page 11: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.
Page 12: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.
Page 13: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

What has been doneWhat has been done

Some documentation – some changes neededSome documentation – some changes neededShowing and hiding inventory.Showing and hiding inventory.Main menu. (Most of)Main menu. (Most of)Stats – not all related to other stats yet.Stats – not all related to other stats yet.MinimapMinimapMovement – choice of controls: Movement – choice of controls: , WASD, WASDLevel 1 layoutLevel 1 layoutLocation text – Unbarricaded/OutsideLocation text – Unbarricaded/Outside

““SLEEP RISK” implies risk of falling asleep! SLEEP RISK” implies risk of falling asleep!

Page 14: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Feedback for testing and revisionFeedback for testing and revision

Testing by game testersTesting by game testersSmall groupSmall groupQuestionnaire (Still to do) for feedbackQuestionnaire (Still to do) for feedback

– Q: How long did it take you to figure out what to do at this Q: How long did it take you to figure out what to do at this point?point?

– Q: Easy to understand without reading manual?Q: Easy to understand without reading manual?

Not designed to replace actual software behaviour Not designed to replace actual software behaviour testing.testing.

Page 15: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Still to be doneStill to be doneUpdate documents.Update documents.Detailed design.Detailed design.Levels 2 & 3.Levels 2 & 3.Items that can be picked up, stored and used.Items that can be picked up, stored and used.SleepingSleepingFear effectsFear effectsNPCs – 2 types and their AI.NPCs – 2 types and their AI.Game over/Complete screens.Game over/Complete screens.In-game menu – exit safely, load, credits.In-game menu – exit safely, load, credits.Sound effects.Sound effects.Graphics (most by artist but by me in future).Graphics (most by artist but by me in future).Desirable features if time.Desirable features if time.Other CS0499 course requirements.Other CS0499 course requirements.

Page 16: CS4099 Software Project By Tom Clark. The project Main aim: –Show how the expanding field of games utilises CS. –Re-enforce by creating an example using.

Any questions?Any questions?

http://www.businesscartoons.co.uk/3803.htm