game teleporter a development tool for everyone

52
Game Teleporter Game Teleporter A Development Tool For A Development Tool For Everyone Everyone Presented By Tony Morelli Presented By Tony Morelli 4/13/2007 4/13/2007

Upload: pete

Post on 13-Jan-2016

36 views

Category:

Documents


2 download

DESCRIPTION

Game Teleporter A Development Tool For Everyone. Presented By Tony Morelli 4/13/2007. Outline. Background Overview Definitions Study Methodology Conclusion/Questions. Who Am I?. BSEE Purdue University Platform Architect - Bally Technologies - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Game Teleporter A Development Tool For Everyone

Game TeleporterGame TeleporterA Development Tool For A Development Tool For

EveryoneEveryone

Presented By Tony MorelliPresented By Tony Morelli

4/13/20074/13/2007

Page 2: Game Teleporter A Development Tool For Everyone

OutlineOutline

BackgroundBackground OverviewOverview DefinitionsDefinitions StudyStudy MethodologyMethodology Conclusion/QuestionsConclusion/Questions

Page 3: Game Teleporter A Development Tool For Everyone

Who Am I?Who Am I?

BSEE Purdue UniversityBSEE Purdue University

Platform Architect - Bally Platform Architect - Bally TechnologiesTechnologies Design Class 2 (Bingo) Games For Design Class 2 (Bingo) Games For

Tribal CasinosTribal Casinos

Page 4: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Ambient Displays Of User MoodAmbient Displays Of User Mood Predicted Mood Of A User And Displayed On A Predicted Mood Of A User And Displayed On A

ScreenScreen If Prediction Was Wrong, User Could Press A If Prediction Was Wrong, User Could Press A

ButtonButton C4.5 Was Used To Do The PredictingC4.5 Was Used To Do The Predicting Looked At Movement, And Keyboard And Looked At Movement, And Keyboard And

Mouse MovementsMouse Movements Predicted Whether I Was Thinking Or ContentPredicted Whether I Was Thinking Or Content Predicted OK For Me, Probably Not OK For Predicted OK For Me, Probably Not OK For

OthersOthers

Page 5: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects Ambient Displays Of User MoodAmbient Displays Of User Mood

Page 6: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects Computer Generated Tic Tac Toe PlayerComputer Generated Tic Tac Toe Player

Co-Evolution And Neural Networks To Create Co-Evolution And Neural Networks To Create PlayerPlayer

Inputs To Neural Net – Board PositionsInputs To Neural Net – Board Positions Inputs To Neural Net – Whose TurnInputs To Neural Net – Whose Turn Output - What Square To Place TokenOutput - What Square To Place Token Evolved Against MiniMax Perfect PlayerEvolved Against MiniMax Perfect Player Evolved Player As Good As MiniMax Perfect Evolved Player As Good As MiniMax Perfect

PlayerPlayer Co-Evolved Player As Good As MiniMax Perfect Co-Evolved Player As Good As MiniMax Perfect

PlayerPlayer

Page 7: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

SP2000 RoboGolf CompetitorSP2000 RoboGolf Competitor Collect Golf Balls And Return Them Collect Golf Balls And Return Them

To The Goal Located In The Center To The Goal Located In The Center Of The RingOf The Ring

Page 8: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Detecting Motion In Video GamesDetecting Motion In Video Games Control A Video Game System From Control A Video Game System From

ComputerComputer Look At 3 Sequential FramesLook At 3 Sequential Frames Subtract Each One To Identify MotionSubtract Each One To Identify Motion Move Character Based On Objects In Move Character Based On Objects In

PathPath Control Through Parallel PortControl Through Parallel Port Worked, But To Slow To Be UsefulWorked, But To Slow To Be Useful

Page 9: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Detecting Motion In Video GamesDetecting Motion In Video Games

Page 10: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Xbox Controller ControllerXbox Controller Controller Control An Xbox From Anywhere Control An Xbox From Anywhere

Without Opening An Xbox ControllerWithout Opening An Xbox Controller TCP/IP Protocol From Controlling TCP/IP Protocol From Controlling

Device (Playstation Portable) To Device (Playstation Portable) To ControllerController

Gumstix Received Commands Sent Gumstix Received Commands Sent Them Via Serial To Basic Stamp 2 Them Via Serial To Basic Stamp 2 Which Controlled ServosWhich Controlled Servos

Page 11: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Xbox Controller ControllerXbox Controller Controller

Page 12: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Cross Platform Multiplayer GameCross Platform Multiplayer Game Play A Game On A Playstation Portable Play A Game On A Playstation Portable

Against Someone Playing The Same Against Someone Playing The Same Game On A Nintendo DSGame On A Nintendo DS

Simple Idea Difficult To ImplementSimple Idea Difficult To Implement Both Support C Compilers – However Both Support C Compilers – However

Many DifferencesMany Differences How To Display An Image, Get Input, How To Display An Image, Get Input,

And Play A Sound Different On Each And Play A Sound Different On Each TargetTarget

Page 13: Game Teleporter A Development Tool For Everyone

UNR ProjectsUNR Projects

Cross Platform Multiplayer GameCross Platform Multiplayer Game

Need To Make This Easier To DevelopNeed To Make This Easier To Develop

Page 14: Game Teleporter A Development Tool For Everyone

MotivationMotivation

Creating A Game On Multiple Creating A Game On Multiple Platforms Should Be EasierPlatforms Should Be Easier

Tool Could Be Used For Education Tool Could Be Used For Education As WellAs Well

Flexible Development Environment Flexible Development Environment Should Allow Developers To Develop Should Allow Developers To Develop Exactly How They Want For Exactly How They Want For Whatever Platform They NeedWhatever Platform They Need

Page 15: Game Teleporter A Development Tool For Everyone

OverviewOverview

The Game Teleporter Sets Up The The Game Teleporter Sets Up The Framework For Easy Multiplatform Framework For Easy Multiplatform DevelopmentDevelopment

Great Tool For Educational PurposesGreat Tool For Educational Purposes Easier To Generate ProgramsEasier To Generate Programs Easier To Learn New Development Easier To Learn New Development

EnvironmentsEnvironments Easier To Learn New Target PlatformsEasier To Learn New Target Platforms

Page 16: Game Teleporter A Development Tool For Everyone

DefinitionsDefinitions

Development EnvironmentDevelopment Environment A Way Of Creating A ProgramA Way Of Creating A Program Adobe FlashAdobe Flash

Format Used By Web DevelopersFormat Used By Web Developers Easy To Program ForEasy To Program For

Adobe PhotoshopAdobe Photoshop Simple Yet Powerful File FormatSimple Yet Powerful File Format

Custom InterfaceCustom Interface Good For Beginning ProgrammersGood For Beginning Programmers

Page 17: Game Teleporter A Development Tool For Everyone

DefinitionsDefinitions

Target Platform – Device Or Target Platform – Device Or Environment Where A Program Will Environment Where A Program Will RunRun Playstation PortablePlaystation Portable Nintendo DSNintendo DS QBasicQBasic Visual BasicVisual Basic

Page 18: Game Teleporter A Development Tool For Everyone

OverviewOverview

Composed Of Input Plugins and Composed Of Input Plugins and Output PluginsOutput Plugins

Any Input Plugin Can Be Used To Any Input Plugin Can Be Used To Design The SoftwareDesign The Software

Any Output Plugin Can Be Used To Any Output Plugin Can Be Used To Generate An Executable Program On Generate An Executable Program On The Selected TargetThe Selected Target

Page 19: Game Teleporter A Development Tool For Everyone

StudyStudy A Study Was Conducted With 18 IndividualsA Study Was Conducted With 18 Individuals Ages 13-50Ages 13-50 Skills – Skills –

No Computer Experience (Outside Of Simple No Computer Experience (Outside Of Simple Applications – Internet, Email, Word, etc)Applications – Internet, Email, Word, etc)

Computer GamerComputer Gamer Professional Computer ProgrammerProfessional Computer Programmer

Goal – Create A Simple Game That Goal – Create A Simple Game That Demonstrates User Input And Displaying Demonstrates User Input And Displaying Images On Multiple Platforms Without Any Images On Multiple Platforms Without Any Programming By The UserProgramming By The User

Page 20: Game Teleporter A Development Tool For Everyone

StudyStudy

Participants In The Study Created A Participants In The Study Created A Game Similar To PongGame Similar To Pong

No Code Was WrittenNo Code Was Written Used A Custom Program To Step Used A Custom Program To Step

Through The ProcessThrough The Process Game Teleporter Generated And Built Game Teleporter Generated And Built

All CodeAll Code Playstation PortablePlaystation Portable Visual Basic.Net (PC Game)Visual Basic.Net (PC Game)

Questions Were AskedQuestions Were Asked

Page 21: Game Teleporter A Development Tool For Everyone

Study - VideoStudy - Video

Page 22: Game Teleporter A Development Tool For Everyone

Study - VideoStudy - Video

Page 23: Game Teleporter A Development Tool For Everyone

Study - QuestionsStudy - Questions

(1) Did You Think It Would Be That (1) Did You Think It Would Be That Easy To Create A Game?Easy To Create A Game?

(2) Was The Game Interesting?(2) Was The Game Interesting? (3) Which Game Was Better, PSP Or (3) Which Game Was Better, PSP Or

Visual Basic?Visual Basic? (4) Did Using This Application Make (4) Did Using This Application Make

You Want To Be A Computer You Want To Be A Computer Programmer?Programmer?

(5) Do You Have Any Questions?(5) Do You Have Any Questions?

Page 24: Game Teleporter A Development Tool For Everyone

Study - PredictionsStudy - Predictions

This Software Was So Great This Software Was So Great Everyone Who Used It Would Want Everyone Who Used It Would Want To Write Software For A Living.To Write Software For A Living.

Page 25: Game Teleporter A Development Tool For Everyone

Study ResultsStudy Results

(1) Did You Think It Would Be That (1) Did You Think It Would Be That Easy To Create A Game?Easy To Create A Game? Non Programmers Did Not Think It Non Programmers Did Not Think It

Would Be That Easy To Create A GameWould Be That Easy To Create A Game Programmers Were More Impressed Programmers Were More Impressed

That A Game Was Created That Easily That A Game Was Created That Easily For The Playstation Portable As For The Playstation Portable As Opposed To The PC Version.Opposed To The PC Version.

Page 26: Game Teleporter A Development Tool For Everyone

Study - ResultsStudy - Results

(2) Was The Game Interesting?(2) Was The Game Interesting? Most Common Answer – It Would Be Most Common Answer – It Would Be

Better If It Kept ScoreBetter If It Kept Score Younger Gamers Wanted To Younger Gamers Wanted To

Immediately Know How To ‘Beat The Immediately Know How To ‘Beat The Game’ – There Was No Way To Beat itGame’ – There Was No Way To Beat it

Experienced Programmers Overlooked Experienced Programmers Overlooked The Simplistic Game And Saw The The Simplistic Game And Saw The Potential Of The ToolPotential Of The Tool

Page 27: Game Teleporter A Development Tool For Everyone

Study - ResultsStudy - Results

(3) Which Game Was Better, PSP Or (3) Which Game Was Better, PSP Or Visual Basic?Visual Basic? Older Participants (College Age And Older) Older Participants (College Age And Older)

Were More Interested In The Visual Basic PC Were More Interested In The Visual Basic PC VersionVersion

Final Game Could Be Run On Their Own PCFinal Game Could Be Run On Their Own PC Younger Group Was More Interested In The Younger Group Was More Interested In The

PSP Version Because Of The ‘Cool Factor’PSP Version Because Of The ‘Cool Factor’ None Of The Kids In The Study Owned A PSP, None Of The Kids In The Study Owned A PSP,

However They All Knew The Cool Kid That Had OneHowever They All Knew The Cool Kid That Had One Making A Game Run On A PSP Could Turn A Normal Making A Game Run On A PSP Could Turn A Normal

Kid Into A Cool KidKid Into A Cool Kid

Page 28: Game Teleporter A Development Tool For Everyone

Study - ResultsStudy - Results

(4) Did Using This Application Make (4) Did Using This Application Make You Want To Be A Computer You Want To Be A Computer Programmer?Programmer? Only Asked To Non ProgrammersOnly Asked To Non Programmers The Answer, Unfortunately, Was No In The Answer, Unfortunately, Was No In

All CasesAll Cases

Page 29: Game Teleporter A Development Tool For Everyone

Study - ResultsStudy - Results

(5) Do You Have Any Questions?(5) Do You Have Any Questions? Longest Part Of The StudyLongest Part Of The Study Engineers Wanted To Know In Detail Engineers Wanted To Know In Detail

How Everything WorkedHow Everything Worked Perspective Engineers Wanted To Know Perspective Engineers Wanted To Know

How To Write ProgramsHow To Write Programs Non Engineers Made Suggestions To Non Engineers Made Suggestions To

Make It BetterMake It Better

Page 30: Game Teleporter A Development Tool For Everyone

Study - ConclusionStudy - Conclusion

The Game Teleporter Did Not Make The Game Teleporter Did Not Make Everyone Want To Drop Everything Everyone Want To Drop Everything And Write SoftwareAnd Write Software

It Did Make Everyone Ask Questions It Did Make Everyone Ask Questions And Begin To Think About What And Begin To Think About What Role Each Person Could Play In A Role Each Person Could Play In A Development TeamDevelopment Team

Overall It Was A Complete SuccessOverall It Was A Complete Success

Page 31: Game Teleporter A Development Tool For Everyone

Similar ProjectsSimilar Projects Code ConverterCode Converter

Do Not Work Very WellDo Not Work Very Well Most Convert Between Similar LanguagesMost Convert Between Similar Languages

The Game Maker’s ApprenticeThe Game Maker’s Apprentice Forced To Use Supplied InterfaceForced To Use Supplied Interface Does Not Support Multiple TargetsDoes Not Support Multiple Targets

Game EditorGame Editor Forced To Use Supplied InterfaceForced To Use Supplied Interface Supports Multiple Targets, But Only The Targets The Creator Supports Multiple Targets, But Only The Targets The Creator

Of The Software Wants To SupportOf The Software Wants To Support Run Time Interpreter (JAVA,Flash)Run Time Interpreter (JAVA,Flash)

Requires Distributor Of JAVA or Flash To Write A Runtime Requires Distributor Of JAVA or Flash To Write A Runtime Interpreter For Each Target PlatformInterpreter For Each Target Platform

Author Of The Interpreter May Not Be An ExpertAuthor Of The Interpreter May Not Be An Expert Run Time Interpretation Is SlowRun Time Interpretation Is Slow

Page 32: Game Teleporter A Development Tool For Everyone

Game Teleporter Game Teleporter BenefitsBenefits

Open Source Allows Experts To Open Source Allows Experts To ContributeContribute

If A New Plugin Is Required The User If A New Plugin Is Required The User Has The Option To Become An Expert In Has The Option To Become An Expert In The Field, Or Find An Expert To Write The Field, Or Find An Expert To Write The PluginThe Plugin

Not Dependant On The Distributor Of The Not Dependant On The Distributor Of The Software To Write PluginsSoftware To Write Plugins

No Run Time Interpretation, All Code Is No Run Time Interpretation, All Code Is Built For A Specific TargetBuilt For A Specific Target

Page 33: Game Teleporter A Development Tool For Everyone

Software DesignSoftware Design

Input Plugins Convert To Intermediate FormatInput Plugins Convert To Intermediate Format Output Plugins Read Intermediate Format And Output Plugins Read Intermediate Format And

Convert To Specific Target.Convert To Specific Target. Psd Plugin Takes Images From Layers And Psd Plugin Takes Images From Layers And

Generates Intermediate Code To Play A Slide Generates Intermediate Code To Play A Slide ShowShow

Playstation Portable Output Plugin Takes Playstation Portable Output Plugin Takes Intermediate Code And Generates And Builds Intermediate Code And Generates And Builds Native PSP Code To Run A Slide Show Based Native PSP Code To Run A Slide Show Based On The Psd File On The Playstation Portable On The Psd File On The Playstation Portable ItselfItself

Page 34: Game Teleporter A Development Tool For Everyone

Input PluginsInput Plugins

Adobe FlashAdobe Flash Adobe PhotoshopAdobe Photoshop Custom Game Creation PluginCustom Game Creation Plugin

Page 35: Game Teleporter A Development Tool For Everyone

Flash Input PluginFlash Input Plugin

Written In C++Written In C++ Over 2000 Lines Of CodeOver 2000 Lines Of Code Implementation Of Variables And Implementation Of Variables And

StackStack

Page 36: Game Teleporter A Development Tool For Everyone

Psd Input PluginPsd Input Plugin

Written In C++Written In C++ Over 1000 Lines Of CodeOver 1000 Lines Of Code Supports Displaying Of ImagesSupports Displaying Of Images Uses ImageMagickUses ImageMagick

Open Source Command Line Graphics Open Source Command Line Graphics PackagePackage

Converts Layers To PngsConverts Layers To Pngs

Page 37: Game Teleporter A Development Tool For Everyone

Custom Game Creation Custom Game Creation PluginPlugin

Written In C#Written In C# Over 1500 Lines Of CodeOver 1500 Lines Of Code Generates Intermediate Code For A Generates Intermediate Code For A

Pong-Like GamePong-Like Game

Page 38: Game Teleporter A Development Tool For Everyone

Intermediate File FormatIntermediate File Format

Images Stored As PNGsImages Stored As PNGs Source Code Is “c-like”Source Code Is “c-like” Supports Images, Include Files, User Supports Images, Include Files, User

Defined FunctionsDefined Functions

Page 39: Game Teleporter A Development Tool For Everyone

Intermediate File Format - Intermediate File Format - SampleSample

Page 40: Game Teleporter A Development Tool For Everyone

Output PluginsOutput Plugins Starts With Skeleton Set Of FilesStarts With Skeleton Set Of Files Skeleton Set – All Required Files To Build An Skeleton Set – All Required Files To Build An

AppApp Inside Of Skeleton Set Are TagsInside Of Skeleton Set Are Tags

INCLUDES, DECLARATIONS, MAINLOOP, INCLUDES, DECLARATIONS, MAINLOOP, FUNCTIONSFUNCTIONS

Output Plugin Generates Code For The Output Plugin Generates Code For The Different Sets Of Tags Based On Different Sets Of Tags Based On Intermediate Files.Intermediate Files.

Generated Code Is Inserted Into The Proper Generated Code Is Inserted Into The Proper Place In The Proper FilesPlace In The Proper Files

All Output Plugins Must Implement Required All Output Plugins Must Implement Required FunctionsFunctions

Page 41: Game Teleporter A Development Tool For Everyone

Visual Basic.Net Output Visual Basic.Net Output PluginPlugin

Written In C++Written In C++ Over 1100 Lines Of CodeOver 1100 Lines Of Code Skeleton Set Of Files Includes SolutionSkeleton Set Of Files Includes Solution

Dim count As Int16 = 0Dim count As Int16 = 0 While 1While 1 Application.DoEvents()Application.DoEvents() '<MAINLOOP>'<MAINLOOP> '</MAINLOOP>'</MAINLOOP> End IfEnd If End WhileEnd While

Page 42: Game Teleporter A Development Tool For Everyone

Visual Basic.Net Output Visual Basic.Net Output PluginPlugin

After Code Generation Plugin After Code Generation Plugin Invokes Command Line BuilderInvokes Command Line Builder Devenv /build debug template.sln Will Devenv /build debug template.sln Will

Build Template.SlnBuild Template.Sln

Page 43: Game Teleporter A Development Tool For Everyone

PSP Output PluginPSP Output Plugin

Written In C++Written In C++ Over 700 Lines Of CodeOver 700 Lines Of Code Skeleton File Includes All Files Skeleton File Includes All Files

Necessary To Build A PSP GameNecessary To Build A PSP Game Copies Files To Build Environment Copies Files To Build Environment

Within CygwinWithin Cygwin Can Run Unsigned Code Because Of Can Run Unsigned Code Because Of

The ‘%’ CharacterThe ‘%’ Character

Page 44: Game Teleporter A Development Tool For Everyone

PSP Output PluginPSP Output Plugin Skeleton FileSkeleton File

while (1)while (1) {{ clearScreen(0xff);clearScreen(0xff); //<MAINLOOP>//<MAINLOOP> //</MAINLOOP>//</MAINLOOP> sceDisplayWaitVblankStart();sceDisplayWaitVblankStart(); flipScreen();flipScreen(); if (button.Buttons & PSP_CTRL_TRIANGLE)if (button.Buttons & PSP_CTRL_TRIANGLE) {{ sceKernelSleepThread();sceKernelSleepThread(); return 0; return 0; break;break; }} sceKernelDelayThread(10000);sceKernelDelayThread(10000); }}

Page 45: Game Teleporter A Development Tool For Everyone

QBasic Output PluginQBasic Output Plugin

Written In C++Written In C++ Over 1000 Lines Of CodeOver 1000 Lines Of Code DOS Requires Filenames Of Only 8 DOS Requires Filenames Of Only 8

CharactersCharacters Variables And Functions Have Special Variables And Functions Have Special

Characters At The End Of Names As Characters At The End Of Names As Designations Of Variable TypeDesignations Of Variable Type Had To Keep Track Of Variable Types So Had To Keep Track Of Variable Types So

They Were Printed Correctly In Basic Output They Were Printed Correctly In Basic Output FileFile

Page 46: Game Teleporter A Development Tool For Everyone

QBasic Output PluginQBasic Output Plugin Skeleton FileSkeleton File

DO WHILE k$ <> ""DO WHILE k$ <> ""

IF k$ = CHR$(27) THEN ENDIF k$ = CHR$(27) THEN END IF k$ = "W" THEN upPressed% = 1IF k$ = "W" THEN upPressed% = 1 IF k$ = "S" THEN downPressed% = 1IF k$ = "S" THEN downPressed% = 1 IF k$ = "A" THEN leftPressed% = 1IF k$ = "A" THEN leftPressed% = 1 IF k$ = "D" THEN rightPressed% = 1IF k$ = "D" THEN rightPressed% = 1 k$ = INKEY$k$ = INKEY$ LOOPLOOP END DEFEND DEF DODO updateNeeded% = 0updateNeeded% = 0 REM <MAINLOOP>REM <MAINLOOP> REM </MAINLOOP> REM </MAINLOOP> LOOPLOOP REM </FILE>REM </FILE>

Page 47: Game Teleporter A Development Tool For Everyone

Create Bounce Game Create Bounce Game Source CodeSource Code

Intermediate Code PSP Code Intermediate Code PSP Code VB.Net CodeVB.Net Code

Page 48: Game Teleporter A Development Tool For Everyone

Create Bounce Game Create Bounce Game Source CodeSource Code

Intermediate Code PSP Code Intermediate Code PSP Code VB.Net CodeVB.Net Code

Page 49: Game Teleporter A Development Tool For Everyone

SummarySummary

The Game Teleporter Sets Up The The Game Teleporter Sets Up The Framework For Easy Multiplatform Framework For Easy Multiplatform DevelopmentDevelopment

Great Tool For Educational PurposesGreat Tool For Educational Purposes Easier To Generate ProgramsEasier To Generate Programs Easier To Learn New Development Easier To Learn New Development

EnvironmentsEnvironments Easier To Learn New Target PlatformsEasier To Learn New Target Platforms

Page 50: Game Teleporter A Development Tool For Everyone

Summary ContinuedSummary Continued

Demonstrated Both The Design And Demonstrated Both The Design And Implementation Of An Entire ProjectImplementation Of An Entire Project

Appropriate Languages Were Used Appropriate Languages Were Used (C# For User Interface, C++ For (C# For User Interface, C++ For The Game Teleporter Itself)The Game Teleporter Itself)

Create A Study And Analyze The Create A Study And Analyze The ResultsResults

Page 51: Game Teleporter A Development Tool For Everyone

Future WorkFuture Work

This Project Is Open SourceThis Project Is Open Source Source Is Available Now AtSource Is Available Now At

http://www.tonymorelli.comhttp://www.tonymorelli.com Will Be On SourceforgeWill Be On Sourceforge Plugins Will Be Created By The Plugins Will Be Created By The

Experts In Each AreaExperts In Each Area Paper Will Be Presented At FIE 2007Paper Will Be Presented At FIE 2007

Page 52: Game Teleporter A Development Tool For Everyone

Questions/CommentsQuestions/Comments