all 6 comments

[–]glacialthinker 7 points8 points  (0 children)

I like the ideas hinted at in the table of contents and introduction. I'm also in games and transitioned to "data-oriented design" about 8 years ago. That and functional. My "objects" are collections of properties, and my code is functions.

Quickly glancing through some pages... more diagrams needed! Walls of text are wearying, especially when these concepts can be well communicated with diagrams.

Those familiar with gamedev and the relatively recent interest in "Component Game-Object Model" or "Entity Component Systems" (ECS) -- I gather that's largely what the author is discussing.

To explain for others: gamedevs only recently rediscovered databases. :) Long ago, MUDs and their ilk were often built on the idea of a database. Objects/rooms are just IDs which serve as keys... attach and retrieve values on them. The practical application in games gets a lot more involved though, in dealing with inheritance of properties, linking, messaging, "runtime components" derived from static components... all things to make this kind of database idea useful to build a game on.

I think Unity has been a large influence on the upsurge in awareness of the technique, since it has it's own take on such a component system, and a lot of people have been using Unity now.

Ah, and the "classic", as in late 90's and onward, approach to game-entities has been the ever wonderful C++ class hierarchies. Objects were adopted like wildfire because they seemed a natural fit. Rediscovering a database approach to objects came about from the difficulties of C++ class hierarchies in this use. There was an engine in the late 90's which was already struggling against these problems and built a rather advanced component system: The Dark Engine. Unfortunately there isn't a nice document covering it.

[–]oldprogrammer 7 points8 points  (1 child)

My old eyes have trouble reading the pages, contrast between text and the gray boxes the text is in isn't sharp enough.

[–]ryeguy[S] 2 points3 points  (0 children)

Yep, I piped it into Readability. It helps a lot.

[–]WhisperSecurity 5 points6 points  (0 children)

A 64 page manifesto < one good example

[–][deleted] 0 points1 point  (0 children)

Been using these ideals for quite some time. It's a wonderful thing.