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

Bandana Dee the Dream Friend

Been working lately on lots of 'behind-the-scenes' boring stuff that no one really cares about, so here’s a guy playing the sax for some reason.

#screenshotsaturday

We made a lot of improvements on the Freezing Plains visual. Things like pine trees, tiny bushes, some rocks, and others game props!

#IndieGame | #IndieDev | #GameDev | #PixelArt | #WaifuQuest | #WifeQuest | #screenshotsaturday

"Our work is never over" they said.

Back in my art school days I used to ride the 710 COPSA line from Parque Del Plata to Montevideo almost everyday. This is the Marcopolo Viaggio G4 Mercedes Benz model from the late 80s, one of the older bus models that was running on the line.

Microsoft Windows XP Unprofessional (windows logo prototype)

Horror WIP A track that will be featured in a future horror game soundtrack! Stay tuned!

Likes appreciated ✌️

#gamedev #composer #horrorgame #indiegame #IndieGameDev #soundtrack

A house I've built a while ago. :)

It nicely separates the snowy biome from the grassy one.

It's built with painted Ebonstone.

Rockin the Guitar, an Axe like Guitar I made for my Uni project

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