game engines - courses.cs.ut.ee
TRANSCRIPT
![Page 1: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/1.jpg)
Game EnginesJaanus Jaggo
2021
![Page 2: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/2.jpg)
Game engines
2
This is not even half of all the engines!
1
23
4
5
7
8
11
9
1210
1314
15
6
![Page 3: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/3.jpg)
Game engines
3
This is not even half of all the engines!
23
4
5
7
8
11
9
1210
1314
15
6
![Page 4: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/4.jpg)
Game engines
4
This is not even half of all the engines!
3
4
5
7
8
11
9
1210
1314
15
6
![Page 5: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/5.jpg)
Game engines
5
This is not even half of all the engines!
4
5
7
8
11
9
1210
1314
15
6
![Page 6: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/6.jpg)
Game engines
6
This is not even half of all the engines!
5
7
8
11
9
1210
1314
15
6
![Page 7: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/7.jpg)
Game engines
7
This is not even half of all the engines!
7
8
11
9
1210
1314
15
6
![Page 8: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/8.jpg)
Game engines
8
This is not even half of all the engines!
7
8
11
9
1210
1314
15
![Page 9: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/9.jpg)
Game engines
9
This is not even half of all the engines!
8
11
9
1210
1314
15
![Page 10: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/10.jpg)
Game engines
10
This is not even half of all the engines!
11
9
1210
1314
15
![Page 11: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/11.jpg)
Game engines
11
This is not even half of all the engines!
1112
10
1314
15
![Page 12: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/12.jpg)
Game engines
12
This is not even half of all the engines!
1112
1314
15
![Page 13: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/13.jpg)
Game engines
13
This is not even half of all the engines!
12
1314
15
![Page 14: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/14.jpg)
Game engines
14
This is not even half of all the engines!
1314
15
![Page 15: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/15.jpg)
Game engines
15
This is not even half of all the engines!
1415
![Page 16: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/16.jpg)
Game engines
16
This is not even half of all the engines!
15
![Page 17: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/17.jpg)
Game engines
17
This is not even half of all the engines!
![Page 18: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/18.jpg)
Game engines
18
![Page 19: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/19.jpg)
There is no “best” game engineAs there is no “best” programming language
19
But some people like to express their opinion loudly!
This course is based on my own experience.Your experience might differ.
![Page 20: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/20.jpg)
You will learn1. Fundamental knowledge to use Unity, Godot and Unreal Engine 4 GE.2. Using these engines to program a game.3. Architecture patterns of these engines.4. Comparing these engines for solving a specific problem.
20
![Page 21: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/21.jpg)
Course Organization3 EAP = 78h of work
Practices: 16 * 1,5h = 24h
Individual work (homeworks): 46h
Test: 8h
21
Course information: https://courses.cs.ut.ee/2020/ge/fall
Non-differentiable grading:passed / not passed / not present
Homeworks: 60pTest: 40p (at least 30p from homeworks required)
points > 50 = passed
![Page 22: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/22.jpg)
Course Organization
22
Introduction Unity Unity Unity Unity Godot Godot
Godot Godot Unreal UnrealUnreal Unreal Unreal
Unreal Unreal Test...
![Page 23: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/23.jpg)
Course Organization4 Homeworks (15 points each):
● 1 in Unity● 1 in Godot● 2 in Unreal
23
Test (40p) - questions about:● Game engine differences● Game engine architecture patterns● Game engine specific questions
![Page 24: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/24.jpg)
Course OrganizationDiscord channel (combined with Game Dev and Design Course)
24
Link in courses page: https://courses.cs.ut.ee/2021/ge/fall
● Have a game dev discussion with other students● Ask help● Help others
![Page 25: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/25.jpg)
Any questions about the course organization?
25
![Page 26: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/26.jpg)
Early gamesMost of the early games were written in Assembly language.
● Hardware specific● Memory limited
26
Every byte was counted = very little could be reused
![Page 27: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/27.jpg)
Game engine purposeGame engines provide a suit of development tools and reusable software components.
Most provide facilities such: graphics, sounds, physics and artificial-intelligence (AI)
27
● Initially in-house only● during 90s the 3D first person shooter games (Doom, Quake…) gain popularity →
○ need for licensed game cores →○ games like Unreal were designed with separated engine and content
![Page 28: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/28.jpg)
About me
28
Software Engineering Assistant since 2016
Teaching:● Computer Graphics● Computer Game Development and Design● Game Engines (NEW)
Main interests● Modern technologies● Procedural generation● Art creation workflows● Visual effects
![Page 29: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/29.jpg)
My journeyMiddle school and high school
29
During bachelors
During masters2018Now
![Page 30: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/30.jpg)
My journeyMiddle school and high school
Language: GameMaker Language (GML)
![Page 31: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/31.jpg)
My journeyMiddle school and high school
![Page 32: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/32.jpg)
My journeyBachelor study years
● Switched to XNA engine (free engine from microsoft)● Studied OOP programming
Language: C#
![Page 33: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/33.jpg)
My journeySpace game (inspired from Asteroids)
![Page 34: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/34.jpg)
My journey
34
Gamasutra February 1, 2013
● Designed to be like XNA but not 100%
● Designed to be fully compatible with XNA 4.0
![Page 35: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/35.jpg)
My journeyWeb games using Javascript + HTML5 Canvas
35
![Page 36: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/36.jpg)
My journeyMultiplayer game in C++ (Allegro + Enet)
Development was really slow
36
![Page 37: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/37.jpg)
My journeyReimplementation in Monogame with two weeks
37This image illustrates an improved state after the reimplementation
![Page 38: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/38.jpg)
My journeyUnity and Computer Graphics during Master’s study
38
![Page 39: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/39.jpg)
My journey2018 Unreal Engine - Multiplayer remake of Optimatica
39
![Page 40: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/40.jpg)
My journeyNow - Godot
40
![Page 41: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/41.jpg)
Types of game engines
● Platform specific game engines● Game engines with Visual scripting● Specialized game engines● Framework like game engines● Niche game engines
41
These are not mutually exclusive
![Page 42: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/42.jpg)
Platform specific game enginesSome game engines are designed for making game on a specific platform like:
● Game Console● Web● PC● Mobile
42Nintendo DS official dev kit
![Page 43: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/43.jpg)
Platform specific game enginesWeb game engines - usually extend the functionality of HTML5 canvas or WebGL
43Game Dev Tycoon - packaged with chromium for PC
![Page 44: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/44.jpg)
Types of game engines
● Platform specific game engines● Game engines with Visual scripting● Specialized game engines● Game development frameworks● Niche game engines
44
These are not mutually exclusive
![Page 45: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/45.jpg)
Game engines with visual scriptingThey simplify game programming by allowing even non-programmers to make games. Excellent for learning.
45
![Page 46: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/46.jpg)
Game engines with visual scriptingEven modern game engines use visual scripting:
46
![Page 47: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/47.jpg)
Types of game engines
● Platform specific game engines● Game engines with Visual scripting● Specialized game engines● Framework like game engines● Niche game engines
47
These are not mutually exclusive
![Page 48: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/48.jpg)
Specialized game engines1. RPG Maker - for Japanese style role
playing games.2. FPS Creator - for first person
shooter games3. Adventure Game Studio - for point
and click adventure games
48
![Page 49: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/49.jpg)
Specialized game enginesRPG maker - for making Japanese style RPG games
Release date: 1992
49
https://www.thegamecreators.com/product/fps-creator-classic-open-source
![Page 50: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/50.jpg)
Specialized game enginesFPS Creator - for first person shooter games, provides library of 800 3D objects
Release date: 2005
50
https://www.thegamecreators.com/product/fps-creator-classic-open-source
![Page 51: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/51.jpg)
Specialized game enginesAdventure game studio (AGS) - for making point and click adventure games
Release date: 2009
51
Unavowed
![Page 52: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/52.jpg)
Types of game engines
● Platform specific game engines● Game engines with Visual scripting● Specialized game engines● Framework like game engines● Niche game engines
52
These are not mutually exclusive
![Page 53: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/53.jpg)
Game Development FrameworksGame engines that only provide a framework of components for things like rendering, audio, collision checking...
● Ogre3D (C++)● Allegro (C++)● XNA / Monogame / FNA (C#)● Lightweight Java Game Library (Java)
53
https://forums.factorio.com/viewtopic.php?t=3692
Sometimes they are called rendering engines.
![Page 54: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/54.jpg)
Game Development Frameworks● XNA / FNA / Monogame
54
![Page 55: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/55.jpg)
Types of game engines
● Platform specific game engines● Game engines with Visual scripting● Specialized game engines● Framework like game engines● Niche game engines
55
These are not mutually exclusive
![Page 56: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/56.jpg)
Types of game engines
Niche game engines
56
https://www.gamasutra.com/view/news/255932/MaxPlays_new_game_engine_aims_to_be_Google_Docs_for_game_devs.php
MaxPlay game engines aims to be ‘Google Docs for game devs’
Game Development Suite (GDS)
![Page 57: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/57.jpg)
Types of game engines
Niche game engines
57
Duke Nukem 3D (1996)Witchaven (1995) Ion Fury (2019)
![Page 58: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/58.jpg)
Most popular game engines today
58Don’t take it as a ground truth, but it gives an indication.
![Page 59: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/59.jpg)
Popular game engines today
59
GMTK 2020 game jam engines (biggest game jam in Itch.IO hisotry, 5397 entries)
PS! 2021 results were quite similar: Unity 61.6%, Godot 13.1%, Game Maker 8.9%, UE 4.2%
![Page 60: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/60.jpg)
Popular game engines today
60
GMTK 2020 game jam engines (biggest game jam in Itch.IO hisotry, 5397 entries)
![Page 61: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/61.jpg)
Other game engines to consider
61
Pricing (Paid) Free version without export
![Page 62: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/62.jpg)
Game engines with visual scriptingGames made with GameMaker
62
![Page 63: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/63.jpg)
Other game engines to consider
63
Previously pay-what-you wantNow 5% of revenue
Pricing (Free to use)
Have to use Amazon services (if you need any)
Pricing (Free to use)
on 2016 Amazon obtained a branch
C++ / LuaC# / C++ / Lua
![Page 64: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/64.jpg)
Other game engines to consider
64
Pricing (Free to use)Steam exclusive (games must be released on Steam)
![Page 65: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/65.jpg)
Other game engines to consider
65
Pricing (Paid)Has free edition with restrictionsPersonal licence with subscription
Very easy to learn, even for non-programmers
![Page 66: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/66.jpg)
Other game engines to consider
66
Open source game engines / frameworks
![Page 67: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/67.jpg)
Unity vs Godot vs Unreal Engine 4
67
vs vs
● Open source● 2D / 3D● Growing rapidly● GDscript / C#
● Largest community● 2D / 3D● C#
● Based on in-house game development
● mostly 3D (Amazing)● C++ / Blueprints
Pricing (Free to use)Free personal version up to rev 100kPro and Plus with subscriptions
Pricing (Free to use)If you make money you should support them really
Pricing (Free to use)Completely free until first Million $5% royalty after that
![Page 68: Game Engines - courses.cs.ut.ee](https://reader030.vdocuments.us/reader030/viewer/2022012020/616893fed394e9041f70c805/html5/thumbnails/68.jpg)
Next time - introduction to Unity
68
● Largest community● 2D / 3D● C#
Pricing (Free to use)Free personal version up to rev 100kPro and Plus with subscriptions
Let me know:
1. What engine are you most interested in?
2. Is there anything specific you would like to learn?
3. Any suggestions how to make this a better course for you!