Captive 

Connect all switches to enable electricity flow for all the doors. All this while avoiding enemies. 


CONTROLS

WGo Straight
SGo Back
AGo Left
DGo  Right
MouseChange View
EInteract
QUndo Last Interaction


Introduction

Captive is a roguelite stealth and puzzle solver game. In this game you are alone in a factory type environment and you have to escape from various by connecting hot and cold generators in the room. However, be careful, as you switch a generator the environment changes depending on the type of generator. Soon, you would start encountering guards who are guarding around in the area and you would have to escape from the room stealthily. This game is still in its demo phase but I plan to create a lot of puzzles and tricky stealth encounters. This game was created in the Level Up Circle: Beginner Jam#1. This game is heavily inspired from Talos Principal and Inside


Event Driven Architecture

From the beginning of the implementation I wanted to develop mechanics via Event driven Architecture. The primary reason for that to have a consistent puzzle rules and also have an easier time to create puzzles by creating elements and then just dragging and dropping the elements onto my level scene. The base idea in event driven architecture is every action you do throws out an event in the world and the elements in the world would listen to it and do their own thing. This also makes the code robust as well as extensible as I can remove buttons, lava, doors from the level and nothing would break as there is no reference management needed ( like in singleton method). However, this was not always useful as when dealing with a multilayered level (1 after another) I am changing properties of elements (lava, door etc.) even on other levels which is no bueno. So, for some exceptional cases I have to add a wrapper to protect overarching level design. However, overall the Event Driven Architecture has been very useful and made it very easy for me to create different type of puzzles.

 

A Dangerous State Machine

I wanted to make sure that the enemy AI feels familiar with a lot of different type of stealth and still give an opportunity to open up a lot of interaction of the enemy with the puzzles laid out in the room. As of now the enemy consists of 4 states - Idle, Patrol, Chase, Kill. All these states are only activated when interacting with player and this in itself opens up a lot of opportunity of level design. In the current showcase, the only part to be concerned about is to not get killed by the enemy. However, since the state machine is extensible, I am hoping to add more states which can interact with the environment ( like drown, die etc.) which the player has to figure out how to achieve that state for the  enemy. I am planning to come with some form of final boss though who would have a lot more mechanics and interaction as opposed to these guarding robots. That is driving me to use behavior tree for boss fight instead of state machines. Stay tuned for more updates on this.


Download

Download NowName your own price

Click download now to get access to the following files:

CaptiveItchioUpload.zip 44 MB

Comments

Log in with itch.io to leave a comment.

Good, but a bit hard at the same time. Couldn't get past the second spot!

Hi warkeb, thanks for playing it, enemy AI State machine got a bug which made the enemy movement unpredictable. Also, your feedback is helping me to figure out playtesting. I thought 3 enemies would be a decent challenge but I'll reduce number of enemies and slowly increase them in each level in the next update. 

Thanks for giving your time again!