game engine selection
play

Game Engine Selection Andrew Haydn Grant Technical Director MIT - PowerPoint PPT Presentation

Game Engine Selection Andrew Haydn Grant Technical Director MIT Game Lab September 3, 2014 Fall 2014 CMS.611J/6.073 1 Games Are Software UI Back end Design/Spec/Customer Features Bugs Task lists etc. Fall 2014


  1. Game Engine Selection Andrew Haydn Grant Technical Director MIT Game Lab September 3, 2014 Fall 2014 CMS.611J/6.073 1

  2. Games Are Software ● UI ● Back end ● Design/Spec/Customer ● Features ● Bugs ● Task lists ● etc. Fall 2014 CMS.611J/6.073 2

  3. Games Are Software++ ● UI must be intuitive ● User testing ● “Fun” ● User testing ● Gameplay Difficulty ● User testing ● Emotional Impact ● User Testing Fall 2014 CMS.611J/6.073 3

  4. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection o Dealbreakers o Nice to have ● Engines o The Good o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 4

  5. Tinker Toys vs Vision This is what I WANT. How do I make it with these? This is what I HAVE. What can I make? Fall 2014 CMS.611J/6.073 5

  6. Definition of “Hard” “Actually, I don’t care how hard it is. How long will it take?” Fall 2014 CMS.611J/6.073 6

  7. NOT Writing Code ● Coding Is Slow o think o implement o debug o integrate o debug o debug o debug Fall 2014 CMS.611J/6.073 7

  8. NOT Writing Code ● Coding Is Slow o think o implement o debug o integrate o debug ● So Write Less Code o Paper Prototyping o Iterative Design & Testing Early o Game Engines Fall 2014 CMS.611J/6.073 8

  9. Why A Game Engine? ● Time o Avoid reinventing the wheel o Avoid certain kinds of bugs o Define general direction of your architecture ● Inspiration o Use the feature list as a set of possibilities o Use the feature list as a set of limitations Fall 2014 CMS.611J/6.073 9

  10. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection o Dealbreakers o Nice to have ● Engines o The Good o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 10

  11. Game Engine Selection ● It’s an important decision ● But don’t stress about it too much. o No engine is perfect. Fall 2014 CMS.611J/6.073 11

  12. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection o Dealbreakers o Nice to have ● Engines o The Good o The Okay o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 12

  13. Primary Selection Criteria (dealbreakers) Cost Free vs Painful vs Impossible Fall 2014 CMS.611J/6.073 13

  14. Primary Selection Criteria (dealbreakers) Power: Can We Build It? ● Fundamentals only o Ignore bells & whistles ● 3d/2d ● Publishing platform ● Input methods ● Other known requirements Fall 2014 CMS.611J/6.073 14

  15. Primary Selection Criteria (dealbreakers) Ease of learning ● Search engine friendly Support community! o ● Tutorials & Documentation Support community! o o In-house experts? A person knowing the engine is only useful if that person WELCOMES being a teacher.  ● Learning Curve Fall 2014 CMS.611J/6.073 15

  16. Primary Selection Criteria (dealbreakers) Ease of Use ● Strongly Typed Programming Language Compile-time error detection o Free Communication Channels o Auto-complete code editor  Easier Integration  Fall 2014 CMS.611J/6.073 16

  17. Close Enough If you know one, you know the others: ● Java ● C# ● AS3 ● Haxe Extra bonus: ● C++ If you know this, you know all of the above. Fall 2014 CMS.611J/6.073 17

  18. Not Close Enough Java != Javascript Fall 2014 CMS.611J/6.073 18

  19. Primary Selection Criteria (dealbreakers) Ease of Use ● Source control friendly? ● Debugging? Fall 2014 CMS.611J/6.073 19

  20. Primary Selection Criteria (dealbreakers) Robust Product ● Few bugs Hard to analyze quickly o Cues: o Strong Community  Large Community  Fall 2014 CMS.611J/6.073 20

  21. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection o Dealbreakers o Nice to have ● Engines o The Good o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 21

  22. Secondary Selection Criteria (nice to have) Ease of Use ● Asset pipeline ● Source Code Available? ● Code IDE? ● World Editor? ● Profiling? Fall 2014 CMS.611J/6.073 22

  23. Secondary Selection Criteria (meh) Power: Bells And Whistles ● Rendering Speed ● Pathfinding ● Physics ● Shaders ● Shadows ● Particle Systems Fall 2014 CMS.611J/6.073 23

  24. Criteria I Don't Use ● Scripting Languages ● Beautiful Games Fall 2014 CMS.611J/6.073 24

  25. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection Dealbreakers o Nice to have ● Engines o The Good o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 25

  26. Why Flixel? ● Free ● Publishes to web in Flash ● Robust ● IDE ● All source visible ● Strongly typed language ● Simple object oriented architecture ● Excellent for 2d sprite-based Action Fall 2014 CMS.611J/6.073 26

  27. Learning Curve: Flixel Fall 2014 CMS.611J/6.073 27

  28. Why Not Flixel? ● Not so good at heavy GUI work ● Falling usage o Adobe is insane Fall 2014 CMS.611J/6.073 28

  29. Why Unity? ● Free ● Publishes to web ● Excellent Community ● Robust ● IDE ● Excellent Asset Pipeline ● Strongly typed language o and two weakly typed ones ● Harder to learn than Flixel, but easier than almost everything else ● Simple, but unusual component-based architecture Fall 2014 CMS.611J/6.073 29

  30. Why Not Unity? ● 3D ● Source Control/Merge ● Not so good at heavy GUI work Fall 2014 CMS.611J/6.073 30

  31. Preview ● Why Use A Game Engine? ● Criteria For Game Engine Selection o Dealbreakers o Nice to have ● Engines o The Good o The Nooses ● Final Word o How To Learn An Engine o All Software Sucks o Engine Assignment Mechanic Fall 2014 CMS.611J/6.073 31

  32. Nooses ● Haxe Flixel o AS3, Flash pedigree o Flixel Pedigree o Untried ● Phaser o Education Arcade o Javascript bleah- use Typescript!  o Untried Fall 2014 CMS.611J/6.073 32

  33. Learning A Game Engine ● Start with a tutorial ● Try something very small ● Skim the docs ● Try something harder Fall 2014 CMS.611J/6.073 33

  34. All Software Sucks But we still use it. Fall 2014 CMS.611J/6.073 34

  35. Analysis Assignment ● You can trade game engines. ● Spend no more than 4 hours learning your game engine. o If you finish the tutorials, start making an Asteroids or Space Invaders clone. ● Bring your experiences to class Wednesday (Sept 10) o … and a development machine! Fall 2014 CMS.611J/6.073 35

  36. Game Engine Selection Andrew Haydn Grant Technical Director MIT Game Lab September 3, 2014 Fall 2014 CMS.611J/6.073 36 36

  37. MIT OpenCourseWare http://ocw.mit.edu CMS.611 J / 6.073 Creating Video Games Fall 2014 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend