main.cpp: correctly init std::string in ClientValues
[Tsunagari.git] / doc / ideas.txt
blob6484a62e454b2c2fbf339a99152b6d7434be05ff
1 Plugins:
2 Dynamically linked libraries which extend core functionality of the engine through an API. Each plugin has its own descriptor file using the Descriptor class, which defines options.
4 Wanderlust Plugin:
5 Dynamic lazy map generator. As the player explores, the plugin dynamically generates new area descriptors for large chunks of the map, which are seamlessly stitched together into one giant area. The landscape is dotted with random towns, monsters, NPCs, shops, dungeons, and other special tidbits, allowing an infinite exploration experience.
6 We would release the plugin as open source, and then sell our official game data to players. It might require less work than Eraclipse for a first game.
8 Domain Control:
9 This is how we handle permissions in the multiplayer engine. The base "domain" is "user", which has base privileges. User has subdomains with additional privileges, such as the "admin" subdomain. This can, for example, define which subdomains can use certain commands. As another example, a guild can have its own subdomain of user, and only users in this subdomain can enter their guildhall area. Domains are defined in JSON domain descriptors, and can be applied to various aspects of the game.
11 An example is in "user.domain".