Chapter 3: Resource Manager, Layers and Sprites

https://leanpub.com/gameprogramminggolang

Technical requirements

https://leanpub.com/gameprogramminggolang

The resource manager and asset loading

https://leanpub.com/gameprogramminggolang

What changed in ch03 (before we start)

https://leanpub.com/gameprogramminggolang

ResourceManager structure

https://leanpub.com/gameprogramminggolang

What embed.FS is, and why this project uses it

https://leanpub.com/gameprogramminggolang

Constructor and UseEmbeddedFS

https://leanpub.com/gameprogramminggolang

Wiring embedded sprites: //go:embed, path constants, and loadTextures

https://leanpub.com/gameprogramminggolang

Loading and retrieving textures

https://leanpub.com/gameprogramminggolang

The layer structure

https://leanpub.com/gameprogramminggolang

What are layers?

https://leanpub.com/gameprogramminggolang

Implementing layers: we need a stack first

https://leanpub.com/gameprogramminggolang

The stack, LIFO and Go generics

https://leanpub.com/gameprogramminggolang

The layers implementation, ensureLayer, AddDraw, DrawAll

https://leanpub.com/gameprogramminggolang

The layers system: queue then draw

https://leanpub.com/gameprogramminggolang

Layer roots in the World

https://leanpub.com/gameprogramminggolang

Structural layers vs GetLayer() on sprites

https://leanpub.com/gameprogramminggolang

The World, drawNodes and draw flow

https://leanpub.com/gameprogramminggolang

Recursion and DrawAll: two phases

https://leanpub.com/gameprogramminggolang

The Engine, World and ResourceManager

https://leanpub.com/gameprogramminggolang

Settings and overall flow

https://leanpub.com/gameprogramminggolang

Load textures and create sprites

https://leanpub.com/gameprogramminggolang

Load textures

https://leanpub.com/gameprogramminggolang

Create sprites from textures

https://leanpub.com/gameprogramminggolang

Draw order, floor first, player centered

https://leanpub.com/gameprogramminggolang

Floor sprite, full screen

https://leanpub.com/gameprogramminggolang

Player node, centered

https://leanpub.com/gameprogramminggolang

Result

https://leanpub.com/gameprogramminggolang

Running the chapter

https://leanpub.com/gameprogramminggolang

Summary

https://leanpub.com/gameprogramminggolang