Game Programming 01 - Introduction

Post on 02-Jul-2015

190 views 1 download

description

Chapter 1 of the lecture Game Programming taught at HAW Hamburg. About the importance of fast iterations, and how to learn from others.

Transcript of Game Programming 01 - Introduction

Game ProgrammingIntroductionNick Prühs

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

Learning From Others

3 / 60

StarCraft II Galaxy Editor

Learning From Others

4 / 60

StarCraft II Galaxy Editor

Learning From Others

5 / 60

StarCraft II Galaxy Editor

Learning From Others

6 / 60

World of Warcraft LUA UI API

Learning From Others

7 / 60

Hearthstone Log File

Learning From Others

8 / 60

StarCraft II Screenshot

Learning From Others

9 / 60

StarCraft II Screenshot

Learning From Others

10 / 60

StarCraft II Screenshot

Learning From Others

11 / 60

StarCraft II Screenshot

Learning From Others

12 / 60

StarCraft II Screenshot

Learning From Others

13 / 60

StarCraft II Screenshot

Learning From Others

14 / 60

StarCraft II Screenshot

Learning From Others

15 / 60

StarCraft II Screenshot

Learning From Others

16 / 60

Unreal Tournament 3 Splash Screen

Learning From Others

17 / 60

Unreal Tournament 3 Login Screen

Learning From Others

18 / 60

Hostile Worlds Screen Transitions

Learning From Others

19 / 60

Steam Server Browser

Learning From Others

20 / 60

WarCraft III Lobby

Learning From Others

21 / 60

WarCraft III Loading Screen

Learning From Others

22 / 60

WarCraft III Score Screen

Learning From Others

23 / 60

StarCraft II Options Screen

Learning From Others

24 / 60

Doom 3 GPL Release on GitHub

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

... but don’t copy blindly!

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 :)

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.

Project Planning

39 / 60

Don’t alter your

milestones!

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

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.

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!

The Art of Prototyping

43 / 60

Jesse Schell: The Art of Game Design

The Art of Prototyping

44 / 60

Hostile Worlds – Early Screenshot

The Art of Prototyping

45 / 60

Hostile Worlds – Early Screenshot(ugly, right??)

Importance of Cheats

46 / 60

Hostile Worlds Prototype Cheats

Importance of Cheats

47 / 60

Campus Buddies Debug Page

Importance of Cheats

48 / 60

FreudBot Cheat Console

Don’t Reinvent The Wheel

49 / 60

Google Guava

Don’t Reinvent The Wheel

50 / 60

Joda Time

Don’t Reinvent The Wheel

51 / 60

OpenCSV

Don’t Reinvent The Wheel

52 / 60

Vectrosity

Don’t Reinvent The Wheel

53 / 60

Spine

Don’t Reinvent The Wheel

54 / 60

DOTween

Don’t Reinvent The Wheel

55 / 60

UnityQuery

Learning From Others II

56 / 60

Post-Mortem of Campus Buddies

Learning From Others II

57 / 60

Post-Mortem of WarCraft

Learning From Others II

58 / 60

Talk – Practical AI in Unity

Learning From Others II

59 / 60

Post-Mortem of Ochestrator

Thank you!

http://www.npruehs.de

https://github.com/npruehs

@npruehs

nick.pruehs@daedalic.com

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?