Graphics / GPU / C++ Resources

University Courses

Computer Graphics at TU Wien
Computer Graphics at UTAH University
Advanced Graphics at UNIVERSITEIT UTRECHT

YT | MIT 6.837: Introduction to Computer Graphics (fall 2020)
YT | MIT 6.837: Introduction to Computer Graphics (fall 2021)

YT | MIT 6.8410: Shape Analysis (Spring 2023)

YT | CMU 15-462/662: Computer Graphics

YT | TU Wien: Rendering / Ray Tracing Course

Coursera | Fundamentals of Digital Image and Video Processing

YT | EGGN 510: Image and Multidimensional Signal Processing

Conferences

ACM SIGGRAPH
Advances in Real-Time Rendering in 3D Graphics and Games
High Performance Graphics
i3D Symposium
GDC Vault
The Computer Vision Foundation

Learning

I relearned typing to save my wrists

Learning Start

Finding Your Home in Game Graphics Programming
Scratch Pixel – Teaching computer graphics programming to regular folks.
Study notes useful in case you intend to study more about engine and graphics programming.
Want to get started in Graphics Programming? Start Here!

The Graphics Codex Official – Morgan McGuire

YT | The Amazing Math behind Colors!
How to understand RGB?
YT | Everything you know about color was wrong

What is the hexadecimal?

Learning Resources

awesome-computer-graphics
graphics-resources – bookmarks related to game development and realtime graphics programming.
Graphics Programming Virtual Meetup Resources
Graphics Workshop
awesome-computer-vision
graphics-developer-roadmap
Computer Graphics Resources – Materials for self-study
Computer Graphics Programming Resources

The Journal of Computer Graphics Techniques
NVIDIA GPU Gems
NVIDIA GPU Gems 2
NVIDIA GPU Gems 3
Graphics Studies Compilation / Frame breakdowns

Various articles, tutorials on computer graphics and related techniques (Inigo Quilez)

Graphics effects explored by Twitter user

Rasterization in One Weekend
Implementing a tiny CPU rasterizer

Ditherpunk — The article I wish I had about monochrome image dithering
Dithering on the GPU

Help for fluid volume(signed distance field) rendering.
Real-time rendering of water caustics

Blogs

Jacco Bikker Blog
Self Shadow Blog
Nikita Lisitsa Blog
Alain Galvan Blog (great for Ray Tracing and Vulkan DX12)
DREAMS OF FLASHY PIXELS
INTERPLAY OF LIGHT

Research

Research Resources

Rendering Resources from Benedikt Bitterli
Material Database from EPFL
ORCA: Open Research Content Archive
OpenPBR – new material specs by Adobe and Autodesk

Super comprehensive collection of Light Transport whitepapers
Daily Papers

Research Articles

Reading Veach’s Thesis
Reading Veach’s Thesis, Part 2

Differentiable / Inverse Rendering

MIT Machine Learning for Inverse Graphics

Three Level Summary: Neural Radiance Fields vs. 3D Gaussian Splatting
Adventures with Differentiable Mesh Rendering

Whitepaper | Flexible Techniques for Differentiable Rendering with 3D Gaussians

Neural Rendering

AMD Crash Course in Deep Learning (for Computer Graphics)

Math

3D Math Primer for Graphics and Game Development
Guide on writing a (C++) Vector Math Library
YT | Math for Game Programmers: Understanding Homogeneous Coordinates
How to Draw with Math
SongHo Math Resources
Math Resources (reddit)
Visually stunning math concepts which are easy to explain

YT | Möller Trumbore Ray Triangle Intersection Explained

Monte Carlo Methods and Applications

A Gentle Introduction to ReSTIR: Path Reuse in Real-time
Understanding The Math Behind ReStir DI
Whitepaper | Spatiotemporal reservoir resampling for real-time ray tracing with dynamic direct lighting

1. Probability : Math Lectures by Prof. Richard Feynman
2. Vectors : Math Lectures by Prof. Richard Feynman
3. Algebra : Math Lectures by Prof. Richard Feynman
4. Linear Differential Equations : Math Lectures by Prof. Richard Feynman
5. Fourier Series : Math Lectures by Prof. Richard Feynman
6. Differential Calculus of Vector fields : Math Lectures by Prof. Richard Feynman
7. Vector Integrals : Math Lectures by Prof. Richard Feynman

Curves Math

Bezier Curves

Geometry Math

Projective Geometric Algebra
YT | “Introduction to Information Geometry” by Frank Nielsen
Whitepaper | An Elementary Introduction to Information Geometry – Frank Nielsen
Whitepaper | The Many Faces of Information Geometry – Frank Nielsen
Whitepaper | Shadows Don’t Lie and Lines Can’t Bend! Generative Models don’t know Projective Geometry…for now
SGP Summer School Presentations

Quaternions Math

Rotation Quaternions, and How to Use Them
Quaternions: a geometrical interpretation.

Let’s remove Quaternions from every 3D Engine

Visualizing quaternions Interactive Course
YT | Visualizing quaternions (4d numbers) with stereographic projection
YT | This guy explains quaternions. The specific part is around 13:30
YT | Handmade Hero Day 195 Prestream Quaternions

Game Engine Programming

Make Games Not Engines… to Learn Engines
Learn Game Engine Programming
Books I had to read to develop a game engine
How to become a game engine developer
Ships, Icebergs, Game Engines – The Our Machinery fiasco has made an excellent case for more self-reliant, more from-scratch technology.

CUSTOM GAME ENGINES: A Small Study
Game Engines with Open Source Code: Learning from the best

YT | going fast is about doing less (optimization stuff)
YT | Game Engine Optimization Up To 12000 FPS – Advanced voxel mesh optimizations

Entity Component System

awesome-entity-component-system
A Roadmap to Entity Relationships

Loading 3D models

learnopengl.com – Model-Loading/Assimp
opengl-tutorial.org – model-loading

tinyobjloader – tiny but powerful single file wavefront obj loader written in C++03.

How to load 3D models when they are necessary? (reddit)

Window System

How can I optimize my key handling and make it more smooth (in GLFW)

Camera Projection View

Cameras and Lenses
The Perspective Camera – An Interactive Tour
Lecture 16: Planar Homographies

Texturing

How 3D Game Rendering Works: Texturing

Shadows

YT | How Shadows Work in Games
Three Normal Mapping Techniques Explained For the Mathematically Uninclined

Ray Tracing / Path Tracing

Business card raytracer / eventual IOCCC winner

How to add thousands of lights to your renderer and not die in the process

Recollecting the history of offline rendering. Was ray-tracing “early” and path-tracing “late”?

Ray Tracing

RTX Learning

Ray Tracing in One Weekend — The Book Series / Peter Shirley
GPU Ray Tracing in an Afternoon

Ray-tracing in a Weekend with SYCL: Basic sphere tracing
Ray-tracing in a Weekend with SYCL Part 2: Pixel sampling and Material tracing

Ray Tracing in pure CMake

The Ray Tracer Challenge (writing Rust Ray Tracer)

Ray Tracing with Voxels in C++ Series – Part 1

Whitepaper | Ray-aligned Occupancy Map Array for Fast Approximate Ray Tracing
Whitepaper | RenderMan: An Advanced Path Tracing Architecture for Movie Rendering
Whitepaper | A Ray-Box Intersection Algorithm and Efficient Dynamic Voxel Rendering
Whitepaper | Real-time denoising of importance sampled direct lighting

RTX Projects

Basic Ray Tracer that exploits numpy arrays and functions to work reasonably fast compared with a pure Python implementation.
Nova – High performance GPU accelerated ray tracer using OpenCL/CUDA

tinyraycaster
tinyraytracer

Path Tracing

YT | CppCon 2019: Matt Godbolt “Path Tracing Three Ways: A Study of C++ Style”
Path tracing lectures

Denoising

Raytraced global illumination denoising

PBR Physically Based Rendering

Physically Based Rendering in Filament
Physically Based Rendering: From Theory To Implementation
YT | Physically Based Shading in Theory and Practice
Physically Based Rendering – Part one
Moving Frostbite to Physically Based Rendering 3.0
Crash Course in BRDF Implementation
Radiometry, part 1: I got it backwards

Journey to Lumen (Unreal Engine)

Thesis | “Deferred Voxel Shading for Real Time Global Illumination”

PBR Resources

Physically based shading references, at the end of 2019
READINGS ON PHYSICALLY BASED RENDERING

Renderer

FrameGraph: Extensible Rendering Architecture in Frostbite
Light Tracer Render – Intuitive Tool for Highest Quality Product Rendering
NVIDIA Falcor is a real-time rendering framework supporting DirectX 12 and Vulkan. It aims to improve productivity of research and prototype projects.
AMD Cauldron A simple framework for rapid prototyping on Vulkan or DirectX12.
INTEL RealTimePathTracingResearchFramework Public
Spartan is a research-focused game engine designed for real-time solutions, providing a dynamic experience.
Diligent Engine is a lightweight cross-platform graphics API abstraction library and rendering framework. It is designed to take full advantage of Direct3D12, Vulkan and Metal
MxEngine is an educational modern-C++ general-purpose 3D game engine.
Iris is a cross-platform game engine written in modern C++
WickedEngine
SORT – Simple Open-source Ray Tracing
EmberGL (Ember Graphics Library) is a low-level open source graphics library, similar to OpenGL/DirectX/Vulkan, designed for real-time 2D/3D rendering on MCUs and other memory constrained non-GPU systems.
LuxCoreRender is a physically based and unbiased rendering engine.
raylib is a simple and easy-to-use library to enjoy videogames programming.
The G3D Innovation Engine is a commercial-grade C++ 3D engine available as Open Source
GODOT 2D and 3D cross-platform game engine

Implementing a GPU Voxel Octree Path Tracer

YT | Radiance Cascades Rendered Directly (with some debugging stuff)

10 years of constant work on nCine: my 2D open-source C++11 game engine

Graphics APIs / GPU Programming

A Comparison of Modern Graphics APIs

AMD GPUOpen Developer Guides

INTEL Developer and Optimization Guide for Intel® Processor Graphics Gen11 API

Tools for GPU Codec Development

GPU Hardware-accelerated Ray Tracing

The RTX Shader Binding Table Three Ways

NVIDIA Best Practices: Using NVIDIA RTX Ray Tracing
NVIDIA Tips and Tricks: Ray Tracing Best Practices
NVIDIA Practical Tips for Optimizing Ray Tracing

Intel® Arc™ Graphics Developer Guide for Real-Time Ray Tracing in Games

EA GDC 2018: Shiny Pixels and Beyond: Real-Time Ray tracing at SEED
Cyberpunk 2077’s Path Tracing Update
YT | Inside Indiana Jones and the Great Circle: The Ray Tracing Breakdown

Vulkan

awesome-vulkan
Vulkan Headers
Vulkan® API Documentation Project
Vulkan® Guide
Khronos official Vulkan validation layers
YT | Vulkan Channel
Vulkan Hardware Database gpuinfo.org

glslang
shaderc – A collection of tools, libraries and tests for shader compilation.
SPIRV-Reflect – lightweight library that provides a C/C++ reflection API for SPIR-V shader bytecode
SPIRV-Cross – tool designed for parsing and converting SPIR-V to other shader languages.
SPIR-V Tools – provides an API and commands for processing SPIR-V modules.

Khronos Group’s Vulkan samples
SaschaWillems’ examples

Vulkan Learning

How to Learn Vulkan
Vulkan in 30 minutes
vkguide.dev
vkguide.dev GPU Driven Rendering Overview
vulkan-tutorial.com/
a-simple-triangle
Mike Bailey’s Vulkan Page – Oregon University
Raw Vulkan – An overview on how to program a Hello Triangle Vulkan application from the ground up.
YT | TU Wien: Vulkan Course
YT | Vulkan (c++) Game Engine Tutorials
Building a Triangle with Vulkan and C++ in Fedora 37
Vulkan with Rust by example

Using Debug Printf

INTEL API without Secrets: Introduction to Vulkan
INTEL API without Secrets: The Practical Approach to Vulkan

AMD Understanding Vulkan objects
NVIDIA Tips and Tricks: Vulkan Dos and Don’ts
Writing an efficient Vulkan renderer

The projection matrix in vulkan

Yet another blog explaining Vulkan synchronization
Breaking Down Barriers (GPU Synchronization) – Part 1: What’s a Barrier?
Understanding Vulkan Synchronization
Vulkan Timeline Semaphores

NVIDIA Vulkan Memory Management
AMD Using Vulkan® Device Memory
A Simple Device Memory Allocator For Vulkan
VULKAN MEMORY MANAGEMENT : HOW TO WRITE YOUR OWN ALLOCATOR

Render graphs and Vulkan — a deep dive

Vulkan Subgroup Tutorial

YT | Descriptor Indexing (Khronos Group video)
Bindless Descriptors – WickedEngine
How do you descriptor set? – DethRaid
A note on Descriptor Indexing
New game changing Vulkan extensions for mobile: Descriptor Indexing

Multithreading Overview in Vulkan

AMD Porting Detroit: Become Human from PlayStation® 4 to PC – Part 1
AMD Porting Detroit: Become Human from PlayStation® 4 to PC – Part 2
AMD Porting Detroit: Become Human from PlayStation® 4 to PC – Part 3

Game Physics in One Weekend
This is a very basic renderer that is meant to be used in conjuction with the Game Physics In One Weekend book series.

Vulkan ImGui

Integrating Dear ImGui in a custom Vulkan renderer
A Vulkan + Dear ImGui Sandbox

Vulkan Ray Tracing

Khronos Ray Tracing In Vulkan
NVIDIA Introduction to Real-Time Ray Tracing with Vulkan

Transition guide from VK_NV_raytracing to (final) VK_KHR_raytracing!

Vulkan Ray Tracing tutorial with minimal abstraction
NVIDIA vk_raytracing_tutorial_KHR – Vulkan Ray Tracing Tutorial
NVIDIA vk_mini_path_tracer – A relatively small, beginner-friendly path tracing tutorial
Ray Tracing In Vulkan
Vulkan compute shader based ray tracer.
Real-time Vulkan raytracer (funny)

Vulkan frameworks / libraries

volk is a meta-loader for Vulkan.
Vulkan Memory Allocator – Easy to integrate Vulkan memory allocation library.
A utility library that jump starts initialization of Vulkan
LightweightVK is a deeply refactored fork of IGL which is designed to run on top of Vulkan 1.3.
Intermediate Graphics Library (IGL) is a cross-platform library that commands the GPU.
Auto-Vk is a low-level convenience and productivity layer for Vulkan
VkHLF is an experimental high level abstraction library on top of Vulkan.
VulkanAbstractionLayer for MxEngine
Laugh Engine A Vulkan implementation of real-time PBR renderer.
Acid is an open-source, cross-platform game engine written in modern C++17 and structured to be fast, simple, and extremely modular. Vulkan
Datoviz: Ultra-Fast, High-Performance GPU Scientific Visualization Library Built on Vulkan

DirectX 12

awesome-d3d12
DirectX-Graphics-Samples

DirectX 12 Ray Tracing

DirectX Raytracing (DXR) Functional Spec

A Gentle Introduction To DirectX Raytracing
Introduction to DirectX RayTracing

WispRenderer – Real-Time Raytracing Renderer

OpenGL

awesome-opengl
A guide covering OpenGL including the applications, libraries and tools that will make you a better and more efficient OpenGL development.
opengl-tutorial.org
learnopengl.com/
YT | OpenGL The Cherno
Fundamental OpenGL tutorials and notes
Learning Modern 3D Graphics Programming
This guide will teach you the basics of using OpenGL to develop modern graphics applications.
OGLDEV Blog

Mouse Picking with Ray Casting
Picking with an OpenGL hack

Stateless, layered, multi-threaded rendering – Part 1

NVIDIA How to make OpenGL usage Vulkan like

Tiny renderer or how OpenGL works: software rendering in 500 lines of code

OpenGL Ray Tracing

2.6.1. Ray tracing with OpenGL Compute Shaders (Part I)

Shaders

SHADERed – The most powerful shader IDE
shdr.bkcore.com/
shadertoy.com

Shader programming: From absolute beginner to demoscene superstar
The Book of Shaders
3D Game Shaders For Beginners
YT | Intro to Shader Coding in Unity – An Improvised Live Course
YT | Shaders For Game Devs
Compute shader glossary
GM Shaders Mini: Vector Spaces
YT | Shader Creation for Everyone! – An intro to Ben Cloward’s YouTube channel

An introduction to shader derivative functions
Hash Functions for GPU Rendering

How to read shader assembly

The case of the curiously slow shader

Visualizing General Relativity
Rendering my balls in a fragment shader

Whitepaper | Shader Components: Modular and High Performance Shader Development
Whitepaper | Optimization Techniques for GPU Programming

CUDA

YT | Bryce Adelstein Lelbach – The CUDA C++ Standard Library – Meeting C++ online
Ray Tracing in One Weekend in CUDA

Debugging

RenderDoc
NVIDIA Nsight VS Edition
Radeon™ GPU Profiler
GFXReconstruct

RenderDoc Debugging

I just opened Plague Tale Requiem in a renderdoc. (twitter analysis)
XDC 2021: Dissecting and fixing Vulkan rendering issues in drivers with RenderDoc

GPU Hardware

A history of NVidia Stream Multiprocessor
A trip through the Graphics Pipeline 2011
Graphics Pipelines for Young Bloods
Organizing GPU Work with Directed Acyclic Graphs
YT | NVIDIA How GPU Computing Works | GTC 2021
x86/x64 SIMD Instruction List (SSE to AVX512)
GPU Architectures (pptx)

GPU Profiling 101

SIMD min_element I have a few times encountered people asking about it, so I decided to write this summary.
Which GPU(s) to Get for Deep Learning: My Experience and Advice for Using GPUs in Deep Learning

GPU Hardware Resources

Render Hell 2.0
GPU ARCHITECTURE RESOURCES
#graphics folks, Are there some good (preferably free) materials/courses/books on modern GPU hardware from a graphics perspective? Like all those registers, caches, wavefronts, occupacy stuff, etc
GPU Optimization Resources for GameDev

AMD GPU Hardware

AMD RDNA 2 Performance guide
YT | AMD Optimizing for the Radeon™ RDNA Architecture

Optimized FP32 matrix multiplication on AMD RDNA3 GPU outperforming rocBLAS by 60%

Intel GPU Hardware

Introduction to the Xe-HPG Architecture
Intel® Arc™ A-series Graphics Gaming API Developer and Optimization Guide

CPU

How many registers does an x86-64 CPU have?
The microarchitecture of Intel, AMD, and VIA CPUs An optimization guide for assembly programmers and compiler makers
How To Make A CPU – A Simple Picture Based Explanation

Cpp

awesome-cpp
awesome-modern-cpp
awesome-perf-cpp
cpp-best-practices
awesome-hpp – list of header-only C++ libraries
Cheat Sheets & Infographics
List of C++ blogs by individual developers
Modern C++: Snippets and Examples

Software optimization resources
Learning to write efficient C++
Effortless Performance Improvements in C++: std::vector
Vector of Objects vs Vector of Pointers And Memory Access Patterns
Optimizing Open Addressing

“A damn stupid thing to do”—the origins of C

Some thoughts about C++ and how a better programming language could look like (Adam Sawicki)

C++ Start

What are some important skills that every C++ developer should have? (reddit)
Nice but not so well-known features of modern C++ (reddit)

YT | How to write SOLID C++
6 Efficient Things You Can Do to Refactor a C++ Project
How to get better at C++ infrastructure design?
Should i litter my code with (the correct) attributes for every function, or just leave it pretty?

C++ Advanced

YT | The Design of C++,lecture by Bjarne Stroustrup
YT | Herb Sutter’s “Cooperative C++ Evolution – Toward a TypeScript for C++”
All C++20 core language features with examples
Fast Accurate Memory Test Code in C
What is the memory usage of a small array in C++?

Analyzing-The-Simplest-C++-Program
How C++ Resolves a Function Call
Memory allocation – how do malloc and free work?

shared_ptr – basics and internals with examples

The Case of string_view and the Magic String

Smarter C/C++ inlining with __attribute__((flatten))

lvalues and rvalues in C++
When not to std::move?

Whitepaper | NOVT: Eliminating C++ Virtual Calls to Mitigate Vtable Hijacking
Goodbye, Object Oriented Programming

Examples of floating point problems

Should I use C++ with STL to make a game engine?

Adventures in returning value-dependent type
Statically checking C/C++ for unused return values

C++ Coroutines: Understanding Symmetric Transfer

Asynchronous programming blocking and non blocking
Concurrency and parallelism are two different things
PhysFS performance, a story of threading and locking
Why does unsafe multithreaded use of an std::unordered_map crash more often than unsafe multithreaded use of a std::map?

What is the best way to embed python on a Qt/C++ application [closed]

C++ Debugging

How to look at the stack with gdb

C++ Compilation

Introduction to C++ Compilation on the Command Line
Compiler Construction (Niklaus Wirth)
DRIVING COMPILERS

Can somebody explain the linking process in C++? (reddit)

The Little Things: Speeding up C++ compilation
C++ is too slow to compile, can you share all your tips to lower compilation time? (reddit)
How to use CompileScore to reduce compilation times

CMake

modern-cmake-examples

CMake basics
An Introduction to Modern CMake
CMake line by line – using a non-CMake library
How to Use CMake Without the Agonizing Pain – Part 1
CMake Part 1 – The Dark Arts
13 valuable things I learned using CMake
It’s Time To Do CMake Right

Setup Cross-Platfrom C++ Project (reddit)

Code Architecture

The Architecture of Open Source Applications
awesome-software-architecture
hacker-laws – Laws, Theories, Principles and Patterns that developers will find useful.
awesome-bug-bounty
every-programmer-should-know

Whitepaper | Energy efficiency across programming languages: how do energy, time, and memory relate?

YT | The Art of Code – Dylan Beattie (Must have for programmers to watch)
How to organize your code?
How to Build Good Software
The epistemology of software quality
Goodbye, Clean Code
It’s probably time to stop recommending Clean Code
Technical Debt
Top 10 Object-Oriented Design Principles for writing Clean Code
The S.O.L.I.D Principles in Pictures
Design Patterns for Microservices: Ambassador, Anti-Corruption Layer, and Backends for Frontends

How to Write and Design User-Friendly Error Messages

Computer, Enhance! Programming courses, interviews, commentary. By Casey Muratori

How is computer programming different today than 20 years ago?
Conversations with a six-year-old on functional programming

YT | The Clean Code Debacle and Rhetoric Tricks – Casey Muratori vs Mr “Uncle Bob” Martin

A list of 6000+ programming resources (Python, React, Vue, Machine Learning)

Technical Writing

The-Documentation-Compendium

Code Reviews

How to review code?
How Do Code Reviews Work at one of the Largest Software Companies?
Code Reviews at Google are lightweight and fast
How to do a code review

Algorithms / Data Structures

Algorithms by Jeff Erickson (textbook)
OpenDSA Data Structures and Algorithms Modules Collection
Someone’s best courses algorithms and data structures
awesome-graph-classification
Why do arrays start from 0?

Złożoność obliczeniowa

Modern SAT solvers: fast, neat and underused

Converting a hundred million integers to strings per second
Optimizing UTC → Unix Time Conversion For Size And Speed
Sorting 1 million 8-decimal-digit numbers with 1 MB of RAM
How Booking.com Searches Through Millions of Locations in Milliseconds

Game Development

magictools – A curated list of game development resources to make magic happen.
A Study Path for Game Programmer
Reddit’s user Favorite’s Devlog YT Channels

How I make games in my own 3D game engine

Devs who open source their games, why?
Working in AAA studios has killed my motivation and love for making games.
12+ Year AAA, former Valve/Microsoft/More Engineer. Quit my job last week to chase the indie dream. First day of work starts now! In the words of a legend… Here we go!
modern c++ gamedev – thoughts & misconceptions (blog)
modern c++ gamedev – thoughts & misconceptions (reddit)
modern c++ gamedev – thoughts & misconceptions (news)
After two years of work on a huge open world RPG in Unity, here are the tips I wish I knew at the start.
38% of my bug reports come from the Linux community

Unreal Engine Learning Resources

Game Design

Build Own C++ game [oldschool]
YT | The Anatomy of a Satisfying Win | Game Design Basics
YT | How To Make A 3D Character For Your Game

Multi State Management in Games

Let’s Build a Confetti Cannon

YT | The hidden beauty of the A* algorithm

Game Development Multiplayer

Using Docker for Game Servers
I made a tutorial series on on building multiplayer (.io) web games
I learned how to make an online Multiplayer game using Python!!

Game Development Marketing

5 Marketing lessons I learned releasing my first commercial indie game
Devs who released your game for free on steam, how much has it really helped you in gaining an audience ?
My first game just became the #1 top selling, recently released discounted Action game on Nintendo Switch. Solo developer. AMA!
How can i build an audience?
I made a trailer that got 7K organic views and 1K wishlist in 3 days. Just wanted to share my techniques!
A mega-influencer featured my game on his youtube. This is my story (with numbers).
Don’t start the trailer with your logo

Game Development Tips / Wellbeing

How do you finish a game without having a mental breakdown?
I don’t know how to organize my ideas about my game design.
HOW TO MAKE A SOMEWHAT SUCCESSFUL INDIE GAME
It has been exactly one year since Core Defense was released on Steam and in this post I’ll share with you both the hard numbers as well as the lessons I learned along the way.
Do NOT forget to do this if you are developing a game for mobile (iOS, Android)!
YT | How Among Us Was Made and Why The Developers Wanted to Quit
I interviewed over a dozen game developers in order to gain perspective on how to get a career in Game Dev.
I have been struggling for years to make my dream game, until now…
Tips for solo game developers.
Does anybody even read video game dialogue? Or: How I learned to cut down text so people would stop ignoring my work
Math and professional game programming as a career: You only need to know certain specific things?
6 Types of SPAM/SOLICITATIONS to expect after listing your indie game
How to Improve the About This Game section on your Steam store page
Fix Your Timestep!
What is a way to publish a game without starting a company but still get paid for it?
We gathered data about ~54000 games in Steam and combined it in one spreadsheet. Feel free to use it whatever you like!

Embedded

awesome-embedded

So You Want To Be An Embedded Systems Developer
How I teach embedded systems
Learning embedded programming as a software engineer
EMBEDDED SOFTWARE ENGINEERING 101: MICROCONTROLLER BASICS

Mastering Embedded Linux

Some possible reasons for 8-bit bytes

Using modern C++ for hardware access on embedded systems
Optimize Your Workflow By Moving Embedded Projects to CMake

Programming the ODROID-GO: Motivation (Part 0)
Controlling the SSD1306 OLED through I2C
Whats Inside a Video Game? A Simple Game Loop and Player Controller in C on an SSD1306 OLED

Whitepaper | Low-Cost Deterministic C++ Exceptions for Embedded Systems

Better Embedded System Software

Embedded ARM

YT | Bare metal embedded lecture-1: Build process
YT | Bare metal embedded lecture-2: Makefile and analyzing relocatable obj file
YT | Bare metal embedded lecture-3: Writing MCU startup file from scratch
YT | Bare metal embedded lecture-4: Writing linker scripts and section placement
YT | Bare metal embedded lecture-5: Linking and analyzing memory map file

Embedded Projects

Make own USB keyboard from scratch
Build an 8-bit computer from scratch
YT | So how does a PS/2 keyboard interface work?

Text to Speech Click on an ARMbasic Powered UChip, and Other ARMbasic Powered SBCs
Reliable User Input with Unreliable Physical Switches: A Simple Guide to Debouncing

Raspberry Pi

RPi crosscompilation
RPi Pinout
How to Make a Raspberry Pi VPN Server
Using a Raspberry Pi as Your Development Server
Build your own multi-room audio system with Bluetooth, Airplay, and Spotify using Raspberry Pis
#Raspberry Pi 4B: Real-Time System using Preempt-RT (kernel 4.19.y)
Building a handheld PC

e-ink display which shows your last played track and listening stats from last.fm
A physical calendar built on an e-paper display, controlled by a Raspberry Pi and synchronizing with Google Calendar

Career

awesome-cTO
awesome-falsehood
developer-roadmap
awesome-remote-job
Tools for remote work
Remote work wiki

Software Engineer 3 Years of Experience – My Path to from 77k TC to 300k+ (70 LC)
An Old Hacker’s Tips On Staying Employed
How to find a job as Software Developer in Germany? (step-by-step guide)
Becoming a Full-Time Creator as a Software Engineer: Controversial Advice
Effective Engineer – Notes
How to burnout a software engineer, in 3 easy steps
Is Europe Better Than America for Working in Tech?

The Painfully Shy Developer’s Guide to Networking for a Better Job (Without Being Creepy)
Networking as an introvert CTO

Side Project Guide
50 ways to bring in extra cash as a developer

Resume / Interviews

coding-interview-university
awesome-interview-questions
tech-interview-handbook
reverse-interview: uestions we could ask recruiter

Insider guide to tech interviews
How to not hire software engineer?

A Better Resume for Developers
What we look for in a resume

Interview Process at Google
My First Interviewing Experience For AAA Gameplay Programming
Embedded Software Internship Interview at Tesla next week, what to expect?
NVIDIA Senior Position Interview Question
Graphics Knowledge Questions
I interviewed over a dozen game developers in order to gain perspective on how to get a career in Game Dev.

50+ questions data structures && algorithms

Cooperation

How to Deal with Difficult People on Software Projects
You don’t hate JIRA, you hate your manager
How to communicate decisions you disagree with to your team

Why your daily stand-ups don’t work and how to fix them

Why deadlines are pointless and what to do instead
Demystifying Project Estimation
How to talk about deadlines at work

Key Metrics for Tracking Developer Productivity: What to Measure, How and Why
Super Specific Feedback: How to give actionable feedback on work output