Resources


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 ...


Books

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:
General, Games:
More Specific, Games:
Graphics References:




People

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 macton.ninja @mike_acton
Christer Ericson realtimecollisiondetection.net/blog @ChristerEricson
Aras Pranckevicius aras-p.info @aras_p
Fabian Giesen fgiesen.wordpress.com @rygorous
Tom Forsyth eelpi.gotdns.org/blog.wiki.html @tom_forsyth
Tony Albrecht overbyte.com.au @TonyAlbrecht
Andreas Fredriksson deplinenoise.wordpress.com @deplinenoise
Bruce Dawson randomascii.wordpress.com @BruceDawson0xB
Jeff Preshing preshing.com @preshing
Glenn Fiedler gafferongames.com @gafferongames
Stefan Reinalter blog.molecular-matters.com @molecularmusing
Emil Persson humus.name @_Humus_
Andre Weissflog floooh.github.io @FlohOfWoe
Richard Mitton codersnotes.com @grumpygiant
Jason Gregory gamenginebook.com @jqgregory
Christian Gyrling swedishcoding.com @cgyrling
Stephanie Hurlburt stephaniehurlburt.com/blog @sehurlburt
Rich Geldreich richg42.blogspot.com @richgel999
Jim Tilander www.tilander.org/aurora2 @jtilander
Wade Brainerd wadeb.com @wadetb
Maciej Sinilo msinilo.pl @msinilo
Noel Llopis gamesfromwithin.com @noel_llopis
Charles Bloom cbloomrants.blogspot.com
Michael Abrash blogs.valvesoftware.com/abrash
Chris Hecker chrishecker.com @checker
Jeff Lander www.darwin3d.com
brbent.com
@beachgrub
Philip Rideout prideout.net @prideout
Fabien Sanglard fabiensanglard.net @fabynou
Alex Darby about.me/darbotron @darbotron
Steve Anichini solid-angle.blogspot.com @solid_angle
Angelo Pesce c0de517e.blogspot.com @kenpex
Bob Nystrom stuffwithstuff.com
gameprogrammingpatterns.com
@munificentbob
Christophe Riccio g-truc.net
openglinsights.com
@g_truc
Jonathan Adamczewski brnz.org/hbr @twoscomplement
Natalya Tatarchuk advances.realtimerendering.com @mirror2mask
Bart Wronski bartwronski.com @BartWronsk
Joshua Barczak www.joshbarczak.com/blog @JoshuaBarczak
Sean Barret nothings.org
www.twitch.tv/nothings2
@nothings
Casey Muratori mollyrocket.com/casey
handmadehero.org
@cmuratori
Per Vognsen www.twitch.tv/vognsen @pervognsen
Nathan Reed www.reedbeta.com/blog @Reedbeta
Natty Hoffman renderwonk.com/blog @renderwonk
Joe Duffy joeduffyblog.com @xjoeduffyx
Brendan Gregg brendangregg.com @brendangregg
Simon Truempler simonschreibt.de @simonschreibt
Amid Patel redblobgames.com @redblobgames
Eric Haines erichaines.com @pointinpolygon
Robert Menzel renderingpipeline.com @renderpipeline
Kyle Hayward graphicsrunner.blogspot.com @GraphicsRunner
Martin Thompson mechanical-sympathy.blogspot.com @mjpt777
Shawn McGrath www.twitch.tv/sssmcgrath @sssmcgrath
Eddy Lutten eddyluten.com
openglbook.com
@EddyLuten
Bartlomiej Filipek bfilipek.com @fbenf
Andrey Karpov viva64.com @Code_Analysis
Julia Evans jvns.ca @b0rk
Adam Sawicki asawicki.info @Reg__
Jon Watte enchantedage.com @jwatte
Forrest Smith gamedevdaily.io
forrestthewoods.xyz
@ForrestTheWoods
Krzysztof Narkowicz knarkowicz.wordpress.com @knarkowicz
Alan Wolfe blog.demofox.org @Atrix256
Timothy Lottes timothylottes.blogspot.com @TimothyLottes
Cyril Crassin blog.icare3d.org @Icare3D
Kostas Anagnostou interplayoflight.wordpress.com @KostasAAA
Neil Henning duskborn.com @sheredom
Keith O'Conor fragmentbuffer.com @keithoconor
Matthäus Chajdas anteru.net @NIV_Anteru
Stephen Hill blog.selfshadow.com @self_shadow
Jonathan Cooper gameanim.com @GameAnim
Bobby Anguelov takinginitiative.net @BobbyAnguelov
Michael Romero halogenica.net @halogenica
Michael Drobot michaldrobot.com @MichalDrobot
Baldur Karlsson renderdoc.org @baldurk
Scott Wardle swardle.com @scottwardle
Oliver Franzke p1xelcoder.com @p1xelcoder
Don Williamson github.com/Celtoys @Donzanoid
Ming-Lun "Allen" Chou allenchou.net @TheAllenChou
Tim Foley tangentvector.wordpress.com @TangentVector
Alex Vlachos alex.vlachos.com @AlexVlachos
Omar patreon.com/imgui @ocornut
Eric Lengyel terathon.com/lengyel
the31stgame.com/blog
@EricLengyel
Jon Greenberg deadvoxels.blogspot.com @Jontology
Sander van Rossen sandervanrossen.blogspot.nl @logicalerror
Alex J. Champandard aigamedev.com
nucl.ai
@alexjc
Eric Smolikowski renderingevolution.com @esmolikowski
Christoph Kubisch pixeljetstream.blogspot.com @pixeljetstream
Graham Sellers www.openglsuperbible.com @grahamsellers
Matt Pettineo mynameismjp.wordpress.com @MyNameIsMJP
Mikola Lysenko 0fps.net @mikolalysenko
Sebastian Sylvan www.sebastiansylvan.com @ssylvan
Sébastien Lagarde seblagarde.wordpress.com @SebLagarde
Doug Binks www.enkisoftware.com @dougbinks
Cass Everitt blog.xyzw.us @casseveritt
Morgan McGuire casual-effects.blogspot.com @CasualEffects
Jeff Atwood blog.codinghorror.com @codinghorror
Alex Evans mediamolecule.com @mmalex
Deano Calver www.deanoc.com @DeanoC
Leonard Ritter blog.duangle.com @duangle
@paniq
Charlie Tangora ginsweater.com/blog @ginsweater
Ignacio Castaño castano.ludicon.com/blog @castano
Simon Green industrialarithmetic.blogspot.com @simesgreen
Johan Andersson repi.blogspot.com @repi
Rory Driscoll www.rorydriscoll.com @rorydriscoll
John Calsbeek www.johncalsbeek.com @jcalsbeek
Jorge Jimenez www.iryoku.com/blog @iryoku1
Promit Roy ventspace.wordpress.com @promit_roy
Sam Martin www.palgorithm.co.uk @palgorithm
Tom Hammersley tomhammersley.blogspot.com @TomHammersley
Colin Barré-Brisebois colinbarrebrisebois.com @ZigguratVertigo
Inigo Quilez iquilezles.org @iquilezles
Jim Van Verth essentialmath.com @cthulhim
Joshua Koo joshuakoo.com @BlurSpline
Nick Porcino nickporcino.com @meshula
Mikkel Gjoel loopit.dk/publications @pixelmager
Niklas Frykholm bitsquid.blogspot.com @niklasfrykholm
Tobias Persson bitsquid.blogspot.com @tobias_persson
Stefan Boberg bionicbeagle.com @bionicbeagle
Patrick Cozzi seas.upenn.edu/~pcozzi
openglinsights.com
@pjcozzi
Eli Bendersky eli.thegreenplace.net @elibendersky
Christoph Kubisch pixeljetstream.blogspot.com @pixeljetstream
Yuri O'Donnel kayru.org @YuriODonnel
Adrian Courreges adriancourreges.com @ado_tan
John Hable filmicgames.com
www.filmicworlds.com
@FilmicWorlds
Gino van den Bergen www.dtecta.com @dtecta
Daniel Collin github.com/emoon
zenicengine.blogspot.com
@daniel_collin
Sébastien Hillaire sebh-blog.blogspot.com
sebastien.hillaire.free.fr
@SebHillaire
Attila Áfra voxelium.wordpress.com @attila_afra
Brian Karis graphicrants.blogspot.com @BrianKaris
John White johnwhite3d.blogspot.ca @ZedCull
Jon Olick www.jonolick.com
olickspulpit.blogspot.com
@JonOlick
Joost van Dongen joostdevblog.blogspot.com @JoostDevBlog
Julien Guertault lousodrome.net/blog/light @Zavie
Miles Macklin blog.mmacklin.com @milesmacklin
Simon Brown www.sjbrown.co.uk @sjb3d
Steve McAuley blog.stevemcauley.com @stevemcauley
Wolfgang Engel www.confettispecialfx.com
diaryofagraphicsprogrammer.blogspot.com
gpupro.blogspot.com
@wolfgangengel
Shawn Hargreaves blogs.msdn.microsoft.com/shawnhar @ShawnHargreaves
Mikael Hvidtfeldt Christensen blog.hvidtfeldts.net @syntopiadk
Brandon Jones blog.tojicode.com @Tojiro
Renaud Bédard theinstructionlimit.com @renaudbedard
Vincent Scheib beautifulpixels.blogspot.com @Vincent_Scheib
Daniel Rákos rastergrid.com/blog @aqnuep
Martin Ecker martinecker.com/martincodes @martin_ecker
Steven Tovey www.spuify.co.uk @nonchaotic
Pope Kim www.popekim.com @BlindRenderer
Mark Lee rgba32.blogspot.com @rgba32
Amandine Coget lia-sae.net @LiaSae
Rebecca Fernandez chainedchaos31.tumblr.com @chainedchaos31
Matías N. Goldberg www.yosoygames.com.ar @matiasgoldberg
John Ratcliff codesuppository.blogspot.com @jratcliff
Miguel Cepero procworld.blogspot.se @miguelcepero
Keith Newton inovaekeith.blogspot.com @inovae_keith
David Rosen blog.wolfire.com @Wolfire
Jonathan Blow the-witness.net/news @Jonathan_Blow
James Hague prog21.dadgum.com @dadgumjames
Alexandre Mutel code4k.blogspot.com @xoofx
Francesco Cifariello flashypixels.wordpress.com @FCifaCiar
Lexy Munroe eev.ee @eevee
Jon Purdy evincarofautumn.blogspot.com @whyevernotso
Brano Kemen outerra.blogspot.com @outerra
@cameni
Scali Bohemiq scalibq.wordpress.com @Scalibq
Jeroen Baert www.forceflow.be @jbaert
Maxime Chevalier-Boisvert pointersgonewild.wordpress.com @Love2Code
Martin Mittring kosmokleaner.wordpress.com @MittringMartin
Giliam de Carpentier www.decarpentier.nl @decarpentier_nl
Pete Collier www.petecollier.com @pete_collier
Pablo Zurita pzurita.wordpress.com @PabloZurita
Joel Spolsky joelonsoftware.com @spolsky
Dan Luu danluu.com @danluu
John Regehr john.regehr.org @johnregehr
Herb Sutter herbsutter.com @herbsutter
Scott Meyers aristeia.com @Scott_Meyers
Alexei Alexandrescu erdani.com @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 gameangst.com
Kyle Wilson gamearchitect.net
Jeromie Walters gamedeveloperjourney.blogspot.com
Richard Osborne www.kreationsedge.com
Alexandre Pestana www.alexandre-pestana.com
Brian Sharpe briansharpe.wordpress.com
Christian Schueler www.thetenthplanet.de
Emily Short emshort.wordpress.com
Tom Madams imdoingitwrong.wordpress.com
James Dolan jamesdolan.blogspot.com
James McNeill playtechs.blogspot.com
Kaspar Daugaard daugaard.org/blog
Matt Swoboda directtovideo.wordpress.com
Michal Valient www.dimension3.sk
Morten Mikkelsen mmikkelsen3d.blogspot.com
Peter Sikachev petersikachev.blogspot.com
Phill Djonov vec3.ca
Steve Yegge steve-yegge.blogspot.com
Zack Rusin zrusin.blogspot.com
Thomas Young upcoder.com
Patrick Wyatt codeofhonor.com
Mick West cowboyprogramming.com
Alex Simn alex-simon.blogspot.com
Stefan Kamoda copypastepixel.blogspot.com
John Chapman john-chapman-graphics.blogspot.com
Markus Buretorp www.rgba.se
Simon Yeung simonstechblog.blogspot.co.uk
Sam Lapere raytracey.blogspot.ch
Pete Shirley psgraphics.blogspot.co.uk
raytracey.blogspot.com
Maciej Sawitus gamedevcoder.wordpress.com
Christopher Evans www.chrisevans3d.com/pub_blog
Real-Time Voxels realtimevoxels.blogspot.com
Run Hello msm.runhello.com
C++ Secrets cppsecrets.blogspot.com
Infinite-Realities ir-ltd.net/blog



Company Publications



Communities



Conferences



Job Search