Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serialization implementation version support #85

Open
wyatt-herkamp opened this issue Dec 20, 2020 · 0 comments
Open

Serialization implementation version support #85

wyatt-herkamp opened this issue Dec 20, 2020 · 0 comments
Assignees
Labels
core enhancement New feature or request game
Milestone

Comments

@wyatt-herkamp
Copy link
Member

wyatt-herkamp commented Dec 20, 2020

The serialization of objects needs to be have a versioning format.

What I mean by that is that basically all classes that deal with serialization of Game Objects(Chunks, Game Block, ETC) needs to be a version package format.

For example
org.kakara.core.common.serializers.gson.v1.NameKeySerializer
Instead of the current method. So in the future we can have a v2 if needed.
This will also be applied to the ChunkWriters.

If we were to make a v2 of the chunk writer. The game would do an update that includes.

  • Backup
  • Load everything in the old version
  • Resave in current version.
    All versions will be kept forever. So you can have a world for 1.0 and start it up for example 1.9.

Inside a world folder and save folder will be a serializer-details.properties. That will contain the version. Or a custom path to a serializer if the user wants.

This will also apply to save.json, world.json, and any other config type system we have.

P.S Ryandw11. Until we our out of PreBeta we wont worry about making new versions we will override the old version. Due to no one should be using the game until we hit a beta stage of development.

@wyatt-herkamp wyatt-herkamp added enhancement New feature or request game core labels Dec 20, 2020
@wyatt-herkamp wyatt-herkamp added this to the 1.0-PreBeta milestone Dec 20, 2020
@wyatt-herkamp wyatt-herkamp self-assigned this Dec 20, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
core enhancement New feature or request game
Projects
None yet
Development

No branches or pull requests

1 participant