Implementation Architecture: All AI-callable game functions are implemented in Blueprint (using the LLMAI plugin's function definition system) and delegate to the underlying ROCKETEER_API C++ classes for performance and functionality. The core game logic is handled by classes like ARocketPawn, AEnemyManager, AObstacleManager, and URocketeerEventSubsystem. These functions are all combined into a unified Rocketeer Function Profile that the AI can access through natural language commands.
→ Learn more about the C++ API
Description: Initialize a new game session
Description: End the current game session
Description: Change the current game stage and difficulty
Stage (integer): Stage number (0-2)Difficulty (string): "easy", "medium", "hard"FlightpathGUIDs (string): An array of comma seperated flightpath GUIDs that the game will use to spawn enemiesDescription: Adjust the overall game speed
SpeedMultiplier (number): Speed multiplierDescription: Receive the control descriptions the player can use to control the game
Description: Grant an extra life to the player
Description: Remove a player life
Description: Using a flightpath GUID reference you can spawn a number of enemies in a series which will fly along the path. This function returns a SeriesID which you can use to track series progression via events from the game.
FlightpathGUID (string): The GUID of the flightpathNumEnemies (integer): Number of enemies in this series (default: 1)SpawnInterval (number): Interval between each enemy in this series, best to keep the enemies close together for a tight formation (default: 0.2)InitialOffset (number): Seconds delay before spawning in the enemies in seconds. You can use this to offset compared to other series (default: 0)MovementSpeed (number, optional): You can set a specific speed for this enemy series, or omit if you want to just use the flightpath default speed (default: -1)Description: Create a new flight path for enemies
EnemyType (string): Sentinel is only implemented enemySpeed (string, optional): Speed of the enemies down the splineSplinePoints String of comma seperated points in x,y alternating pairsDescription: Retrieve list of available flight paths
Description: Get detailed information about a specific flight path
flightPathId (integer): ID of the flight path to queryDescription: AI can spawn one of three different types of test obstacles, used in stage 0 to show examples to the player
ObstacleType (string): "TestAsteroids", "TestCrystals", "TestPlates"Description: Toggle the game HUD display
Visible (boolean): true to show, false to hideDescription: Control the chat interface visibility
Visible (boolean): true to show, false to hideDescription: Toggle background elements
Visible (boolean): true to show, false to hideDescription: Change the rockets's firing mode, the AI can use this as part of a challenge such as the trivia round
mode (integer): "0: Disabled", "1: SingleShot", "2: TriShot"duration (float, optional): Time limit for mode change in seconds, 0 = infiniteDescription: Create a countdown timer with AI callback
Seconds (Integer): Number of seconds for the player to accomplish a task, Description (string): Description of the timer for the player if requiredShowCountdown (Integer): Number of seconds to countdown for the player. eg set to 3 and the last 3 seonds will have a audible beep and number of the screen. 0 = no countdownShowCountdown (Boolean): AI will respond to this timer expiringDescription: Cancel an active timer
TimerId (integer): ID of the timer to cancelThe ROCKETEER_API macro is the core export/import interface that makes the RocketeerGame C++ classes available to other modules, Blueprint systems, and external code. Used to create blueprint-friendly classes and events.
// Core API Definition
#ifndef ROCKETEERGAME_API
#ifdef ROCKETEERGAME_EXPORTS
#define ROCKETEERGAME_API __declspec(dllexport)
#else
#define ROCKETEERGAME_API __declspec(dllimport)
#endif
#endif
Exported Classes:
ROCKETEERGAME_API ARocketPawn - Player rocket with movement, state management, and weapon systemsROCKETEERGAME_API AObstacleManager - Texture-based obstacle patterns and projectile managementROCKETEERGAME_API AEnemyManager - Enemy spawning, series tracking, and AI coordinationExported Classes:
ROCKETEERGAME_API AFlightPath - Spline-based enemy movement paths with firing patternsROCKETEERGAME_API AObstacle - Pooled game objects with health, collision, and physicsROCKETEERGAME_API AEnemy - AI enemies with path following and combat capabilitiesExported Classes:
ROCKETEERGAME_API URocketeerEventSubsystem - Global event broadcasting systemThe RocketeerGame demo uses several Blueprint assets that extend and configure the C++ base classes. These Blueprints provide the game-specific content, AI integration logic, and visual elements.
Base C++ Class: UDataTable
Purpose: Data table that provides instructions to the AI when each stage starts. Contains stage configurations, difficulty settings, and contextual information for AI decision-making.
Base C++ Class: AFlightPath
Available Patterns: Three swoop patterns and two vertical weave patterns that the game uses to spawn enemies. The AI can retrieve information about these paths, create new ones, and optionally include them in the SetGameStage function call.
Base C++ Class: ARocketPawn
Purpose: Blueprint subclass of the player-controlled rocket. Configures mesh, materials, input handling, and visual effects for the rocket ship.
Base C++ Class: USTRUCT
Purpose: Blueprint structures that define internal data formats for game timers and stage configurations. Used by the game systems for state management and AI communication.
Base C++ Class: AActor
Purpose: Default backdrop actor for the game environment. Provides the visual background and atmosphere for the gameplay area.
Base C++ Class: AActor or AGameModeBase
Purpose: Main scripting hub for game systems. Handles interpretation of AI function calls, manages game state, coordinates between systems, and implements the LLMAI function definitions that bridge natural language commands to C++ game logic.
Base C++ Class: AEnemy
Purpose: The primary enemy type available in the game. Configured with specific mesh, materials, health, movement patterns, and combat behavior.
Base C++ Class: AObstacle
Available Types: Three types of obstacles (TestAsteroids, TestCrystals, TestPlates) and projectile definitions. Each configured with unique meshes, collision properties, health values, and visual effects.
Obstacle_Patterns Obstacle pattern textures, each color channel is assigned an obstacle type by the game manager and configuration passed to the obstacle manager which uses it to determine which obstacles spawn over time.