Game
Project Smile
8 years ago

Devlog #8 - Pickups, save system and other work


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.

5d0a9547227ac.png
5d0a954990091.png
5d0a954c06657.png

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.

5d0a954e43487.png

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

Loading...

Next up

Here's a peaceful little forest scene for this #screenshotsaturday, from the beginning of the game.

Enemies can also suddenly spawn through Realm Rifts. These Rift Spawns are going to be stronger than the ones wandering around. TBD on the enemies... #screenshotsaturday #godstear #madewithunity

Shadow The Hedgehog X pixel art

I have added rewards for quests so that villagers can give you something in return for your hard work helping them. 🥳

I want to know - what's your favourite quest reward?

Updated the chest in the maze, adding sound, particles and better animation. But what's in the chest?

Levels' maps.

Colorful Fox

Happy Late Easter!

Ladies & gentlemen.. The Blender logo factory! I had a ton of un making this animation. I'll be making a short tutorial on picking up/dropping object in Blender for animations next week! What do you think?