Entity loaders are similar to the TransportStream adapter system released in version 2 which allowed you to customize the networking layer, in that it allows you to write simple adapter classes to customize the data layer. Each entity in the game can be customized to be loaded from a difference source maybe you want to store game entities in JSON but account/player data in a database. You are now free to store/load your entities and account/player data in MySQL or Postgres or a CSV or any type of storage system you want. Ranvier no longer locks you down into storing game data in YAML and/or JSON. The largest change in version 3, hands down, is the new entity loader system. Overall the new project structure, while very different, is much friendlier experience both from a version control perspective and this split allows for Ranvier code to be much cleaner and simpler as well. As always there are thorough docs on the new process. Git submodules are a little tricky but best fit our project's needs for including subprojects while still allowing for modifying their code or receiving upstream updates. The bundle installation and management strategy going forward is now handled through git submodules by default. Taking things a step further all the bundles previously included in the ranviermud repo have each been split into their own repository for the same reasons. Previously this required a very annoying dance involving rebasing, merging, and resolving sometimes dozens of conflicts. This split greatly lessens the considerable effort it took to merge in engine updates while simultaneously working on your game inside the ranviermud repo. The docs being in their own repo makes it much easier for people to contribute doc changes if they are not programmers as they don't have to dig through code or setup the original project anymore docs now live in their own repo as well as being part of a nice new deployment runway that really only I care about.Instead it is included as an NPM dependency core is the engine itself, whose code is no longer part of the ranviermud repository.Think of it like the "starter kit" for using the core. It contains the skeleton of the project structure necessary to use the Ranvier engine. If you want to use Ranvier, this is the repo you clone. ranviermud still acts as the "main" repository.This was necessary because the ranviermud repo has been hit with a big ol' axe and split into three main repos: To start, all things Ranvier now exist under a new Ranvier Github organization. So for me seeing other people putting in their time and effort, almost always for free, really gives me the energy to keep Ranvier going. Working in this genre can get disheartening knowing so few people actually care about it anymore. I also want to thank all the other MUD projects out there: Evennia, Mudlet, et al. The general philosophy of version 3 is to be slightly lower level than previous iterations, leaving room for projects like Pinwheel to use Ranvier under the hood while providing a more opinionated starting experience for those than don't want to start from scratch.īefore I get into the changes I just want to give a huge amount of thanks to all the contributors to the project whether it be in the form of actual code, bug reports, or just being active in chat answering questions. There have been major changes not only to the engine in the form of features and bugfixes but also the project structure and the entire Ranvier ecosystem. Version 3 brings the biggest changes to the engine since its complete rewrite a bit over 2 years ago. Want to be a part of an /r/MUD project? Fellow Redditors are lending their talents to an official RMUD codebase and game! Check it out and lend a hand! You can follow /r/mud using the rss feed or on twitter. Use the following links to only show posts of that type. Welcome to /r/MUD, covering MUD, MUSH, MUX, MOO, and all other MU* variants!
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |