Fruit Loose
A data-driven dice-grid game built in Unreal Engine 5 with Blueprints, shipped first as a reusable marketplace template, then expanded into a fully themed game (Fruit Loose) to prove the framework holds up at the product level. The template and the game were built in a single day.
Developer
2023





Dice Slots is a grid-pattern dice scorer dressed in casino-game UI. Each round drops nine dice into a 3×3 grid and scores every matching line across rows, columns, both diagonals, and the cross pattern. The player plays four grids in parallel per spin, so a single round evaluates thirty-six dice against multiple paylines per grid in one pass. Three winning grids trigger a 1.5× multiplier, four trigger 2.0×, and any grid where all nine dice land alike adds a flat bonus on top. Points accumulate across grids into a single total, then snap to the nearest threshold in a points-to-prize table for the payout, with real-time overlay markers showing which line patterns are still live as the dice settle.
What I'm proudest of is the architecture. Every value that defines a variant lives in a single DataAsset: the symbol set, the payout multipliers, the bet tiers, the points-to-prize lookup table, sound effects for every interaction, background music, button textures, the mystery jackpot rate, and the full-grid bonus value. To ship a new themed game, you create a new DataAsset, fill it in, and the same widgets read from it. No code is touched. Fruit Loose is the living proof of that design: its entire identity (fruit symbols in place of dice faces, its specific multipliers, its ten-symbol pool, its eight-tier points table, its eleven bet options) is a single asset on disk. A reference-viewer graph in the editor shows the clean dependency chain. The shared widgets and splash screen point at the DataAsset base, and each themed variant is just another asset feeding the same machine.
Dice land sequentially with per-grid point counters, individual sound triggers for each settling die, and visual feedback whenever a line locks in. A mystery preview window teases potential symbols, and adjusting the bet instantly rescales the entire prize table.
The interesting challenge wasn't the dice game itself, it was the discipline of building it as a template first. It's easy to build a one-off game where values are hardcoded across dozens of Blueprints; it's much harder to design every system to read from a single configuration asset so a non-programmer can author a completely new themed game without opening a graph. That separation of engine from content is the senior-level skill the project demonstrates, and Fruit Loose exists specifically to prove the separation actually works rather than just claiming it. The scoring pass was the second challenge: evaluating four 3×3 grids against multiple payline patterns each, accumulating points, applying tiered multipliers, and resolving the full-grid bonus, all in a single coherent step that stays readable in Blueprints, took careful structuring to avoid becoming an unmaintainable spaghetti graph.