Currently Working On : Echoes Of Salvation

E.S.C.Ai.P.E

Point and Click Puzzle based on AI Pathfinding. 

  • Find Your way out before the alarm reaches the top of your screen.
  • Emulates intelligent AI through behavior trees, state machines and some negative stimuli.
  • Use of line of sight to render limited vision.
  • Dynamic Map that updates path finding so objects in map can be changed with unique properties.
  • Tiles are tagged to be able to be modified at a later time.

Project Details

Genre : Puzzle

Platform : PC

Input : Mouse

Engine : Custom Engine using C++

Time Frame : 1 week

Role : N/A

Team Size : Solo

Status : On Ice

Ai Point and Click Adventure.

 

What started as a project to build an AI that slowly learns to understand the world from nothing(which is an amazing thing that I have not been able to do in a week), I settled for a game that has some elements of intelligent AI. The main scope of this project was to use one or more of the three AI techniques being taught. I managed to mangle in everything and used all three to create something interesting to play. You help the AI guide through the different levels and help him gain his freedom.

Narrative

The game doesn't have a deep story element. All we know is the AI is stuck in the prison and you are responsible for helping him get out.

Gameplay and Mechanics

E.s.c.ai.p.e is a point and click, puzzle game. As such, all that is necessary of the player is to click anywhere on the screen using their mouse. If the path is not blocked by any obstacle, the AI will find it's way to the clicked tile. You have limited vision of the map and the alarm bell is going to ring once it reaches the top of your screen. If it does before you find the exit, the run is over and you have to start the level again.

 

The AI comes across various obstacles in the form of gates, weak walls, tunnels and patrol guards. To open a gate and break a wall, you are required to find a key and a pickaxe, respectively. To use a tunnel, you will need a shovel. Unlike the previous obstacles which open way to the other side, tunnels take you wherever the second opening is. If the AI sees any of said objects, it will auto path himself to the object.

 

Guards patrol a limited area they are situated in. They have smaller line of sight compared to you so you can see them before they see you. If the AI first encounters a patrol officer, he back tracks a few steps to stay out of sight. If you ask the AI to get close to the officer, the AI will engage in a fight. Should he lose the fight, the AI is sent back to the starting point, losing you some valuable time. If the AI has either the shovel or the pickaxe, it will use it as a weapon and win against certain guards. Once a guard is defeated, he is out of commission for a good few seconds before he gets back up again. 

The Code

  • Behavior patterns were coded into enemies for patrolling a small area around them as well as chase you if you got too close.
  • Line of sight code was used to make you invisible to enemies beyond solid objects as well as objects would not be rendered should you not have a line of sight to it.
  • State machine was used to handle animations as well as behavior in the AI and the enemies.
  • Dijkstra's Algorithm was used to path find. STL : Iterator was used.
  • Created an autonaming system that connected each grid, automatically and actively rendering pathways. This meant I could add or remove objects in a scene at any point and the new information would be added to the pathfinding. (Pictured Below).

Final Thoughts

I enjoyed making AI more than I anticipated. I might work on this project a little more once I have more time. The line of sight is buggy right now and I want to learn a bit more about advanced AI techniques before I can make a game more compelling than this. I also want to redesign the game so that it feels less like you are just exploring the map and that's the end of the puzzle. I see the possibility of a good mobile game. But for now the project is on ice. 

Sprite generated from Universal LPC spritesheet generator

 

https://sanderfrenken.github.io/Universal-LPC-Spritesheet-Character-Generator/#?body=Body_color_light&head=Human_male_light

 

StartScreen and end screen generated from DeepAi

 

https://deepai.org/

 

RPG maker MV for tileset.

 

Logos done in text studio

 

https://www.textstudio.com/

 

Background picture from neural.love 

 

https://neural.love/ai-art-generator/1ef6a26c-8cdd-659e-b058-418f6c77aaeb/tilemap-for-games-sprite-sheet-prison

References

We need your consent to load the translations

We use a third-party service to translate the website content that may collect data about your activity. Please review the details in the privacy policy and accept the service to view the translations.