Tip jar

If you like CaB and wish to support it, you can use PayPal or KoFi. Thank you, and I hope you continue to enjoy the site - Neil.

Buy Me a Coffee at ko-fi.com

Support CaB

Recent

Welcome to Cook'd and Bomb'd. Please login or sign up.

April 25, 2024, 01:45:06 AM

Login with username, password and session length

Free (to read online) game programming book

Started by BPFHAY, November 21, 2014, 06:12:29 AM

Previous topic - Next topic

BPFHAY

http://gameprogrammingpatterns.com/

Not really much used for seasoned devs, but I know that if I had this book ten years ago I would have had less to painfully figure out myself! The "Sequencing Patterns" chapter is a particularly useful answer to the question of how to structure a game loop and update things within the game, something that just isn't obvious thanks to crappy online tutorials written by people who don't know their stuff.

Zetetic

Thanks for linking to to it. I think it's worth pointing out now that the 'web' version is free.

As an utter disaster of an amateur programmer, I've found reading the second chapter ('Design Patterns Revisited') to be very worthwhile as a reminder and to see another set of applications of those patterns.

Koant

Thanks, I started reading it and it's interesting.

After 2 years of cursing Java and Eclipse, this really rings true:
Quote
When people get overzealous about this, you get a codebase whose architecture has spiraled out of control. You've got interfaces and abstractions everywhere. Plug-in systems, abstract base classes, virtual methods galore, and all sorts of extension points.

It takes you forever to trace through all of that scaffolding to find some real code that does something. When you need to make a change, sure, there's probably an interface there to help, but good luck finding it. In theory, all of this decoupling means you have less code to understand before you can extend it, but the layers of abstraction themselves end up filling your mental scratch disk.

Codebases like this are what turn people against software architecture, and design patterns in particular.