Hello. This is Anton again and I will be describing the work I’ve been doing since the last post. This includes making a system for pickups, implementing more of the save system and other work
Pickups
Some objects have no variables which is changeable. Instead the only interaction available is picking up the objects.
The pickup class builds upon the basic interaction system by adding functions and variables which allow the objects to be enabled and disabled. They also get a link to the save/load system and a numerical id. This allows for them to call a function to the save/load system when they are picked up.



The save/load system
My personal goal has been working on a save system and the design has been changed since the last Devlog. The original design was making it a part of the character object which seemed logical as all Interaction objects carry a link to its activator. After some initial implementation was tested it caused a number of problems.
-It made the character object grow larger and harder to understand, this problem would only grow if the design was not changed.
-Causing problems with working in parallel as the character object is being worked upon by Jonathan
-Although most of the variables are reloaded on player death, the array of object references need not be.
The array of objects was one of the harder decisions made during the project so far. The initial plan was to simply gather a list of all the pickups as the game started with GetAllActors function. However, after some discussion with Dennis we decided for a solution which would withstand changes brought by the development. Instead we decided to manually add all the items we wanted to save as pickups in an array. This ensure the order of saved pickups remain constant when adding and removing objects.
The order of saved pickups is important as the save/load system keeps an boolean array of the status of the objects. When it loads the game all of the pickups are activated/deactivated. This array is written to both when the game is loaded and when the deactive object function is called. The integer sent is the array index.

The actual save game object containing the data saved to disk has been changed from the original design. Instead of saving the location of all the pickups it merely saves the boolean array.
Once the system is complete it will also hold arrays for the door variables .
Cooperative work
One of the more interesting thing about this project is making certain all of the different pieces from different developers work together correctly. I’ve been working with Jonathan to make certain the player character supports the save/load system correctly.
I’ve also been working with both Dennis and Jonathan to make the interactive system works with Dennis hideouts and Jonathans character object.
As the project continues towards the 22th December I hope that all of the saving system will have the ability to save doors and AI.
See you in 2018! Merry Christhmas!
0 comments