Design

Dev Log 4: From Audio Manager to Music Playlist Service

Audio is one of the first systems that makes a Unity project feel better, but it is also one of the systems that grows messy if it starts as one script with a few AudioSource references.

LoL Engine’s audio layer began with practical needs:

– Play sound effects by ID
– Manage music and ambient tracks
– Pool AudioSource instances
– Support fades
– Support 3D positioned audio
– Persist player volume and mute settings
– Keep track-level settings data-driven

Then music playlists became their own service.

Read More»

Dev Log 3: Making Unity Save Files More Reliable

Save systems look simple until players depend on them.Writing JSON to disk is easy. Keeping save data compatible, diagnosable, and recoverable after months of development is the harder part.

That is why LoL Engine’s save system became one of the most important production systems in the package.

Read More»

Dev Log 2: Building LoL Engine Around Modular Unity Services

The center of LoL Engine is not a specific gameplay system. It is the service layer.

Most Unity projects eventually collect managers: audio manager, save manager, event manager, pool manager, localization manager, resource manager, game state manager, and a few project-specific systems. If they grow independently, they become hard to initialize, hard to test, and hard to replace.

LoL Engine’s approach is to make those systems explicit services.

Read More»

Dev Log 1: From Game Template to Reusable Unity Framework

LoL Engine stands for Labour of Love Engine. The name is personal, but the design goal is practical: stop rebuilding the same Unity infrastructure for every project.

The important decision was what LoL Engine should not be.

It is not an RPG template. It is not a combat kit. It is not a scene-flow opinion disguised as a framework. The package is meant to provide reusable production systems: initialization, service registration, audio, saves, events, resource loading, localization, object pooling, time, notifications, deterministic random streams, and utility patterns for content-heavy games.

Read More»

The Scope Creep Purge: What LoL Engine Had to Cut

A good product is built by adding features; a stable product is built by having the courage to delete half of them.

One of the most important parts of building LoL Engine was not adding features, it was deleting them.

At one point, the engine was trying to be too many things at once. It had framework code, game systems, wrappers around Unity features, experimental combat mechanics, character management, questing, UI, scene flow, boot screens, and pieces of specific game ideas all living too close together.

That was useful while prototyping, but it was bloat. It took a deliberate cleanup pass to admit the obvious: LoL Engine should not be a game pretending to be a framework.

Scope Creep

The scope creep was

Read More»

The Inception of LoL Engine

Inception

LoL Engine did not start as a product. It started as a way to avoid rebuilding the same game systems over and over again.
But the seed was planted much earlier.

Curse of the Manticore

In college, I made my first game in C++ and Visual Basic. It was called Curse of the Manticore.

Read More»

Trade-cover Rebind to Hardcover (Malazan Book 1 – Gardens of the Moon)

 

One of my favorite fantasy book series is the Malazan Book of the Fallen by Steven Erikson. I set about trying to get my own set of trade paperbacks of the series and then convert them into hardcovers just like I like them.

The very first step I did was carefully break down the adhesive on the trade paperback after removing the cover with sandpaper. Once done, I re-enforced the spine with mull and PVA to add the extra bit of flexibility along with the desired strength.

Once done, I attached new endpapers and then prepared the spine and the front and back covers. For the covers I used marbled paper in addition with book cloth. I plan to keep the book cloth same for the entire series.

In addition I thought of gilding the edges with

Read More»

Papyrus Cover (Mixed Media) Sketchbook

Mixed Media sketchbook bound during the Covid-19 lockdown in May, 2020. Initially I intended to use leather strips to form bands along the spine that merge into the front and back covers, but decided against it as I liked the look of the papyrus with the book-cloth. It looked simple yet classy without the leather and I decided to let it be without adding the leather.

I hope it lends well for use as a sketchbook.

This book was bound at the same t

Read More»

Grey Flower Sketchbook

Watercolor sketchbook bound as a gift for a friend who created mixed media art for her self published book of poetry.

Read More»

Simple Tip Calculator

Simple tip calculator is a simple gratuity calculator application I designed and built for iOS as a personal learning project when learning Objective C. I had a blast designing the different screens and this was the first time I attempted designing and building a UI.

My core competencies was always back end programming with mainframes,

Read More»