Devlog #6: Interaction System
Hello engineers!
I just wrapped up my second sprint which was focused on the new Interaction System. Up until now, all of the game’s interactions were based on the mouse cursor. Picking up items and interacting with objects required finicky and precise mouse placement. It also had me questioning the existence of the little robot as it didn’t do anything besides provide the tiny 4-slot inventory (which I was planning on removing anyways). One solution might have been to completely remove the player avatar and embrace the city builder/RTS type of control scheme, but I just couldn’t part with the bot. There is something special about controlling a character in a game world.
When I encounter a design problem like this, I usually look to other games to see how they solved or avoided this problem. Astroneer and Factorio were two of my biggest inspirations thus far, but I felt like both had this somewhat awkward hybrid control scheme of a player avatar and a cursor-based selection system. I then looked at games like Stardew Valley, Don’t Starve, and Animal Crossing. These games all use a pretty similar control scheme that relies on the character walking up to and pressing a button to interact with an object. I wrote this control scheme off a while ago since Automation Station features a lot of base building. But recently, I’ve been planning on separating the base building out into a dedicated build mode, which could still use a cursor-based control scheme. This means that I could realistically use the control scheme from Stardew Valley, Don’t Starve, and Animal Crossing outside of build mode (what I’m now calling “play mode”).
The goal of this sprint was to implement this new control scheme and interaction system. As soon as I had it working, I knew it was the right choice. The game just felt more fun. And adding the animations for picking up and holding items added a lot of charm to the already quite charming little robot.
Here is a summary of the changes:
- New interaction system that identifies nearby objects and determines which interactions are supported on them.
- New pickup, drop, retrieve, and deposit interaction systems
- New animations for picking up, dropping, and holding items
- Allow items to be thrown by transferring the avatar’s velocity into dropped items :smile:
- Rewritten mining interaction system
- Rewritten smelting interaction system
- Gamepad support for character movement and objects interactions
- New control prompt UI and animations for showing the available interactions on a nearby object
Leave a comment