/StackBot

Stack Bot is a small engaging and dynamic game which showcases interactive components, AI controller, mesh generation and effects. The goal of the game is to spawn orbs which will be collected by the AI Bot in order to control it.

image

Stack-Bot

Stack Bot is a small engaging and dynamic game developed using Unreal Engine 5.

Game Mechanics

  • Bot Control: Take command of a bot with simple and intuitive controls. By left-clicking with the mouse, you can guide the bot to follow your cursor's direction seamlessly.
  • Orb Generation: Press the space bar to spawn a glowing orb at the bot's location. These orbs play a crucial role in the game's mechanics and interactions.
  • AI Bot: The sole mission of AI-controlled bot is to collect all the orbs scattered across the map. Each time an orb is spawned by the player, the AI bot will dynamically adjust its path to retrieve it.

Interactive Elements

  • Pressure Plates and Doors: When the bot or another object stands on a pressure plate, it triggers the mechanism to open a corresponding door.

image

Gameplay Preview

Gameplay.webm

Assets

The contents used are from the Stack'O'Bot project.

Download Assets Link: FirstGameInUE5_Source.zip.

In "FirstGameInUE5_Source.zip" you will find:

  • Character
    • Animation
      • A_Antbot_Run.fbx
      • A_Antbot_Idle.fbx
      • A_Antbot_Walk.fbx
    • T_Bot_Masks.TGA
    • SKM_Antbot.fbx
    • T_Antbot_Atlas_Eyes.png
    • T_Antbot_Albedo.png
    • T_Antbot_Normal.png
    • T_Antbot_M_R_AO.png
    • T_Antbot_Face_C.png
  • Environment
    • Grass
      • SM_GrassClump.FBX
      • T_GrassClump.png
    • Rock
      • RockFlat_01.fbx
      • SM_Boulder.FBX
      • T_RockTileable_BC.TGA
  • Landscape
    • T_SandTileabe_BC.tga
    • T_Grass_M.png
  • Props
    • SM_Crate.FBX
    • SM_Pickup_Orb.FBX
    • SM_Door.FBX
    • SM_PressurePlate_Platform.FBX
    • SM_PressurePlate_Frame.FBX
    • SM_Modular_WallDoor.FBX
    • T_Plastic_N.tga
    • T_Metal_N.tga
    • T_Metal_R.tga
    • T_Grunge_A.tga
    • T_Ribbing_A.tga
    • T_Ribbing_N.tga

Player Controller

The player is controlled using the ToogleInput Action Mapping which is set to the Left Mouse Button. Whenever this button is clicked, the player will move to its new location as implemented in BP_PlayerController.

PlayerController

Action

PlayerController_Action

Blueprint

PlayerController_Blueprint

Interactive Component

Whenever an object collides with the pressure plate, the plates will move in the Z-axis to replicate the action of it being pressed. Once the pressure plate is pressed, the door will open.

Interactive Component

Blueprints

Interactive Component Blueprint 1

Interactive Component Blueprint 2

Interactive Component Blueprint 3

AI Controller

The role of the AI Controller is to move the AI Bot to the index 0 of the Orb. If it is found, the FindOrb() function will execute to return the orb object. Every 3 secs, the Move() event of the AI Bot will execute to check if any orbs exist.

AI Controller

Blueprints

AI Controller Blueprint 1

AI Controller Blueprint 2

Spawn Orbs

Orbs are spawned when the player presses space-bar on the keyboard. The orb will be spawn at the player's current location and the AI Bot will advance to collect it.

Spawn Orbs

Action

Spawn Orbs Action

Blueprint

Spawn Orbs Blueprint

Effects

Effects are used to enhance the game experience and bring the game world to life. Below is a list of effects that were created directly inside Unreal Engine 5.

SFX_FootStep

The audio was created with MetaSoundSource which adds a small sound effect to the bot after each step.

image

FX_Dust

Footstep dust particles were created with Niagara system, adding visual flair and a sense of movement to the bot.

FX_Dust

Camera Shake

After each interation with the pressure plate, the camera will shake, enabling the player to know that the door has been opened.

Camera Shake