Mostly about videogames — Reading List
Lately, I’ve been experimenting with the Android SDK, so I if had to include only one link it would be https://developer.android.com.
I still continue working through the Udacity Deep Learning course, but It is a little bit on pause right now. Slowly but surely I’ve been learning to grasp Tensorflow, and going a little bit deeper into the machine learning inwards.
What follows is all about videogame development.
In a different theme, I’ve been interested in learning about low-level computer concepts and going back to my roots. Although I’ve worked with other technologies during my university days, I’ve fallen into Java development pretty deep. There is a wide variety of tools and libraries, the IDE’s are mostly good and it is fast, I mean, fast enough. I am really into Android, but I think enterprise-y stuff is not really that exciting for me although it makes money. So why this sudden interest in low-level concepts? I like games and I like following what game developers are working on.
I’ve been following the HandMade Hero Youtube channel for a while (official website here). In this channel, you can follow how Casey Muratori develops a professional quality game from scratch. It is so from-scratch, that unfortunately I don’t have time to watch all the videos. It goes really deep and It really shows that Casey is a programming veteran with strong opinions. When I say from the scratch, It is all about system calls and not using libraries.
You should also checkout the Handmade-network. There you can checkout a few cool projects that incorporate Casey’s ideas.
Another game developer I’ve been following for a while is Jonathan Blow. He is most known for Braid. Recently he released The Witness. I’ve played it and it is pretty awesome. He is one of the most well-known game developers, due to his success but also his opinions about games.
So, where I am getting at?. The Witness was released recently. Casey Muratori also worked on the game for a while. Casey Muratori has a deep concern about performance and a really strong opinion about Object Oriented Programming, he really, really does not like it. You can hear about his opinion in the HandMade Hero Youtube channel, but also in some of his blog posts. It is polarizing.
At some point Casey points out this talk by Mike Acton. It takes guts to go into a C++ Convention to talk about what C++ developers are doing (what he considers) wrong. It also has a pretty interesting Q&A section with some opinion clashing going on.
Among these developers, there seems to be a universal understanding that encapsulation is not the be-all and end-all, especially in games where things are supposed to work together and interlock. It is not exclusively about excessive separation of concerns but also about performance and thinking how about everything lives in the computer.
Jonathan Blow is also not really happy about C++ and the currently available programming languages for games. Guess what, he is creating a programming language for game development that fits his needs. You can follow the development of the language and compiler in his Youtube Channel. He is the real deal, he knows about game design, programming and compilers. Not sure about where I read this but he is not compiler developer novice. The language, called jai, is still in the early days.
You can also watch several talks at HandmadeCon 2015 with a few of these people:
- HandmadeCon 2015 — Mike Acton
- HandmadeCon 2015 — Jonathan Blow
- HandmadeCon 2015 — Pat Wyatt
- HandmadeCon 2015 — Tommy Refenes

Also in games, I watched this talk (“Parallelizing the Naughty Dog Engine Using Fibers”) from Naughty Dog’s Lead Programmer Christian Gyrling. It is really interesting from a programming and visualization standpoint. It goes into how Fibers are used in their custom built Engine. I heard about Fibers before but I don’t know much about them (I will look into it), but the visualization of the engine tasks and how they solved a specific performance problem is really fascinating.
If you are interested in Naughty Dog and the Uncharted videogame series, you should also watch this video in the best videogame website there is.
→ Also at Giantbomb — Building the Bastion
To finish off the section where I clearly worship a few game developers is Shawn McGrath, the most badmouth of them all.
Pretty recently Shawn McGrath started streaming the development of his new game at Twitch (archives also available on his Youtube channel). I still don’t quite get what the game is about (I know it is some kind of MOBA). It is downright scary to look at his programming from a beginner standpoint. His videos show that he has a lot of fun programming and he is a C/low-level master. My first introduction to his work was through Dyad.
Anyway, got to read about Cache Lines, misses and hits as also Compare And Swap.
That’s it for now. See you next time.