3 ms·
One thing I always think about is how the code works behind games like Starcraft. I find myself trying to understand the data structures and algorithms behind s
by jmtame 14y ago
One thing I always think about is how the code works behind games like Starcraft. I find myself trying to understand the data structures and algorithms behind seemingly simple mechanisms like creep spreading or revealing the fog of war. Are there any other writings like this that talk about the technical side of popular games?
- netcoyote 14y agoGamasutra has some good articles; check out http://www.gamasutra.com/category/programming http://www.gamasutra.com/category/programming. Here's a good one: http://www.gamasutra.com/view/feature/3094/1500_archers_on_a_288_network_.php http://www.gamasutra.com/view/feature/3094/1500_archers_on_a.... It talks in detail about the network code and unit synchronization logic used for Age of Empires, which is more or less the same as that used by Warcraft and StarCraft.
- cpeterso 14y agoHere are some game tech articles that I found interesting: * Fixing Pathfinding Once and For All: http://www.ai-blog.net/archives/000152.html http://www.ai-blog.net/archives/000152.html * Scenegraphs: Past, Present, and Future: http://www.realityprime.com/articles/scenegraphs-past-present-and-future http://www.realityprime.com/articles/scenegraphs-past-presen... * Evolve Your Hierarchy: Refactoring Game Entities with Components: http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/ http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy...
- Too 14y agoEvolve your hierarchy is a really good read for everybody, not only game programmers. It shows in a very convincing way why the classic Cat : Animal inheritance model taught in every Java-school doesn't work when things scale up and proposes a better alternative.
- cpeterso 14y agoReading this Starcraft story and "Evolve Your Hierarchy" reminds me that, in retrospect, most of the class inheritance hierarchies in my student and early professional projects were bad design. These days, I think implementation inheritance is a code smell.
- Evbn 14y ago"Prefer composition over inheritance" is an item in Bloch's Effective Java.