Game
Project Smile
7 years ago

Devlog #4 - Interacting with objects and saving the game.


Hi, my name is Anton Johansson and I have been working on the interaction system and is currently working on the save system.

The interaction system is divided into several parts.
The first is the inventory system which handles the objects the player can pick up and store. Currently this includes keys for doors, batteries for flashlights, pages the player can pick up. The keys and batteries are stored as integers. The pages are stored as an array of strings and an array of bools to show which pages has been picked up. It contains functions for using or adding these items.

5d0a9516a7359.png

The inventory system also has its own widget to display information to the player. This includes both the current number of keys and batteries and displaying text feedback. The images of battery, key and mouse hover are currently placeholder

5d0a9519b86d0.png

The player also checks for interaction with a raycast. This in used for two purposes. Firstly to determinate the mouse hover icon(seen in previous screenshot) and secondly to check when the player interacts with objects.

5d0a951d009ed.png

The interactable objects share an object type and an interface. There are two functions all interactable objects share. One to get the hover symbol and one to activate it. The second sends the activator as an argument allowing the object to make callbacks. The primary callbacks are interacting with the inventory as it is an actor component and checking for collisions with specific boxes.

The door is the first and most advanced of the interactable objects. It supports being opened from multiple angles and checks keys with inventory.
During my work I had to implement extra collision boxes to check which side the player was on. I also had to do multiple checks to ensure the player could not push the door from one side to the other when standing in the middle.
During my work with the interaction system, I’ve been using it to test the different systems. Once a system was working on the door, making it work with different objects was easy.

Save system

The save system is my personal goal for this project. Learning the best way to save the state of the game is something I am currently working on. It will be divided into several parts.

Beginning with a list of the types of variables which will be saved and loaded.
AI variables which I will cooperate with Dennis to implement correctly.
Inventory variables which will be rather simple.
Player health when saving.
Variables and status of interactable objects, doors will be set to either locked or unlocked, open or closed. Pickups such as keys and batteries will have to be saved with locations and if they have been picked up.

Continuing with an autosave feature, this game will not have a system allowing the player to save and load from a menu. Instead it will save at certain checkpoints and automatically load if the player is killed.

Other members.

Jonathans work on the player controller brought me and Jonathan together as I had to modify it to work with the inventory system.

See you next week when I’ve implemented more of the system.



0 comments

Loading...

Next up

Just as Pecaminosa's musicians #improvise this rendition of #LittleSunflower 🌻, so do we improvise with this post you're reading. 😂

What's coming out of your own improvs? 🤔

#Pecaminosa | #IndieDev | #OST | #Jazz

Bandana Dee the Dream Friend

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

Quantum precognition is one of the most powerful cards. End game cards & equipment. Demo/alpha build boss is no match for this deck.

So here's the first of the zodiac signs i will make for the next weeks.

Spaaaace~

These are background sprites I've created for a game I'm working on at school ^w^ Click on the post to see how the sprites connect. You won't regret it! (personally, I think it's pretty heheh)

Drawn in Piskel using my mouse. Whaddya think?

I worked so hard to get all four of them to the end safely, but then...

Very ambitious construction going on in Planet Zoo on Plays today. We're tryin'. LIVE: www.twitch.tv/dreamhackplays

Let me introduce you to the new Mech line: Gendai Spec. Those are Mech that specializes in surprise attacks, covered operations, and stealth. They are equipped with melee weapons but one of Gendai's frames supports sniper rifles.

Szayel Aporro Granz - Bleach