Game Engines 2021W Lecture 1: Difference between revisions
Created page with "==Notes== <pre> Course Outline What is a game engine? Why? - platform/environment for creating and running games - collection of tools - normally has a physics engine -..." |
|||
Line 1: | Line 1: | ||
==Notes== | ==Notes== | ||
<pre> | <pre> | ||
Lecture 1 | |||
--------- | |||
Course Outline | Course Outline | ||
Latest revision as of 18:17, 14 January 2021
Notes
Lecture 1 --------- Course Outline What is a game engine? Why? - platform/environment for creating and running games - collection of tools - normally has a physics engine - has some way to "render" graphics, manage sound, music game engines are designed to help the creation of games - what they are depends on the kind of games they are intended to support - 2D vs 3D - graphics vs text - Inform before game engines, you just had raw dev environments - just write the program! - make your own rendering engine, physics, text parsing, sound, etc game engines came about because programmers/game developers got lazy - why reinvent the wheel? - started proprietary, but then became open - can also help with portability Two big milestones in game engine development - Z machine <--- ancestor of Inform, Z is from Zork! - Doom game engine release - code GPL, assets proprietary - led to lots of "game mods" (entirely new games often), engine enhancements Two popular game engines nowadays - Unity - Unreal Maintaining a modern game engine is a lot of work - portability is a pain - expectations keep going up - better rendering, physics, sound - hard for proprietary engines to keep up Game engines look like operating systems to me - ok, they are "middleware" - but they do the abstraction and resource management of an OS - kinda have device drivers, esp with modern graphics APIs - Metal, Vulkan, D3D 12? What is the cost of using someone else's engine? - constrained by what they give you - abstractions may not match your game or your approach! - you have to learn them - again, may not match your mental model - money! This course is about understanding the design and implmentation of game engines - need to pick an example - understand what they facilitate, and what they restrict Why godot? - not as advanced as Unity or Unreal - but it is growing - it is open source - so you have control, can make contributions - and it is small yet feature filled - game engines are becoming more and more important - used for much more than games - will be demand for open source engines, and Godot might be it - kind of like Linux Godot's editor is implemented in Godot