Top all-time · #3684
bitsquid: development blog
Company blog · bitsquid.blogspot.comgamesprogramming
bitsquid: development blog is the company blog at bitsquid.blogspot.com, writing about games and programming. Since 2010, 20 different Hacker News readers have linked it 37 times, most often “Building a Data-Oriented Entity System (2014)”. The last post was in 2017, but the archive is still widely read.
Too few sampled comments (11) to say how often HN recommends it.?
Why HN links it
HN readers link the BitSquid game engine development blog for its posts on engine architecture, memory allocation, and merging game content files, written by the engine's developers.
Summarised by Claude from a sample of 11 HN comments that link here. Each comment is marked recommending, critical or neutral (citing without judging); how this works.
Most-linked posts?
- Building a Data-Oriented Entity System (2014)4 people · 5 mentions · first linked 2014-09-14
- BitSquid Blog - building a high quality commercial game engine3 people · 4 mentions · first linked 2010-11-19
- /2 people · 2 mentions · first linked 2015-08-20
- Allocation Adventures: The Buddy Allocator2 people · 2 mentions · first linked 2015-08-05
- Sensible Error Handling (2012)2 people · 2 mentions · first linked 2015-12-17
What Hacker News says?
This series of articles might help you picture how a game could be architected without inheritance: http://bitsquid.blogspot.com/2014/08/building-data-oriented-... A couple of commercial games have been built on that engine and it was recently sold to Autodesk, so it's not just handwaving.
Comment linking /2014/08/building-data-oriented-entity-system.html
on “Announcing Rust 1.0 Alpha”Submitted Allocation Adventures: The Buddy Allocator as a story · 34 points
HN discussionSince you mention game development - the architectures behind Love ( https://www.youtube.com/watch?v=DPIA2g8T6Hw ) and Bitsquid ( http://bitsquid.blogspot.com/2010/04/our-tool-architecture.h... ) were both big influences, demonstrating that it's possible to build composable tools while still having the accessibility of rich GUI apps.
Comment linking /2010/04/our-tool-architecture.html
on “Eve Version 0”Submitted Stingray Renderer Walkthrough as a story · 9 points
HN discussionThere is a small series of posts on the BitSquid blog about memory allocation which is worth reading! http://bitsquid.blogspot.com/2015/08/allocation-adventures-3...
Comment linking /2015/08/allocation-adventures-3-buddy-allocator.html
on “Writing a simple pool allocator in C”Submitted Validating materials and lights in Stingray as a story · 8 points
HN discussionThanks, if you do nothing else, please (links to follow): 1. Read/watch the naughty dog presentation on Last of Us port where they talk about their time step. I have to say if there's one company who puts out stuff like videos and articles/books you should read, it is Naughty Dog. They know what they are doing optimization-wise, I just happen to find most of their games boring and lifeless from a design point of vie…
Comment linking /2011/09/managing-decoupling-part-4-id-lookup.html
on “Kotlin 1.0.5 is here”Submitted Building a Data-Oriented Entity System (2014) as a story · 4 points
HN discussionThere's a good blog post about auto-merging JSON/XML structured data files (for game content) on the bitsquid blog from 2010: > having content conflicts is no fun either. A level designer wants to work in the level editor, not manage strange content conflicts in barely understandable XML-files. The level designer should never have to mess with WinMerging the engine's file formats. > And conflicts shouldn't be necess…
Comment linking /2010/06/avoiding-content-locks-and-conflicts-3.html
on “What if Git worked with programming languages?”Submitted Building a Data Oriented Entity System as a story · 3 points
HN discussionThanks for that link - I was aware of the Stingray (Bitsquid) development blog ( http://bitsquid.blogspot.com/ ) but didn't know about those videos.
Comment linking /
on “Game Engine Architecture Lectures”Submitted Why Lua? as a story · 3 points
HN discussionin practice, suppose you want to do a merge of files that have more structure than plain text. e.g. code belonging to specific a programming language, json, some data format for an application, etc. This all has a lot more structure than just plain text. You can do a better job of diffing and merging if your difftool and mergetool is aware of the structure of your file. text-based tooling that git offers is to some…
Comment linking /2010/06/avoiding-content-locks-and-conflicts-3.html
on “How different are different diff algorithms in Git?”Submitted Garbage Collection and Memory Allocation Sizes as a story · 3 points
HN discussionFor some more in-depth game engine development blogging, check out BitSquid[0] - an engine being developed by ex-lead developers of GRIN (Ghost Recon Advanced Warfighter, Bionic Command Rearmed). [0] http://bitsquid.blogspot.com/
Comment linking /
on “Let's Code... an MMO”Submitted Physically Based Lens Flare as a story · 2 points
HN discussionI recommend the old bitsquid blog as well - it gives a good snapshot of the thinking that goes into creating game engines these days. http://bitsquid.blogspot.com
Comment linking /
on “Practical Examples in Data Oriented Design”Submitted A Data-Oriented, Data-Driven System for Vector Fields - Part 1 as a story · 2 points
HN discussionBitsquid didn't prevail but personally I thought the software design was spot on. If you're into this kind of project. (Game engine) https://bitsquid.blogspot.com/2009/09/welcome-to-bitsquid-bl...
Comment linking /2009/09/welcome-to-bitsquid-blog.html
on “Ask HN: Best codebases to study to learn software design?”Submitted Sensible Error Handling (2012) as a story · 1 points
HN discussionI've really enjoyed reading http://bitsquid.blogspot.com/ . It runs right from the birth of their game engine right up to the recent acquisition by Autodesk. They are heavy proponents of data-centric design with flat layouts (no pointer graphs jumping all over memory). The result is a game engine where almost anything (from rendering pipelines to physics models to ai) can be changed, compiled and live-updated on a n…
Comment linking /2011/12/pragmatic-approach-to-performance.html
on “Pitfalls of Object Oriented Programming (2009) [pdf]”Submitted Sensible Error Handling (2012) as a story · 1 points
HN discussionI really enjoy reading the Bitsquid blog (two guys who made a game engine and sold it to autodesk). They have a much more balanced take on the subject (eg http://bitsquid.blogspot.com/2011/12/pragmatic-approach-to-p... ) and lots of practical examples (eg http://bitsquid.blogspot.com/2012/09/a-data-oriented-data-dr... , http://bitsquid.blogspot.com/2014/08/building-data-oriented-... ). There are benefits not just to…
Comment linking /2014/08/building-data-oriented-entity-system.html
on “A Programming Language for Games, Talk #2 [video]”Submitted BitSquid Blog - building a high quality commercial game engine as a story · 1 points
HN discussionBitsquid recently had an interesting 3-part post on the design of the entity system for their game engine: http://bitsquid.blogspot.com/2014/08/building-data-oriented-... http://bitsquid.blogspot.com/2014/09/building-data-oriented-... http://bitsquid.blogspot.com/2014/10/building-data-oriented-... Data is stored in flat, homogeneous blobs and linked together by integer ids instead of pointers.
Comment linking /2014/10/building-data-oriented-entity-system.html
on “The Power of Interoperability: Why Objects Are Inevitable (2013) [pdf]”These blogs are definitely worth a look: 1) https://molecularmusings.wordpress.com/ 2) http://bitsquid.blogspot.com/ 3) http://gamesfromwithin.com/ They can feel a little esoteric but there's a lot of golden nuggets if you're willing to dig a little. Also, check out this book by Jason Gregory: http://www.gameenginebook.com/
Comment linking /
on “Game systems integration”I would worry that trying to shoehorn the code back into an entity-at-a-time OO-style interface still encourages poor access patterns. I much prefer the bitsquid approach which treats component managers as the objects and provides nice bulk-access apis for each: http://bitsquid.blogspot.com/2014/08/building-data-oriented-... http://bitsquid.blogspot.com/2014/09/building-data-oriented-... http://bitsquid.blogspot.com…
Comment linking /2014/10/building-data-oriented-entity-system_10.html
on “C++ encapsulation for Data-Oriented Design”Autodesk acquired bitsquid ( http://bitsquid.se/ ) last year. Btw their blog contains great ressources on game dev: http://bitsquid.blogspot.com
Comment linking /
on “Stingray: 3D Game Engine and Design Visualization”There’s some articles floating around that touch on the idea. Bitsquid comes to mind. [1] To give a slightly more detailed description, you allocate two arrays of the extents. One is the dense array of whatever type, say T, and the other is the sparse array of 32 bit or 64 bit integers. The sparse array stores indices into the dense array for extant objects. However, for extinct objects, the indices instead point to…
Comment linking /2014/08/building-data-oriented-entity-system.html
on “Using Uninitialized Memory for Fun and Profit (2008)”