Releases: openrpg/OpenRpg.Genres
Adding Basic Persistence Models
Summary
For a while its been discussed that there should be a separation between the "live" representation of data and the "persisted" representation of data with guidance being that you should create cutdown models that represent just what you need and manually transform/serialize your data as needed, and this has worked fine however its not super easy for newer devs to just get up and running with.
So to try and improve on that experience out of the box we have added some basic persistence based data models with some mapping implementations which act as a basis for you to create your own persistence logic that will turn a character, item, inventory etc into something that can be easily persisted and then re-hydrated when read back in.
To find out more go view the online demos at https://openrpg.github.io/OpenRpg.Demos.Web
Minor fixes to default property values
It is expected that most users will just use the DefaultXXX
style object for things like DefaultVariables
and DefaultStats
, but there was a few properties which did not have default values assigned, so this has now been fixed.
Unification of Genres
Originally the genres were meant to be self contained quick starts for various scenarios such as fantasy games, sci fi games or any other genre, with users being able to extend them or add to them, making it easier to define a convention for their own games and re-use/share it with others.
To that end we have split things up a bit more so rather than it going from OpenRpg
-> OpenRpg.Genres.Fantasy
we now have a shared layer that can probably be used as a basis for all future genres. So in the new world it would look like OpenRpg
-> OpenRpg.Genres
-> OpenRpg.Genres.Fantasy
.
The main benefit for this is that almost all genres will have a lot of overlapping notions, such as a Character
or the notion of HP
. In a fantasy game you may have HP
and MP
but in a scifi game it may be HP
and PSI
or Energy
etc, but the idea is a lot of basic types are shared on each, and this makes it easier going forward to make use of them in a streamlined way.