An Introduction to Statistical Learning: with Applications in R (Springer Texts in Statistics)
Gareth James , Daniela Witten , et al.
4.8 on Amazon
72 HN comments
Mastering Regular Expressions
Jeffrey E. F. Friedl
4.6 on Amazon
72 HN comments
Game Programming Patterns
Robert Nystrom
4.8 on Amazon
68 HN comments
Steve Jobs
Walter Isaacson, Dylan Baker, et al.
4.6 on Amazon
67 HN comments
Machine Learning: A Probabilistic Perspective (Adaptive Computation and Machine Learning series)
Kevin P. Murphy
4.3 on Amazon
66 HN comments
The Cuckoo's Egg: Tracking a Spy Through the Maze of Computer Espionage
Cliff Stoll, Will Damron, et al.
4.7 on Amazon
61 HN comments
Programming: Principles and Practice Using C++ (2nd Edition)
Bjarne Stroustrup
4.5 on Amazon
58 HN comments
Ghost in the Wires: My Adventures as the World’s Most Wanted Hacker
Kevin Mitnick, William L. Simon, et al.
4.6 on Amazon
55 HN comments
Modern Operating Systems
Andrew Tanenbaum and Herbert Bos
4.3 on Amazon
54 HN comments
Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edition
Eric Freeman and Elisabeth Robson
4.7 on Amazon
52 HN comments
The Singularity Is Near: When Humans Transcend Biology
Ray Kurzweil, George Wilson, et al.
4.4 on Amazon
51 HN comments
The Everything Store: Jeff Bezos and the Age of Amazon
Brad Stone, Pete Larkin, et al.
4.6 on Amazon
51 HN comments
Compilers: Principles, Techniques, and Tools
Alfred Aho, Monica Lam, et al.
4.1 on Amazon
50 HN comments
Test Driven Development: By Example
Kent Beck
4.4 on Amazon
45 HN comments
Patterns of Enterprise Application Architecture
Martin Fowler
4.5 on Amazon
43 HN comments
lawnonJuly 29, 2021
The way you made your book(s), from making them available online for free to the excellent layout of the printed version, was a huge inspiration for me to write my own book. Thank you.
donquichotteonAug 5, 2021
Also, cool to see him pull a Knuth and writing his own typesetting and build system for the book!
shortercodeonSep 27, 2019
Also enjoyed Game programming patterns by Bob again, but that has already been mentioned.
vanderZwanonMar 20, 2017
http://gameprogrammingpatterns.com/
leksakonJuly 25, 2017
http://gameprogrammingpatterns.com/contents.html
leksakonOct 15, 2016
toshonMay 17, 2015
Somewhat (un)related: check out his book on Game Programming Patterns (http://gameprogrammingpatterns.com/). Great read of software design and patterns (not only for game developers).
munificentonJuly 19, 2021
https://gameprogrammingpatterns.com/data-locality.html
:)
criddellonJuly 10, 2018
cameronbrownonJuly 2, 2019
stirfishonJuly 20, 2021
Aqua_GeekonApr 30, 2020
TehShrikeonAug 4, 2019
I loved his "Game Programming Patterns" book, and this new book is looking totes spiffy
DanPristupovonJune 26, 2017
fapjacksonMar 20, 2017
laurenbeeonJuly 7, 2014
http://gameprogrammingpatterns.com/
rednabonJuly 29, 2021
ArtWombonDec 4, 2020
http://aka.ms/mspnp
Game Programming Patterns is another resource that is quite clear
https://gameprogrammingpatterns.com/
yoodenvranxonApr 6, 2018
jcritesonJuly 6, 2014
imdsmonApr 7, 2018
ShaneWiltononFeb 18, 2018
As a non-game developer, it's been one of the most invaluable resources I jump too when trying to optimize something.
otterproonJune 19, 2018
no-bugsonJan 18, 2016
mrspeakeronSep 27, 2019
danielbarlaonMar 19, 2018
I know patterns (especially "design patterns") have become a bit of a swear-word, something which hints at severe engineering malpractices, especially along the lines of introducing unnecessary complexity for seemingly its own sake. I think that view oversimplifies the topic greatly, so hopefully people don't dismiss it at face value.
[1] http://gameprogrammingpatterns.com/
[2] http://gameprogrammingpatterns.com/contents.html
vanderZwanonSep 27, 2019
[0] gameprogrammingpatterns.com
benrbrayonDec 2, 2020
elcapitanonJan 19, 2017
This is also available on the authors website: http://gameprogrammingpatterns.com/contents.html
ingveonMar 15, 2017
[0] http://gameprogrammingpatterns.com/
[1] http://journal.stuffwithstuff.com/2014/11/20/how-my-book-lau...
[2] http://journal.stuffwithstuff.com/2014/11/03/bringing-my-web...
[3] http://journal.stuffwithstuff.com/2014/04/22/zero-to-95688-h...
formalsystemonApr 5, 2020
Really looking forward to going through this.
springogeekonJuly 10, 2018
yoodenvranxonJune 2, 2017
panzaglonJuly 18, 2021
wly_cdgronJuly 19, 2021
s3cur3onApr 6, 2020
https://tylerayoung.com/2017/01/23/notes-on-game-programming...
fitzwatermellowonSep 14, 2016
http://gameprogrammingpatterns.com/contents.html
alien1993onMar 5, 2019
http://gameprogrammingpatterns.com/
captaincrowbaronJan 2, 2015
https://news.ycombinator.com/item?id=7634734
ryanisnanonApr 24, 2020
koonsoloonJan 7, 2020
I wrote it because there was nothing else like it.
So if you're researching something, but have to combine various sources and figuring out stuff, because there is no easy blog post, write that easy blog post yourself.
anon1385onOct 29, 2013
Since I'm talking about him I'll say I think his Game Programming Patterns book is great: http://gameprogrammingpatterns.com
TeMPOraLonSep 23, 2020
I've seen you around here a lot and enjoyed your comments, but until now, I never realized you're the author of "Crafting Interpreters" and "Game Programming Patterns"! These are some of the best resources I've ever read on-line! Thank you for doing those!
trevynonMar 11, 2018
It’s classic software architecture patterns, only seen through the lens of performance and design iteration speed, which is the way I see the world even though I don’t make what most people would consider games.
danschulleronOct 9, 2016
As for marketing, I've just replied earlier in the thread with a little more detail.
For a site with tutorials on game development, most of your readers will be using adblocking software. Therefore most popular monetization methods are: selling a book, a course or locking off content behind a paywall.
Here's an example of premium content:
http://aigamedev.com/premium/interview/dying-light/
Here's an example where the author sells the source code for his articles
http://www.wildbunny.co.uk/blog/
This blog is about all sorts of tech stuff but he sells his book "Game Programming Patterns" (which is very good!) in the side bar.
http://journal.stuffwithstuff.com/
wsc981onMay 31, 2016
Also nice is this archived post[1] on getting started as game programmer.
I am making my first real game this year, also using SpriteKit.
[0]: http://gameprogrammingpatterns.com
[1]: http://web.archive.org/web/20051104034215/http://www.lupineg...
formalsystemonMay 16, 2020
If I'm rendering a forest of course I don't want to copy the data for trees a 1000 times so of course I need to use the flyweight pattern
The decoupling patterns chapter is particularly good and will help you understand how to turn each entity in a game into a server which sends events to other entities. That way you end up with many small pieces of a code as opposed to a single giant game loop. The entity component system (ECS) is one of the main reasons why programming games in Unity is so pleasant.
If it wasn't obvious by now, this is not a book about game programming patterns it's the best book on software design patterns that I've ever read. Most software design books seems to think I'm only interested in designing accounting or banking software, why not a game?
agentultraonDec 24, 2015
If design patterns are comfortable and understandable for you then check out Game Programming Patterns[0]. It's a decent book.
However I agree with Casey's philosophy and the wider data-oriented design approach to programming. C++ is not a great language. Zero-cost abstractions are a myth. We should be thinking about the data and not about how to write clever, abstract code.
[0] http://gameprogrammingpatterns.com/
shortcordonFeb 10, 2019
Next up after that I’m gonna finally finish Practical Object Oriented Design in Ruby by Sandi Metz. I started this one after reading 99 Bottles of OOP.
Longer term project is to read through The Little Schemer and the other books in that series like The Reasoned Schemer, The Little MLer, etc.
seibeljonJune 2, 2017
[0] http://gameprogrammingpatterns.com/
dansoonMar 15, 2017
munificentonMay 24, 2020
My self-published book "Game Programming Patterns" has made me a lot more money every year for the past six years than I ever expected. It's not enough to live off of, at least not in an expensive city while raising a family, but it's nothing to scoff at either. I could probably make quite a bit more if I put time into marketing, supplementary materials, etc. As it is now, I just let the checks from Amazon etc. roll in and treat it as a nice bonus to my day job income.
If I lived somewhere cheaper, wrote full time, and made some adjustments in my lifestyle, I could probably get by on just my writing.
munificentonSep 27, 2019
My original plan was to have a photo with me and both of my dogs with the implication that each later book must feature yet another additional dog.
Unfortunately, Ginny, the dog in the photo on the back of Game Programming Patterns died earlier this year. (This makes it even more meaningful to me that she is immortalized on the book. You'd be surprised how many strangers have asked me about her.)
So, I don't have any firm plans, but I might just try to do a new photo with me and my other dog, Benny. He's getting pretty old too, though, so I guess the pressure is on for me to finish the book.
stepvhenonJuly 24, 2016
Bob Nystrom wrote a very good chapter on composition in his Game Programming Patterns book [1] and is worth reading if you want to program in the OO paradigm.
[1] http://gameprogrammingpatterns.com/component.html
coldteaonApr 26, 2021
For completeness and curiosity maybe. Otherwise one doesn't have to read the "actually-seminal papers" if they already know the concepts from the 40 to 20+ years that followed.
Do physicists need to read the original Einstein or Maxwell if they had read tomes of subsequent course and academic books on the subject, plus modern papers for the later developments?
In any case, I'm pretty sure the author of that post [1] had read at least the CSP papers -- he works on the Dart language team, and has written Game Programming Patterns and Crafting Interpreters, both quite popular books, which have been discussed (as in first page) more than 3-4 times in HN in the past years.
[1] https://journal.stuffwithstuff.com/2015/02/01/what-color-is-....
antjanusonJuly 27, 2018
Clean Code: A Handbook of Agile Software Craftsmanship
http://amzn.to/2vcRcgU
This book really helped me focus on code organization and seeing maintainable code as an overall goal whilst building long-term applications. I'd say that one of the reasons why the work I've done 3-4 years ago can still be used, expanded, and maintained today is because of this book. Short functions, code organization, and naming conventions all stuck with me.
I'd say that unlike other programming books, this one focuses on the "art" and "organization" rather than syntax and other aspects of programming.
The Pragmatic Programmer: From Journeyman to Master
http://amzn.to/2vfeUaT
This book tackled real-world application building and practices. I'm still reading it. I liked how it tackled not only some basics of programming (resource management practices) but also project management to a certain extent. Eg. how to use prototypes, how to use "trace bullet" programs, etc.
Game Programming Patterns
I think one of my favorites has been "Game Programming Patterns" http://gameprogrammingpatterns.com/ which is free online or you can get an ebook/print version http://amzn.to/2veRdiO
The book introduces several basic design patterns, it explains WHY they're used, how to implement them, etc. in the best way I've read so far. No CS book or online article has been able to explain these patterns as this book did.
And I'm not even a game developer.
Also, check out this post on dev.to -- https://dev.to/ben/what-are-the-most-interesting-readable-so... it has some good answers! :)
michaelx386onMay 14, 2015
[0] http://journal.stuffwithstuff.com/2014/11/20/how-my-book-lau...
[1] http://gameprogrammingpatterns.com
mreomeonJan 28, 2019
I've come across very few Design Patterns, and Software Engineering topics in general, that couldn't be taught/explained from the perspective of game development. I'm surprised that it isn't used as a teaching-tool more often then it is. It's an inherently complex domain that most audiences are already quite familiar with; the "why" behind things is either immediately obvious or easily explained. If someone doesn't know what the requirements are for something like an employee record databases, and how such a system might be used, using that as a context for teaching is not much more useful then "class Widget" and "Foo.Bar()".
adrianoconnoronDec 20, 2016
I'm not a game programmer by trade, but I'm interested in that stuff and I really enjoyed it all the same. It made me rethink some stuff about enterprise patterns too.
DanAndersenonApr 23, 2014
erikbyeonOct 26, 2017
GPU Gems, Shader X and GPU Pro are good series for learning specific graphics programming techniques.
https://developer.nvidia.com/gpugems/GPUGems/gpugems_pref01....
http://www.realtimerendering.com/resources/shaderx/
For a general game engine overview: Game Engine Architecture by Jason Gregory (Naughty Dog)
Game Programming Patterns: https://www.amazon.co.uk/Game-Programming-Patterns-Robert-Ny...
Realtime rendering overview: https://www.amazon.co.uk/Real-Time-Rendering-Third-Tomas-Ake...
Related math: https://www.amazon.co.uk/Math-Primer-Graphics-Game-Developme...
Other recommendations:
http://mrelusive.com/books/books.html
http://fabiensanglard.net/Computer_Graphics_Principles_and_P...
It's fun to explore the source though, and NVIDIA has some cool experimental branches of the engine with their stuff integrated.
https://github.com/NvPhysX/UnrealEngine
shortercodeonJuly 25, 2019
I started the second half in Rust about a week ago, I don't have enough vacation days to work through it at the pace I did the first half. Finding it a bit harder so far, but I think that's just because I'm still new at Rust.
You may have already mentioned this but will you be publishing a physical copy when your done? I'd love to get one for the shelf.
munificentonJuly 25, 2019
Yes. Just like with "Game Programming Patterns", once the chapters are done, I'll put together a print edition, eBook, Kindle, etc. Based on the length, I may end up doing it as two separate volumes, which is crazy to think about.
shadowmintonMar 11, 2018
Google search “design pattern book”. Right, now take any of those books.
If you want game related stuff try “game programming gems”.
This book is free... that’s literally all it has going for it. Wikipedia has better stuff that you know... actually compiles, etc.
If you got any value out of Game Programming Patterns, I cannot strongly enough recommend you go and read an actually good book on design patterns; you’ve probably been mislead by its vague hand waving and incoherent discussion of the various topics.
lucaspilleronAug 9, 2015
[1] http://gameprogrammingpatterns.com/architecture-performance-...
hertzratonDec 16, 2020
http://gameprogrammingpatterns.com/
demircancelebionJune 5, 2017
After I complete this book, I think I'll read his other book: Crafting Interpreters. This one teaches about implementing a programming language from scratch, once in Java and a second time in C.
ArjunaonMay 9, 2017
1. Nathan Barry has written extensively about his success with self-publishing. Essentially, his method (I'm simplifying here) is to 1. position yourself as an expert in your field via blogging, then 2. directly market to your audience via email using a 3. tiered pricing model (i.e., multiple packages at increasing price-points). He wrote a book about his methodology entitled "Authority."
Authority:
http://nathanbarry.com/authority
Nathan Barry’s Lessons Learned Selling $355,759 on Gumroad:
http://blog.gumroad.com/post/73421524134/nathan-barrys-lesso...
2. Bob Nystrom has written about his experience writing and marketing "Game Programming Patterns."
http://journal.stuffwithstuff.com/2014/04/22/zero-to-95688-h...
http://journal.stuffwithstuff.com/2014/11/20/how-my-book-lau...
A comment he wrote regarding publishing:
https://news.ycombinator.com/item?id=13878280
3. Advice and insight on the topic of traditional publishing from Patrick McKenzie:
https://news.ycombinator.com/item?id=12118914
4. Thread entitled "Ask HN: Has anyone here self-published a book? Any advice?"
https://news.ycombinator.com/item?id=6052075
5. Self-publishing success comment involving multiple pricing tiers:
https://news.ycombinator.com/item?id=13878266
6. Self-publishing success story entitled "How I Made $70k Self-Publishing a Book about Ruby on Rails."
https://news.ycombinator.com/item?id=13876514
All the best!