Professional Documents
Culture Documents
My term for game jam code. Essentially code not focused on elegance, just function.
Many of the games had a specific set of levels. Expanding them to full-fledged games
could only happen with great effort.
Needed to cover all aspects of how computers display graphics and look at images.
Component-Entity System
Engine contains a list of all components in the scene, and loops through
them every frame, calling their update function
Component-Entity System
Easily Serialized
Each component has a serialize() function that outputs all public variables
and any others needed to instantiate it into a textual format.
Designing my own
Multiplied through one or transformation matrices to get them into world space.
Vertices are mapped in groups of three to an array that holds which three vertices
create a triangle
All vertices pass through this function and are passed along in groups of three to the
fragment shader.
Often where vertices are moved from world space to camera space, such that the
camera is at 0,0,0 relative to all vertices.
Fragment Shader
Determines what color each pixel should be and outputs it to the monitor.
Bottlenecks
Has reference to its parent transform, so that objects can have children and
parents
Material Class Link to Shader and the data for the pointer like textures
Graphics System
Holds window, context, and other GPU Specific data and pointers
Also handles any post-processing effects that affect the entire screen
Lots of books, lots of games, lots of documentation. Can be ported to basically anything.
Pillars of Eternity
The good
The Bad
Poorly Optimized. Not only is the game rife with bugs, but for skeletal characters, each bone is considered
a separate object, creating lots of needless overhead. When the game has to display a lot of characters,
the game chugs.
Maintenance is not simple. Once the game is packaged, all assets are stored in binary files for quick
access. Patching requires a rebuild, instead of patching a script or two.
This is the everymans engine for AAA developers, and has been for
nearly two decades.
Focuses on 2D
Focuses around building reusable tools and an editor, rather than building a
specifc vertical slice of a game.
A game engine and game made by David Rosen over the last 7
years(!!)
An engine can be
Well Optimized
Scalable
Useable
Unreal Engine
Unity 3D
Phoenix Engine
(Overgrowth)
Well Optimized
Portable to different
games
Useable
Well Optimized
Scalable
Useable
2D, not 3D