Serialization (Saving/Loading Levels) | Game Engine Concepts #5
Join the Discord: https://discord.gg/4tHeAkxNg7
In this tutorial I give a broad overview of what serialization and deserialization are, how they work, and how you might implement it. I give two specific code examples, one in Java and one in C++, and I list some useful libraries to help with the serialization process. I recommend serializing the data to a json format, and including a version system to ensure that when you update software and the save process changes, users can safely upgrade there files.
Using Gson for Serialization: https://youtu.be/Yio_tAY2jC4
Using Gson for Deserialization: https://youtu.be/niT9F_YICK4
Gson: https://github.com/google/gson
Nlohmann Json: https://github.com/nlohmann/json
C# Builtin Json: https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to
0:00 Intro
0:30 What is Serialization?
2:02 Phases of Serialization
3:19 Breaking the World Down
5:16 Json Libraries
7:14 Formatting the Data
9:19 Versioning Your Data
10:56 Java Code Example
12:22 C++ Code Example
---------------------------------------------------------------------
Website: https://ambrosiogabe.github.io/
Github: https://github.com/ambrosiogabe
Here are some books I recommend if you want to learn about game engine development more thoroughly. I do not profit off any of these sales, these are just some books that have helped me out :)
My Recommended Game Engine Books:
Game Engine Architecture: https://www.gameenginebook.com/
Game Physics Cookbook (Read this before the next physics book): https://www.amazon.com/Game-Physics-Cookbook-Gabor-Szauer/dp/1787123669
Game Physics (Ian Millington): https://www.amazon.com/Game-Physics-Engine-Development-Commercial-Grade/dp/0123819768
Game Programming Patterns (Free): https://gameprogrammingpatterns.com/
My Recommended Beginning Game Programming Books:
JavaScript Game Design: https://www.apress.com/gp/book/9781430247166
My Recommended Java Books:
Data Structures/Algorithms: https://www.amazon.com/Data-Structures-Algorithms-Java-6th-ebook/dp/B00JDRQF8C
LWJGL (Free, but I haven't read this thoroughly): https://lwjglgamedev.gitbooks.io/3d-game-development-with-lwjgl/content/