One of the things I like the most about (game) programming is the general willingness and openness to share knowledge. Just please beware - there is so much amazing content out there, you can easily drown in it. This is my selection of resources that I personally found extremely helpful on my professional journey. The dedicated people that are sharing have my utmost respect and appreciation - and a buyer of their product or a donation in case they do have a tipping jar! Hopefully one day I can work with and learn from some of them at least ...


Here is a collection of recommendation lists and reviews. I don't own every book on there (yet), but the recommendations and reviews are usually pretty solid. I definitely recommend to double check before buying.

Reviews & Recommendations

Complete List / Index

My Recommendations

I bought quite lot of programming books myself over the years - all of them being physical books. Downside is they take away a lot of space, they are pretty heavy (~60kg in total) and are therefor not exactly "portable". But you know, only paper is the real deal for me.

Anyway, there are tons of books out there, in a lot of different categories. There are the standard reference books that you should (must) have next to you at all time. There are expert books that only deal with a very specialized and isolated topics. There are the Gems books that offer different tricks from the trenches. And there are way too many "Game Programming in 24 hours" or "How to create your Game Engine" books.

I own books in any of these categories, but there are some books that really stuck with me so far. I have to admit that I haven't completely finished all of them (yet), but they offer such profound advice that I regularly go back to look up some stuff, read a new chapter or rediscover an old chapter. They are my must read recommendations:

General, Games:
More Specific, Games:
Graphics References:


And here is an incomplete collection of blogs, websites and Twitter handles of interesting programming folks. Some of these people are good at writing interesting articles; some release the slides of their awesome presentations; some release useful source code, libraries, engines or tools; some record live coding streams or podcasts; some inspire with their portfolios and projects; and some people are good at giving you friendly advice when you reach out.
I'll try to keep this up to date (and fix any existing typos)...

name web twitter
Mike Acton @mike_acton
Christer Ericson @ChristerEricson
Aras Pranckevicius @aras_p
Fabian Giesen @rygorous
Tom Forsyth @tom_forsyth
Tony Albrecht @TonyAlbrecht
Andreas Fredriksson @deplinenoise
Bruce Dawson @BruceDawson0xB
Jeff Preshing @preshing
Glenn Fiedler @gafferongames
Stefan Reinalter @molecularmusing
Emil Persson @_Humus_
Andre Weissflog @FlohOfWoe
Richard Mitton @grumpygiant
Jason Gregory @jqgregory
Christian Gyrling @cgyrling
Stephanie Hurlburt @sehurlburt
Rich Geldreich @richgel999
Jim Tilander @jtilander
Wade Brainerd @wadetb
Maciej Sinilo @msinilo
Noel Llopis @noel_llopis
Charles Bloom
Michael Abrash
Chris Hecker @checker
Jeff Lander
Philip Rideout @prideout
Fabien Sanglard @fabynou
Alex Darby @darbotron
Steve Anichini @solid_angle
Angelo Pesce @kenpex
Bob Nystrom
Christophe Riccio
Jonathan Adamczewski @twoscomplement
Natalya Tatarchuk @mirror2mask
Bart Wronski @BartWronsk
Joshua Barczak @JoshuaBarczak
Sean Barret
Casey Muratori
Per Vognsen @pervognsen
Nathan Reed @Reedbeta
Natty Hoffman @renderwonk
Joe Duffy @xjoeduffyx
Brendan Gregg @brendangregg
Simon Truempler @simonschreibt
Amid Patel @redblobgames
Eric Haines @pointinpolygon
Robert Menzel @renderpipeline
Kyle Hayward @GraphicsRunner
Martin Thompson @mjpt777
Shawn McGrath @sssmcgrath
Eddy Lutten
Bartlomiej Filipek @fbenf
Andrey Karpov @Code_Analysis
Julia Evans @b0rk
Adam Sawicki @Reg__
Jon Watte @jwatte
Forrest Smith
Krzysztof Narkowicz @knarkowicz
Alan Wolfe @Atrix256
Timothy Lottes @TimothyLottes
Cyril Crassin @Icare3D
Kostas Anagnostou @KostasAAA
Neil Henning @sheredom
Keith O'Conor @keithoconor
Matthäus Chajdas @NIV_Anteru
Stephen Hill @self_shadow
Jonathan Cooper @GameAnim
Bobby Anguelov @BobbyAnguelov
Michael Romero @halogenica
Michael Drobot @MichalDrobot
Baldur Karlsson @baldurk
Scott Wardle @scottwardle
Oliver Franzke @p1xelcoder
Don Williamson @Donzanoid
Ming-Lun "Allen" Chou @TheAllenChou
Tim Foley @TangentVector
Alex Vlachos @AlexVlachos
Omar @ocornut
Eric Lengyel
Jon Greenberg @Jontology
Sander van Rossen @logicalerror
Alex J. Champandard
Eric Smolikowski @esmolikowski
Christoph Kubisch @pixeljetstream
Graham Sellers @grahamsellers
Matt Pettineo @MyNameIsMJP
Mikola Lysenko @mikolalysenko
Sebastian Sylvan @ssylvan
Sébastien Lagarde @SebLagarde
Doug Binks @dougbinks
Cass Everitt @casseveritt
Morgan McGuire @CasualEffects
Jeff Atwood @codinghorror
Alex Evans @mmalex
Deano Calver @DeanoC
Leonard Ritter @duangle
Charlie Tangora @ginsweater
Ignacio Castaño @castano
Simon Green @simesgreen
Johan Andersson @repi
Rory Driscoll @rorydriscoll
John Calsbeek @jcalsbeek
Jorge Jimenez @iryoku1
Promit Roy @promit_roy
Sam Martin @palgorithm
Tom Hammersley @TomHammersley
Colin Barré-Brisebois @ZigguratVertigo
Inigo Quilez @iquilezles
Jim Van Verth @cthulhim
Joshua Koo @BlurSpline
Nick Porcino @meshula
Mikkel Gjoel @pixelmager
Niklas Frykholm @niklasfrykholm
Tobias Persson @tobias_persson
Stefan Boberg @bionicbeagle
Patrick Cozzi
Eli Bendersky @elibendersky
Christoph Kubisch @pixeljetstream
Yuri O'Donnel @YuriODonnel
Adrian Courreges @ado_tan
John Hable
Gino van den Bergen @dtecta
Daniel Collin
Sébastien Hillaire
Attila Áfra @attila_afra
Brian Karis @BrianKaris
John White @ZedCull
Jon Olick
Joost van Dongen @JoostDevBlog
Julien Guertault @Zavie
Miles Macklin @milesmacklin
Simon Brown @sjb3d
Steve McAuley @stevemcauley
Wolfgang Engel
Shawn Hargreaves @ShawnHargreaves
Mikael Hvidtfeldt Christensen @syntopiadk
Brandon Jones @Tojiro
Renaud Bédard @renaudbedard
Vincent Scheib @Vincent_Scheib
Daniel Rákos @aqnuep
Martin Ecker @martin_ecker
Steven Tovey @nonchaotic
Pope Kim @BlindRenderer
Mark Lee @rgba32
Amandine Coget @LiaSae
Rebecca Fernandez @chainedchaos31
Matías N. Goldberg @matiasgoldberg
John Ratcliff @jratcliff
Miguel Cepero @miguelcepero
Keith Newton @inovae_keith
David Rosen @Wolfire
Jonathan Blow @Jonathan_Blow
James Hague @dadgumjames
Alexandre Mutel @xoofx
Francesco Cifariello @FCifaCiar
Lexy Munroe @eevee
Jon Purdy @whyevernotso
Brano Kemen @outerra
Scali Bohemiq @Scalibq
Jeroen Baert @jbaert
Maxime Chevalier-Boisvert @Love2Code
Martin Mittring @MittringMartin
Giliam de Carpentier @decarpentier_nl
Pete Collier @pete_collier
Pablo Zurita @PabloZurita
Joel Spolsky @spolsky
Dan Luu @danluu
John Regehr @johnregehr
Herb Sutter @herbsutter
Scott Meyers @Scott_Meyers
Alexei Alexandrescu @incomputable
Tobias Berghoff @TobiasBerghoff
Cort Stratton @postgoodism
Christina Coffin @ChristinaCoffin
Jaymin Kessler @okonomiyonda
Renaldas Zioma @__ReJ__
Tomasz Stachowiak @h3r2tic
Andrew Lauritzen @AndrewLauritzen
Nicolas Thibieroz @NThibieroz
Alex Fry @TheFryster
Jasper Bekkers @JasperBekkers
Sebastian Aaltonen @SebAaltonen
Mark Cerny @cerny
Ivan Nevraev @Nevraev
James Stanard @JamesStanard
Martin Fuller @MartinJIFuller
Andrew Butcher @andrewbutcher
Louis Bavoil @LouisBavoil
Adrian Stone
Kyle Wilson
Jeromie Walters
Richard Osborne
Alexandre Pestana
Brian Sharpe
Christian Schueler
Emily Short
Tom Madams
James Dolan
James McNeill
Kaspar Daugaard
Matt Swoboda
Michal Valient
Morten Mikkelsen
Peter Sikachev
Phill Djonov
Steve Yegge
Zack Rusin
Thomas Young
Patrick Wyatt
Mick West
Alex Simn
Stefan Kamoda
John Chapman
Markus Buretorp
Simon Yeung
Sam Lapere
Pete Shirley
Maciej Sawitus
Christopher Evans
Real-Time Voxels
Run Hello
C++ Secrets

Company Publications



Job Search