A Lot Has Changed
Even though I haven't written a blog post for months I have been working on the game. I've been stuck for a long time on what was the core mechanic of the game. I felt like I didn't want a game about killing things but it seemed like the only way to tie in fast movement and a feeling of peril that I wanted to achieve with the game. Now I have settled on an energy mechanic which I'm hoping is going to provide interesting gameplay. I already have prototypes and some sketches of puzzles so I'm feeling much more confident in the progress I can make. There is also the adventure mode gameplay and I'm starting on the language system so I'll cover them as well.
The energy mechanic is simple, there is a base Energy Absorber class which contains an energy level float which leaks over time, when the energy is above some threshold then something happens. The player's gun fires energy which can't hurt enemies but can trigger this energy absorption process. So for instance you can shoot an energy pad which when charged will move a platform. There are also locking mechanisms so you can charge a panel to open a door or charge it to open a door and charge again to close it.
It's a very simple idea but it gave me the core I needed to wrap my gameplay around. Now I know that the parkour and wall running is just a side show to the energy mechanic, so I don't have to worry about making the variational gravity etc. the star of the show I can just introduce it as a fun side thing. The shooting is now not about hitting enermies and having lots of weapons, you just need one and you use it to give energy to things.
This also means that the enemies in the game while not being hurt by energy, can respond to its effects. So far I have 3 implemented AI. The energy Vampire will suck energy from aborbers and stop them from receiving energy, when the player gets close to them they stop this and get agitated and eventually attack the player. The energy lizard walks around and passively absorbs energy, when it hits its limit it discharges all the energy which damages the player and also powers energy aborbers nearby. Finally the wisp is like a swarm of bees which attacks the player when they approach its nest, you can fire energy at the nest to stop the wisps from staying at them and thereby clear the way ahead of you.
I have more designs but haven't got around to making models for them but it's far more interesting I think that rather than killing enemies, you are instead changing their behaviour when you shoot them and around them, and it makes the game much more like solving a puzzle (hopefully like Shadow of the Colossus which I've taken inspiration from).
A small note on the AI is now everything is using HTN which after a few hiccups is proving to make things really really easy to work with. I've always used crappy if statement monoliths in the past and its nice to have a proper framework. Strictly speaking at the moment its just a behaviour tree in the way which I use it, but when I start adding more humanoid AI the complexity and intelligence of the AI is going to step up dramatically.
I watched a playthrough of Obduction recently which I had played myself in the past and even backed it. One thing I really liked as I watched the game was that you could walk around but at any moment press a key and a mouse would pop up to let you click on things or drag things around in the world. This instantly appealed to me and I wanted to use this as the mechanism for interacting with the world rather than just looking at something with your gun crosshairs and pressing a use key.
This works in tandem with the energy system. You can type a code on a keypad which then outputs energy which can power a door, platform etc. There is also a lever which you click and drag to move around which I like a lot over just pressing a use key. I also looked at The Witness to see if there were interesting things I could pickup from that as it has a similar interface. So my game also has panels you can draw lines on (much simpler than The Witness) which I'm envisaging can be used to type in passcodes, draw routes for AI patrols, create platforms or even leave graffiti which the AI can respond to.
Part of what makes this so interesting is you can add tiny details to things and have them be interactable because of the precision of the mouse input. At the moment I'm looking at redesigning Puppy as something like a video cam corder where you can open flaps on its side to reveal a trove of buttons you can press to trigger effects on your AI companion.
Lastly I'm looking at developing a sign language for the player. I really want to get away from dialogue trees, I have a feeling they're still going to exist but if I can make the interface a mixture of player emotes and adventure mode button clicks then I think I'm winning.
My current envisaged interaction is scaring off wild animals with Puppy. Lets say that loud noises can scare off wild animals, in another game you would have some ability to trigger a loud noise and that would scare the animals off. It might be a button press which is on a cooldown, in this case Puppy would light up with sirens and charge at the animals and scare them off. It's sort of a meh event for me since its just a button press and a canned animation, its not really intelligence and even if Puppy played some audio clip of dialogue tied to this ability it would just be boring for me and very par for the course.
Instead my idea with the language is you see the animals, you do some sign language to Puppy to say "Let me use your control panel", Puppy already knows what's going to happen here. Puppy can now say "Yep ok sounds like a good plan" or they can refuse. The refusal could be because of a breakdown in the relationship, bartering can take place "I'll let you use that if you give me X", or the other example's cooldown now becomes Puppy saying "I'm recharging try again in 12 seconds". If you press the button Puppy goes off does their thing and then returns and asks you to turn off the alarm. If you don't do it then Puppy can keep pressing you or it might even make them run out of power and but them into some low battery mode.
This takes a very simple mechanic and makes it a whole host of interactions, even if they don't take place every time the player is aware they can happen and that means the player's brain can chew on possibilites which I believe makes the world more enjoyable. I myself would know if an ability had a cooldown on screen and was just a button press that it was a canned, artificial thing and its boring to me. Even though this might make the game boring or over the top for some I really want to deliver it for myself, I'm hoping I can do for these interactions what Receiver did for the reload. Reloading guns in games is pressing one key, in Receiver its a branch of possiblites and although the idea hasn't spread beyond the game I still think its compelling to make these interactions more complex and involved.