Website powered by

DiaShade Engine (Unity-based C#/XML gamedev framework)

As my final game development in my final semester of university, I engineered the “DiaShade Engine,” a Unity-based framework for creating dialog-driven games, complete with multiple narrative pathways, levels, and score.
This project incorporates the Levenshtein algorithm, C#, Regex, and XML to read the player’s text input and intelligently select a response on the backend. (Though originally designed with PHP and a mySQL database, within 2 days I overhauled this old setup into a C#/XML system for offline use.) Moreover, it integrates HLSL on the frontend to create beautiful animated graphics entirely from shaders.

The DiaShade engine is in active development!
This is just the first step in what I intend to be a fully fleshed-out engine to run inside Unity (and possible Unreal, too, in the future).
While only 1 HLSL shader is visible in this demo, in the future I will have many shader presets that a user with no knowledge of HLSL can intuitively customize by dragging sliders, etc.

A (long) walkthrough of the project, explaining key features of the C#/XML code

Demo of the HLSL shader-based animated graphics

DiaShade Engine WebGL build
(Try it for yourself at https://themayfair.itch.io/diashade-engine )

DiaShade Engine WebGL build
(Try it for yourself at https://themayfair.itch.io/diashade-engine )

DiaShade Engine WebGL build
(Try it for yourself at https://themayfair.itch.io/diashade-engine )

DiaShade Engine WebGL build
(Try it for yourself at https://themayfair.itch.io/diashade-engine )

DiaShade Engine running in Unity

DiaShade Engine running in Unity

XML data container for dialog options inside the DiaShade Engine

XML data container for dialog options inside the DiaShade Engine

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the dialog choices (and their concomitant levels, pathways, and relationship scores) in MySQL table "talkingai"

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the dialog choices (and their concomitant levels, pathways, and relationship scores) in MySQL table "talkingai"

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the dialog choices (and their concomitant levels, pathways, and relationship scores) in MySQL table "talkingai"

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the dialog choices (and their concomitant levels, pathways, and relationship scores) in MySQL table "talkingai"

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the prompts (and their levels, pathways, and relationship scores) in MySQL table "promptsai"

Before switching to an entirely C#/XML-based system, the DiaShade engine incorporated a PHP/MySQLi system to store the prompts (and their levels, pathways, and relationship scores) in MySQL table "promptsai"