Introduction to Game Design (2.1, 2.2) Game Programming Brooklyn College.
Game Programming 01 - Introduction
-
Upload
nick-pruehs -
Category
Technology
-
view
193 -
download
1
description
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
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?