Game development

File size
8.8KB
Rendered lines
172

Game development

Or at least, how Randy thinks you should go about learning it.

The abbreviated guide

  1. Learn C
  2. Avoid modern C++ and figure out low-level C workarounds for C++ equivalents as far as possible (eg. fixed length strings, flat arrays, etc.)
  3. Ignore OOP and prize functional programming
  4. Focus on coding fundamentals
  5. Run from engine brain, it WILL waste your time and prevent you from making a game
  6. Ask lots of questions, whether that's other people, google or LLMs
  7. Write fast and break things
  8. Chase the fun

Useful things to learn

Memory management

Graphics

  1. Don't learn graphics too early and for no reason, just use sokol and sokol-gp
  2. If you're sure you need to learn graphics, then learn these
  3. OpenGL
  4. A Trip through the Graphics Pipeline
  5. DirectXTutorial
  6. LearnD3D11
  7. Minimal D3D11 Github gist
  8. DirectXTK Github repository
  9. HLSL reference documentation

Audio

  1. Don't learn audio, just use FMOD, its the most accesible option for just starting out
  2. If you want to learn audio anyway, look at these
  3. Lessons learnt from a decade of audio programming GDC 2015 talk
  4. Introduction to Sound Mixing as part of Handmade Hero
  5. Simple Lowpass Filter

Networking

  1. First read the high-level overview of game network programming
  2. Then refer to Steamworks API instead of fighting NAT for no reason
  3. Read Beej's Guide to Network Programming if you're feeling nerdy
  4. Read Beej's Guide to Networking Concepts if you're feeling courageous

Multithreading

Random

More on