OK, time for a seriously crazy idea
After mucking around with the sound module I thought, hey, sound is basically implemented as a message handler - Angband sends a message request with a 'message type' and the module simply plays the corresponding sound for that type. It would be a trivial case of turning sound into a loadable module which Angband can load dynamically (a .o file in Linux, a DLL in Windows)
But then I thought, hey - couldn't Angband just call a loadable module that handles dungeon generation. And what about objects, spells, etc, etc...
So I'm now thinking, why not just reduce Angband to all the UI stuff (display, keyboard and mouse input), core object handling, and visual effects (breath cones, bolts, beams, etc.) and put EVERYTHING else (races, classes, object types, spells, combat, etc.) into loadable modules. Angbang would then act as an event driven message broker.
Am I mad?
After mucking around with the sound module I thought, hey, sound is basically implemented as a message handler - Angband sends a message request with a 'message type' and the module simply plays the corresponding sound for that type. It would be a trivial case of turning sound into a loadable module which Angband can load dynamically (a .o file in Linux, a DLL in Windows)
But then I thought, hey - couldn't Angband just call a loadable module that handles dungeon generation. And what about objects, spells, etc, etc...
So I'm now thinking, why not just reduce Angband to all the UI stuff (display, keyboard and mouse input), core object handling, and visual effects (breath cones, bolts, beams, etc.) and put EVERYTHING else (races, classes, object types, spells, combat, etc.) into loadable modules. Angbang would then act as an event driven message broker.
Am I mad?
Comment