DynaMix: A New Take on Polymorphism
summary
A C++ library that composes objects from runtime mixins added/removed at runtime and exposes unicast and multicast messages with message priorities and global mutation rules. It ships MIT-licensed, has been used in multiple games (Earthrise, Blitz Brigade, War Planet Online), and demos show adding health bars and hot-swappable plugins without restarting. Message dispatch is slower than a virtual call but comparable to or slightly faster than std::function; mutations are relatively slow and there is measurable memory overhead for many unique types.
AI-written summary · about
chapters (21)
- 0:00Intro
- 0:51What is Polymorphism
- 3:38ObjectOriented Programming
- 5:59Other Languages
- 8:50Dynamic Polymorphism
- 10:41Advantages
- 12:09Signals and multicasts
- 19:02Earthrise
- 19:47War Planet Online
- 22:22Mixing
- 24:03Dynamics
- 26:15Macros
- 30:10Demo
- 38:38Pros and Cons
- 40:18When to useDynaMix
- 42:52Performance
- 44:16Performance Graph
- 45:23Recap
- 45:44Overload
- 48:46Documentation
- 55:06Recompiling
related talks
01h 16mPolymorphism, Cohesion, and Coupling in C++
01h 07mDynamic Polymorphism With Code Injection and Metaclasses
58mBetter Code: Runtime Polymorphism
05mConcept Driven Design with Dependency Injection
41mHigh-Performance Message Dispatch in C++
01h 23mRethink Polymorphism in C++
59mMeta++: Language Support for Advanced Generative Programming
53mC++ Horizons
