24th of December


Hi,

I have spent the last month or so fixing bugs and polishing some systems aaand...thinking about the next release. Let me walk you through what happened.

Conversations

During development of the last published demo I needed to handle multiple endings. You could finish it in 2 ways:

  1. Escaping with the wine
  2. Escaping without the wine

I wanted both options to be available as a foundation for the future, as I intend to include 2 endings in the released game.

Rushed by the deadline, I did hack this feature into the build and I wouldn’t be surprised if it could be broken somehow.

So, after release, I dedicated some time to, you know, actually learn the conversation system I am using and to handle branching dialogues and game events in a better way.

Branching based on checking if the player has a specific item in the inventory

I ended up relying heavily on GameplayTags, a pretty neat feature offered by Unreal: basically it allows me to set some -well- tags, when certain events happen in-game; later on I can reference them in my conversation graphs to decide which outcome should play.

AI

Next, I went down another rabbit hole to refactor the AI.

I want an AI framework that makes it as fast as possible to create different types of behaviors for enemies.

At the time of the last demo (Mansion Prototype), if enemies spotted the player, they would try to get as close as possible to the player and then attack.

But what if I wanted to make an enemy type that, instead, prefers to keep a distance and use ranged attacks?

I’d like a system where I can assign various attack abilities to each enemy, and they would automatically know when it is the best time to execute them: if the ability is a Melee punch, for example, then it will be executed only when the enemy is close to the target. If it’s a projectile, then it can be executed from a distance.

Took me a weekend.


For whoever likes detail: the current base enemy BT.

I have a working foundation. Now, when a zombie is engaged with a target (read, is aware of it), it will keep track of its distance and scan all the available attack abilities. If it finds one that would land, then it executes it.

This means I don’t have to make different behaviors that best suit a specific attack; instead, the enemy will figure things out by itself. 

I then changed another small thing: instead of moving directly to the target, now enemies try to find a position that suits their propension: if they have only ranged abilities, they will try to keep a distance rather than narrowing the distance.

But this setup could easily be expanded. For example: the decision could also be based on other rules that can easily be stacked at this stage.

I just hope these changes are not eating too much CPU but I guess we’ll see. 

Oh I also started adding nicer animations.

I’m planning to build more encounter variety using all these new updates.

Room generation

Since the game will be set mainly in a villa, I have this need to make rooms. A lot of rooms. On top of that, I need to be able to change them often to fit them into a map that is constantly evolving. I hate going back to a room I already created and notice that a wall is not exactly right, or that there is a gap on the floor, because I have shifted around the rest of the level in the meantime.

Tiles to the rescue. I started working on a system to make tiled rooms. I can input the desired room dimensions (in tiles), click a button and there is my room. Perfectly fitting in a hypothetical grid.


24th of December

While working on the above -and while fixing a variety of bugs here and there- I still had  to decide what to do for my next playable release and what’s the deadline. Something needs to come out in December, after all.

It took me some time because I want these experiments to still be something that has a purpose, something that brings me closer to the structure of the final product. 

I have tested a layout of the main villa with the first demo, then i tested purely the gunplay with the Arena demo, lastly I have been focusing on making a level that brings combat, puzzle and a mansion setting together. So now what?

Gave it some thought, found some answers. It was hard. But I think I need to iterate and give the game some character.

To help, I made a list of all the features I would like the final product to have and that I have not explored enough yet:

  1. Game goal. The game needs to have a simple, clear, immediate goal. What I mean is that you, the player, should always have an urge to do things because they are relevant to your in-game situation. If I lock you in a room, your objective immediately becomes “to escape”, no need for me to tell you that. I want to try and avoid forcing objectives down your throat. Maybe I can expand this goal to the whole game: you are locked and stuck in the villa and in its reality shifting madness. So you have to find a way out.
  2. Emerging gameplay. I want you to be able to express yourself in the game. One idea I have to get there is to add some “interaction rules” to the AI. Stuff like: Zombie Type A hates Zombie Type B so if they find themselves together, they will attack each other. So you can decide to try and gather them together to start a fight. Or again: Zombie Type A can lay eggs. If you find the egg before it hatches, you can destroy it or move it to another location (maybe close to a Zombie Type B nest?). These are just ideas but it’s definitely something I want to start exploring.
  3. The Enderman situation. This is a new thing. I liked the situation I created in the Mansion Prototype. It plays well with the idea of you being closed up in a place that you need to escape. I guess this would make my game a mix between RE and Alien Isolation or Amnesia The Bunker type of thing.
  4. Shifting reality. I like the idea of rooms that expand beyond what would be normally possible. Rooms that make no sense at all, mixed with your old, regular rooms. Is this something I can build? I need to try.

So, I guess it’s time to start prototyping. There is a LOT to play with and the best approach is probably to keep things simple.

I have a draft of what the level could look like, I need to review it and ensure it is realistically feasible. And then commit to a date.

But that I can do now: since we are in December, why not the 24th? Basically, a Christmas gift.

Here we goooo (cit. Mario the plumber)

Get The Great V Project

Leave a comment

Log in with itch.io to leave a comment.