Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Game Programming 01 - Introduction

724 views

Published on

Chapter 1 of the lecture Game Programming taught at HAW Hamburg.

About the importance of fast iterations, and how to learn from others.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Game Programming 01 - Introduction

  1. 1. Game Programming Introduction Nick Prühs
  2. 2. Objectives • To learn how to learn from others • To get an idea of how to plan your game project • To understand the importance of fast iterations 2 / 60
  3. 3. Learning From Others 3 / 60 StarCraft II Galaxy Editor
  4. 4. Learning From Others 4 / 60 StarCraft II Galaxy Editor
  5. 5. Learning From Others 5 / 60 StarCraft II Galaxy Editor
  6. 6. Learning From Others 6 / 60 World of Warcraft LUA UI API
  7. 7. Learning From Others 7 / 60 Hearthstone Log File
  8. 8. Learning From Others 8 / 60 StarCraft II Screenshot
  9. 9. Learning From Others 9 / 60 StarCraft II Screenshot
  10. 10. Learning From Others 10 / 60 StarCraft II Screenshot
  11. 11. Learning From Others 11 / 60 StarCraft II Screenshot
  12. 12. Learning From Others 12 / 60 StarCraft II Screenshot
  13. 13. Learning From Others 13 / 60 StarCraft II Screenshot
  14. 14. Learning From Others 14 / 60 StarCraft II Screenshot
  15. 15. Learning From Others 15 / 60 StarCraft II Screenshot
  16. 16. Learning From Others 16 / 60 Unreal Tournament 3 Splash Screen
  17. 17. Learning From Others 17 / 60 Unreal Tournament 3 Login Screen
  18. 18. Learning From Others 18 / 60 Hostile Worlds Screen Transitions
  19. 19. Learning From Others 19 / 60 Steam Server Browser
  20. 20. Learning From Others 20 / 60 WarCraft III Lobby
  21. 21. Learning From Others 21 / 60 WarCraft III Loading Screen
  22. 22. Learning From Others 22 / 60 WarCraft III Score Screen
  23. 23. Learning From Others 23 / 60 StarCraft II Options Screen
  24. 24. Learning From Others 24 / 60 Doom 3 GPL Release on GitHub
  25. 25. ... but don’t copy blindly!
  26. 26. ... but don’t copy blindly!
  27. 27. ... but don’t copy blindly!
  28. 28. ... but don’t copy blindly!
  29. 29. ... but don’t copy blindly!
  30. 30. ... but don’t copy blindly!
  31. 31. ... but don’t copy blindly!
  32. 32. ... but don’t copy blindly!
  33. 33. ... but don’t copy blindly!
  34. 34. ... but don’t copy blindly!
  35. 35. ... but don’t copy blindly!
  36. 36. ... but don’t copy blindly!
  37. 37. There might even be cookies. 37 / 60 Source: UTWeap_LinkGun.uc (August UDK 2010) /** Holds the list of link guns linked to this weapon */ var array<UTWeap_LinkGun> LinkedList; // I made a funny Hahahahah :)
  38. 38. Project Planning 38 / 60 • I’m assuming you’ve got dedicated courses about Game Production. • These will cover  project management models such as Waterfall and SCRUM  buffers and priorities • I’m just gonna stick with one single advice.
  39. 39. Project Planning 39 / 60 Don’t alter your milestones!
  40. 40. Major Milestones 40 / 60 • Alpha  feature-complete  no showstopper bugs • Beta  asset-complete  no A- or B-bugs • Master  balanced  no A-, B- or C-bugs
  41. 41. Major Milestones 41 / 60 • Spend several weeks on each of these! • Improve through iteration and add features one by one, in order of priority! • When your time’s up: Cut all remaining features. • It will make your game better.  Trust me.
  42. 42. The Art of Prototyping 42 / 60 • Start off with a paper prototype!  Iterate! • Add a prototype in an existing game engine (mod)!  Iterate! • Document all changes, especially their motivation!
  43. 43. The Art of Prototyping 43 / 60 Jesse Schell: The Art of Game Design
  44. 44. The Art of Prototyping 44 / 60 Hostile Worlds – Early Screenshot
  45. 45. The Art of Prototyping 45 / 60 Hostile Worlds – Early Screenshot (ugly, right??)
  46. 46. Importance of Cheats 46 / 60 Hostile Worlds Prototype Cheats
  47. 47. Importance of Cheats 47 / 60 Campus Buddies Debug Page
  48. 48. Importance of Cheats 48 / 60 FreudBot Cheat Console
  49. 49. Don’t Reinvent The Wheel 49 / 60 Google Guava
  50. 50. Don’t Reinvent The Wheel 50 / 60 Joda Time
  51. 51. Don’t Reinvent The Wheel 51 / 60 OpenCSV
  52. 52. Don’t Reinvent The Wheel 52 / 60 Vectrosity
  53. 53. Don’t Reinvent The Wheel 53 / 60 Spine
  54. 54. Don’t Reinvent The Wheel 54 / 60 DOTween
  55. 55. Don’t Reinvent The Wheel 55 / 60 UnityQuery
  56. 56. Learning From Others II 56 / 60 Post-Mortem of Campus Buddies
  57. 57. Learning From Others II 57 / 60 Post-Mortem of WarCraft
  58. 58. Learning From Others II 58 / 60 Talk – Practical AI in Unity
  59. 59. Learning From Others II 59 / 60 Post-Mortem of Ochestrator
  60. 60. Thank you! http://www.npruehs.de https://github.com/npruehs @npruehs nick.pruehs@daedalic.com
  61. 61. 5 Minute Review Session • What existing sources can you consult when tackling a problem? • Should you consider cutting features, and when? • How can you easily prototype game features? • How can you greatly speed up game testing?

×