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
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
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
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
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
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
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
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
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)
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
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
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?
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
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
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
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