<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Game_Engines_2021W_Lecture_1</id>
	<title>Game Engines 2021W Lecture 1 - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://homeostasis.scs.carleton.ca/wiki/index.php?action=history&amp;feed=atom&amp;title=Game_Engines_2021W_Lecture_1"/>
	<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Game_Engines_2021W_Lecture_1&amp;action=history"/>
	<updated>2026-04-08T03:33:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Game_Engines_2021W_Lecture_1&amp;diff=22774&amp;oldid=prev</id>
		<title>Soma: /* Notes */</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Game_Engines_2021W_Lecture_1&amp;diff=22774&amp;oldid=prev"/>
		<updated>2021-01-14T18:17:15Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Notes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 18:17, 14 January 2021&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Notes==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Notes==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;pre&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Lecture 1&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;---------&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Course Outline&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Course Outline&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Soma</name></author>
	</entry>
	<entry>
		<id>https://homeostasis.scs.carleton.ca/wiki/index.php?title=Game_Engines_2021W_Lecture_1&amp;diff=22773&amp;oldid=prev</id>
		<title>Soma: Created page with &quot;==Notes== &lt;pre&gt; Course Outline   What is a game engine?  Why?  - platform/environment for creating and running games  - collection of tools  - normally has a physics engine  -...&quot;</title>
		<link rel="alternate" type="text/html" href="https://homeostasis.scs.carleton.ca/wiki/index.php?title=Game_Engines_2021W_Lecture_1&amp;diff=22773&amp;oldid=prev"/>
		<updated>2021-01-14T18:16:57Z</updated>

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