Linkedin
Instagram
Gmail
GitHub
CV
[ STATUS: ACTIVE ]Research Thesis - In Progress (2025–2026)

AURA - Adaptive User-Responsive Architecture

A calibration-first, telemetry-driven behavioural modelling and neuro-fuzzy surrogate framework for real-time procedural environment adaptation in games.

Role //Sole Researcher & Developer - BEng (Hons) Software Engineering Thesis
Institute //Informatics Institute of Technology (IIT) Sri Lanka / University of Westminster, UK
Supervisor //Mr. Banu Athuraliya

SUB_DOMAIN // ARCHITECTURE

Machine LearningProcedural Content GenerationGame AINeuro-Fuzzy SystemsReal-Time Adaptive SystemsUnreal Engine 5

"Advancing procedural generation through real-time psychological alignment and fuzzy inference surrogates."

Verified Core
0x_SEC_ID // DATA

Video Showcase

Gameplay Mechanics // Reference
AURA Gameplay Instructions

Raw Gameplay B-Roll (Muted)

Uncut gameplay sequence starting at 8:15, demonstrating real-time procedural and environmental adaptation.

LOC.REF // [52.3702, 4.8952]

Live System Interface

ANFIS_SURROGATE // ANALYTICS_V1.0.4

A publicly accessible Next.js 14 dashboard deployed on Vercel that exposes the full AURA inference pipeline. The interface renders real-time behavioural membership weights, adaptation multiplier time-series, and per-window session logs.

INITIATE_DASHBOARD
SYS.LOG // ARCHIVE_01
0x_SEC_ID // DATA

Project Overview

Static, hand-crafted environments fail to respond to the wide spectrum of player behavioural styles, resulting in sub-optimal engagement for players who do not fit the assumed archetype.

AURA is a three-phase adaptive procedural content generation (PCG) framework developed as part of an undergraduate software engineering thesis at IIT Sri Lanka. The system solves the above problem through a calibration-first pipeline that first establishes a neutral behavioural baseline from real player data, then models player behaviour using unsupervised clustering and soft fuzzy membership, and finally deploys a lightweight neural surrogate model via a decoupled backend service to drive real-time procedural adaptation in Unreal Engine 5.

The framework is fully implemented across three independent repositories spanning Python-based data science pipelines, a Node.js/TypeScript backend, a Next.js analytics dashboard, and a Blueprint-integrated Unreal Engine 5 game prototype.

READOUT_COMPLETE
0x_SEC_ID // DATA

Three-Phase Architecture

1
2
3
01
1

Phase 01

Calibration

CollectGame.CalibrationAnalysis

Seven participants played a custom-built game (CollectGame) across three game modes in a within-subjects randomised design. A NeutralityScore metric (weighted composite of sparsity, death rate, and standard deviation) identified Mode 1 as the neutral baseline environment. Calibration artefacts - centroids, scaler parameters, and initial multiplier - are frozen permanently and never retrained with adaptive data, preserving the integrity of the behavioural reference.

Key Output

neutral baseline (mlp_neutral = 0.932006), initial_parameters.json

02
2

Phase 02

Behavioural Modelling & Model Construction

CollectGame.Model

An 8-notebook Python pipeline processed 45 filtered players across 3,240 30-second telemetry windows using a 12-feature schema (10 raw + 2 derived: damage_per_hit and pickup_attempt_rate). K-Means clustering (K=3, silhouette score = 0.3752) identified three behavioural archetypes: Combat, Collection, and Exploration. Soft membership is computed via Inverse Distance Weighting (IDW) against cluster centroids. An ANFIS model was trained offline, and an MLP surrogate (architecture 6→16→8→1, ReLU hidden layers, linear output) achieved Test R² = 0.9264 and Test MAE = 0.0127 - comfortably exceeding the 0.90 threshold.

Key Output

anfis_mlp_weights.json, scaler_params.json, centroids.json

03
3

Phase 03

Backend Integration & Real-Time Inference

CollectGame.Telemetry

A Node.js/TypeScript backend on Render implements the full inference pipeline: telemetry normalised → archetype activity scores → IDW soft membership → window-to-window behavioural deltas → 6-dimensional state vector into MLP surrogate → neutral-centred calibration → multiplier clamped to [0.6, 1.4]. Temporal smoothing (α = 0.2) prevents abrupt jumps. A forward-only constraint ensures multipliers affect only future PCG content. MLP inference latency under 1ms; full backend round-trip under 200ms on Render's free tier.

Key Output

Live adaptation multiplier per 30-second window

Pipeline flows Phase 01 → 02 → 03

0x_SEC_ID // DATA

Key Technical Metrics

SYS.CRITICAL
0.9264Test R²threshold 0.90 ✓
SYS.CRITICAL
0.0127Test MAE1.6% of output range
SYS.CRITICAL
6→16→8→1MLP ArchitectureReLU hidden · linear output
SYS.CRITICAL
131Unit Tests4 suites · All Pass
DATA.NODE
3ArchetypesCombat · Collection · Exploration
DATA.NODE
0.3752Silhouette ScoreK=3 optimal cluster
DATA.NODE
[0.6, 1.4]Multiplier Boundsα = 0.2 smoothing
DATA.NODE
30sTelemetry Window1-second repeating loop
DATA.NODE
< 1msInference LatencyMLP surrogate
DATA.NODE
< 200msBackend RTTRender free-tier
DATA.NODE
3,240Training Windows45 filtered players
DATA.NODE
N=7Calibration Study3 modes · Within-subjects
0x_SEC_ID // DATA

Technology Stack

Data Science & ML

PythonJupyter NotebooksNumPyPandasScikit-learnK-Means ClusteringANFIS (Neuro-Fuzzy)MLP Neural NetworkMinMaxScalerIDW Soft Membership

Backend & Infrastructure

Node.jsTypeScriptExpress.jsREST APIMVC + Repository + ServiceRender

Frontend & Game Engine

Next.js 14ReactRechartsVercelUnreal Engine 5.3Blueprint (UE5)VaRest PluginVitest
0x_SEC_ID // DATA

System Highlights

  • Calibration-first design

    Neutral baseline established from real player data before any adaptive logic activates; calibration artefacts are immutable and never retrained.

  • Soft behavioural membership

    IDW-based fuzzy membership replaces hard cluster assignment, giving smooth, proportional archetype representations across all windows.

  • Temporal delta signals

    Window-to-window membership change vectors capture behavioural momentum rather than relying solely on instantaneous snapshots.

  • Surrogate inference

    MLP surrogate approximates the full ANFIS reasoning surface at < 1ms, making real-time deployment feasible without running full fuzzy inference in the game loop.

  • Engine-agnostic decoupled backend

    The inference pipeline runs entirely outside the game engine via HTTP REST - portable to any engine that supports HTTP calls.

  • Forward-only adaptation

    Multipliers affect only future procedurally generated content, preserving player agency and preventing retrospective world modification.

  • Bounded adaptation

    All multipliers clamped to [0.6, 1.4] with temporal smoothing (α = 0.2) to prevent abrupt or destabilising environmental shifts.

  • Full observability dashboard

    Real-time Next.js dashboard shows membership weights, multiplier time-series, and per-window session logs with validation indicators.

0x_SEC_ID // DATA

Evaluation Summary

The system was evaluated by eight industry practitioners spanning two panels, using structured Google Meet sessions with demonstration materials, informal LinkedIn feedback, and a qualitative rubric covering system coherence, adaptive responsiveness, and technical feasibility.

Domain Experts

Dialog Axiatacode3xRAM StudiosSpaceTimer

Real-world applicability, player experience relevance, and product viability.

Technical Experts

Chapelle EntertainmentJava InstituteNine Hermits GamesMogo Games

Architectural soundness, inference pipeline design, and code quality.

0x_SEC_ID // DATA

Links & Resources

🎮Prototype Demo🎓Research Presentation🖥️Live Dashboard

Thesis: Real-Time Environment Adaptation Using Fuzzy PCG - IIT Sri Lanka / University of Westminster, 2026