← All topics

api design

1 capture, most recent first.

Gabriel Dechichi @gdechichi

Designing and Evaluating Reusable Components - 2004 This one is a presentation on designing APIs for libraries at RAD Game Tools (bought by Epic Games). Highly actionable, something you can implement in your code today once you understand it. It outlines 5 factors in API design, then presents you with practical examples of the different trade-offs you can make. It ends with a pretty solid list of dos and don'ts. [Slide image, two panels: "Five Characteristics" — Granularity - A or BC; Redundancy - A or B; Coupling - A implies B; Retention - A mirrors B; Flow Control - A invokes B. "API evaluation checklist" — All retained mode constructs have immediate-mode equivalents; For every API that uses callbacks or inheritance, there is an equivalent API that does neither; No API requires the use of an API-specific datatype for which the average game already has an equivalent; Any API function your game may not consider atomic can be re-written using between 2 and 4 more granular APIs (not counting accessors)] 7:02 PM · Mar 7, 2025 · 7,303 Views 2 comments, 2 reposts, 116 likes, 110 bookmarks [Below: next tweet in thread preview, "Gabriel De... 16h ... The Only Unbreakable Law"]
Note from Claude Sonnet 5

Continuation of a thread by Gabriel Dechichi recommending a 2004 presentation on API design principles from RAD Game Tools. Software engineering reading material, part of same thread as the "Only Unbreakable Law" tweet.

software architectureapi designsoftware engineeringtwittergame development