It might not be clear from what I’ve shown thus far, but my intention for HOPE is to create a sort of “sim village” with a small social ecosystem taking place on an oil rig that floats in the air. The primary reason I want to make the game, is that I’m very interested in understanding how we players feel about videogame characters and I want to find ways for us to feel more connected to them.
You might say that we already have great videogame characters, but my argument is that the best characters are largely portrayed through cutscenes (I’m thinking of the Uncharted games by Naughty Dog as an example, or maybe the recent Beyond two souls game by Quantic Dream), the point being that those particular representations of characters are largely outside of interaction with the player. We are presented with what amounts to a movie version of the characters, which tends to break down quickly when placed in player control.
My interest in this is because I’m convinced that we can create really expressive characters that are actually “in game”, not simply in cutscenes. If we can achieve the level of autonomous character that actually convinces the player, then we can start to think about the qualities and expression in terms of role and real “character”. In essence I’m trying to figure out the technique of making convincing “digital actors” that can express a role and really convince you of the part.
But before all of that happens. I need to make a game world that feels convincing too. Plus it needs to hold up in terms of gameplay opportunity and immersion. So even though I desperately want to work on the AI aspects of the game, I’m holding myself back and working on game mechanics first.
And so we get to the point of this weeks post.
Right now, I’m working on the “hotbar” that allows you to equip and access a bunch of different things. It currently looks a bit like a typical RPG spellcasting hotbar, but actually its meant to be a different thing. If anything, its more like you see in Minecraft of the like. A system of “slots” in an inventory that allow you to equip things by selecting the item.
I’ve had the inventory system up and running for a while now. So this work was mostly about setting up UI elements and figuring out how to structure the code to handle a diversity of different items when placed in the hotbar. For example right now if you select a food item using the number key associated with a hotbar slot, the player will eat it and gain stamina, reduce fatigue and if the food is good quality, it will add to the players enjoyment. These things having side-effects for qualities like movement speeds, charisma (how other people treat you in social contexts) and the like.
The exact same selection scenario for a “tool” actually runs a script component on the player, which in turn selects the appropriate tool, perhaps switching interface modes etc. So for instance you can switch from physics tool to the drone build tool (a hovering build cursor thing) using the hotbar.
Hopefully you get the point that the hotbar is kind of useful.
The other thing I’m currently working on is the feedback given to players about the interactions an object in the world affords them. There are going to be a great many objects in the world, many of them in one way or another interactive. For instance most objects can be picked up and moved with the physics tool. Some can be used to store other items, or be used to store output from machines.
Machines themselves can be used for crafting, resource generation, communications etc. Then there are things that allow movement of items around the rig (trade platforms, cranes, conveyors etc). Each of these things require feedback in the UI to show what they can do. This as it turns out, is not a simple task. In a typical first person game, you have a relatively static level with relatively few interaction modes. Basically you either shoot things with a gun, or you “use” them by pressing a key. Occasionally you might “pick up” something or “open” it. But mostly they can map to the “use” function. Using a door would open it for example. But how do we feed back that something can be “used” when almost everything can be used to some extent? Most fps games have a sort of glowy rim-light shader effect they apply to highlight usable vs non-usable items. But that sort of breaks down if most of the level is using it.
One nice effect is the one done in Battlefield 3-4 where you kind of look at an object and initially it has the interaction key in brackets shown over it. But then fades in more text explaining what you can do with it the closer you get to looking directly at the thing. I also like the clean handling of multi-function items in RUST (by the creators of Garry’s Mod) that show you a mini-menu with options like “inspect..open..” etc when you use an item.
My plan right now is to prototype a number of systems and then get my students (and any other volunteers) to try out the various options and give me a score for each. Sort of a mini focus group.
This type of feedback I’ve come to realize is the heart of game design. Making systems is one thing, but making systems that allow the player to understand cause and effect is the key. Making sure a player always understands what his/her actions are doing is fundamental to making complex systems with deep inter-relations understandable. This game is a fairly deep sandbox “sims” kind of game, so I expect that at some level I’ll have to give feedback to almost all of the parts and how they relate. That is a damn fine challenge from a game design viewpoint.
Anyway, I’ll leave you with a video of the hotbar in action. Plus me messing around with random furniture junk with the physics tool. As ever, it is a work in progress.
Take care, see you next time!