Hi,
I'm mostly a game developer and I love Eclipse Phase (even if I didn't read it all yet I've bought all the books so far).
I don't have time to build a game based on Eclipse Phase at the moment, not even a little one (the rogue-like idea from the other thread about making an EP video game is very good idea to me, but I have others). But I want to do make one in few years from now (when I can).
So, I was thinking that it would help almost anyone wanting to make an EP game to simply have a code base providing core rules and a bit more of the game mechanics, allowing to quickly hack by using those core rules.
So I'm toying with this idea and I think I might start writing (in the coming weeks or months) a set of short libraries to provide the core rules and some helpful constructs. As I'm making games mostly in C++ I would write it in C++ as well (C++11 to be precise). A separate C API wraping this library should be possible to write to allow easy binding with other languages, but it's not my priority.
Before I start, I wanted to first expose the idea here.
Second, I would like to ask if you have any suggestion or remarks over the following feature list I want to implement first :
- Constructs reprensenting morphs, egos and objects: provide attributes (traits, stats, skill lists etc.), state (a live, dead, insane, etc.) and basic manipulations (following the core rules)
- Test functions for core rules (basic tests, opposed tests, skill tests, etc.)
- Specific rules tests functions (certainly in separate libraries) : Combat, Hacking, Psy, Forking/Merging, etc.
- Action-Turns sequencer : helps dividing virtual time in turns and actions etc. - with time deformation modifiers.
- Weapon, Armors, and other objects damage calculation functions.
- Customized dice-rolling functions (used by test functions)
- All rules should be configurable (because in video games you have sometimes to modify the core rules parameters to match the game feel)
- Moxie and custom modifiers always usable for any test function
- Very very very modular and extensible, to allow easily constructing new rules
- Open Source (MIT or BSD or whatever)