Deep engineering case study

Assembly League: Custom Compiler and Modular 3D Robot Simulation

A technically ambitious Unity product that combined a compiler built from scratch, user-authored assembly programs, modular robot components and physics-driven 3D competition.

Named INESSOFT product Simulation / Game Technology / Developer Tools Unity C# Custom assembly language Tokenizer and parser
Disclosure and attribution

What this case study represents.

Assembly League is an INESSOFT-developed experimental game and technical product released on Steam. The case study focuses on the public engineering work rather than presenting the title as a major commercial success.

Executive summary

The operational problem, not only the final interface.

Assembly League asked players to build robots from modular parts and program them using an in-game assembly language. That required far more than ordinary game scripting: a language definition, tokenizer and parser, instruction model, compiler or interpreter behaviour, virtual-machine state, debugging feedback, component interfaces and integration with real-time 3D physics.

Business context

Where the system had to operate

The project grew from INESSOFT's game-development history and interest in systems that expose underlying logic to users. The goal was to make programming part of the game world itself, allowing behaviour to emerge from a player's code and physical robot configuration.

Challenge

What the existing method could not control

User-authored programs had to be parsed safely, converted into executable instructions and run inside a controlled simulation. The virtual program then needed to read sensors, control modular components and interact with a physics environment without destabilising the host game.

Complexity

Why this was not a generic app

Language tooling and real-time simulation have different failure modes. A syntax error needs precise feedback; a valid program can still create an infinite loop; component availability changes according to the robot build; and physics outcomes can make debugging appear non-deterministic from the player's perspective.

Solution overview

How INESSOFT approached the system boundary.

INESSOFT designed a small assembly language and built the compiler/runtime pipeline from scratch. The runtime exposed a controlled instruction set and interfaces to modular robot components. Execution limits and debugging feedback protected the simulation, while Unity handled the 3D environment, component hierarchy and physics interactions.

Assembly League became INESSOFT's strongest public demonstration of low-level language design, modular architecture and simulation thinking. Although commercially experimental, it proves the ability to build unusual technical systems rather than only conventional CRUD applications.

Custom The in-game language pipeline was built rather than embedded from a generic visual scripting tool.
Modular Components exposed controlled capabilities to the player's program.
3D physics Code affected robots operating in a real-time physical environment.
Steam The product was packaged and released beyond an internal prototype.
Reconstructed system view

A visual model of the operating surface behind the case study.

This is a content-based reconstruction, not a client screenshot. It shows the kinds of live inputs, controlled states, modules and evidence the delivered system had to bring together.

Assembly League: Custom Compiler and Modular 3D Robot Simulation OPERATING VIEW
Custom Compiler/runtime The in-game language pipeline was built rather than embedded from a generic visual scripting tool.
Modular Robot architecture Components exposed controlled capabilities to the player's program.
3D physics Simulation Code affected robots operating in a real-time physical environment.
Steam Public release The product was packaged and released beyond an internal prototype.
CONTROLLED EVENT FLOW
01

The player assembles a robot from supported modular components.

02

The available hardware determines which sensors, outputs or interfaces the program can use.

03

The player writes assembly code in the in-game editor.

04

The compiler tokenises and parses the source while retaining line-level diagnostics.

Reconstructed from the documented system boundary; confidential interfaces and client data are not reproduced.
Outcome evidence

Operational evidence is stated without invented ROI percentages.

Exact client throughput, time-saving and financial figures are not published for this system. The case study therefore limits itself to implemented controls, workflow changes and verifiable system capabilities rather than manufacturing a percentage improvement for marketing purposes.

System architecture

The responsibilities were separated before the screens were polished.

Each layer had a specific operational responsibility. This made failures easier to diagnose and prevented one screen, service or database field from becoming the accidental owner of the entire process.

01 Language definition

Specified syntax, operands, registers, instructions, labels and error conditions.

02 Tokenizer and parser

Converted user text into structured tokens and program representation with source positions.

03 Compiler/runtime

Resolved labels, validated instructions and executed code within a constrained virtual machine.

04 Component interface layer

Mapped instructions or ports to sensors, motors and modular robot capabilities.

05 Unity simulation

Managed robot construction, scenes, physics, collision and visual feedback.

06 Debugging experience

Reported syntax, compile and runtime issues in terms the player could act on.

Responsibility moves through explicit layers; no single screen or integration is treated as the whole system.
Operational workflow

What happened from the first input to the final controlled result.

A case study is useful only when the flow can be understood. The sequence below shows where users, devices, databases or external systems entered the process and how responsibility moved.

01

Workflow step 1

The player assembles a robot from supported modular components.

02

Workflow step 2

The available hardware determines which sensors, outputs or interfaces the program can use.

03

Workflow step 3

The player writes assembly code in the in-game editor.

04

Workflow step 4

The compiler tokenises and parses the source while retaining line-level diagnostics.

05

Workflow step 5

Validation resolves labels, operands and component references.

06

Workflow step 6

The runtime executes the program under defined limits.

07

Workflow step 7

Instructions read simulated inputs and command the robot's components.

08

Workflow step 8

Unity physics produces the resulting movement and competition behaviour.

09

Workflow step 9

Errors or unexpected state can be inspected and the program revised.

Major modules

The practical capabilities that made the system usable.

These were not isolated feature requests. Each module supported a specific part of the operational lifecycle and shared the same data, state and accountability model.

SYS Delivered capability

Assembly editor

Allowed players to write and revise robot programs.

SYS Delivered capability

Compiler pipeline

Tokenised, parsed, validated and prepared instructions for execution.

SYS Delivered capability

Virtual machine

Maintained registers, program counter, memory and execution constraints.

SYS Delivered capability

Robot component bus

Exposed only the capabilities present in the player's physical robot design.

SYS Delivered capability

Sensor and actuator model

Connected simulated perception and movement to the virtual program.

SYS Delivered capability

Competition simulation

Ran programmed robots in physics-driven scenarios.

SYS Delivered capability

Error and debug feedback

Separated syntax, compile and runtime problems for the player.

Engineering decisions

Choices that protected the system from plausible failure.

The important work was often deciding what not to combine, automate or assume. These decisions made the resulting system easier to support and more honest about its boundaries.

Build a constrained language

A small purpose-built instruction set was safer and more teachable than exposing general scripting inside the game.

Retain source diagnostics

A compiler is unusable if it reports only that the program failed.

Limit execution

User code needed cycle or instruction controls to protect the simulation from infinite loops.

Separate robot build from program

The runtime had to validate capabilities against the components actually installed.

Accept technical ambition over market simplicity

The project prioritised engineering exploration, which created strong proof but a narrower commercial audience.

Delivery approach

A phased path from evidence to a supportable system.

The project was broken into phases that reduced the highest-risk uncertainty first. This prevented a broad implementation from hiding an unproven data or workflow assumption.

01

Language and virtual-machine prototype

Prove parsing, labels, instructions, registers and bounded execution outside the full game.

02

Robot component integration

Connect runtime instructions to modular sensors and actuators.

03

Physics and competition loop

Create scenarios where programmed behaviour produces visible outcomes.

04

Player tooling and release

Improve editor, errors, onboarding, packaging and Steam deployment.

Risk controls

Operational risk was designed into the software, not added as a disclaimer.

The controls below reflect the kinds of failure that could produce wrong records, unsafe assumptions, hidden exceptions or a system users would bypass.

Unsafe user code

Executed programs inside a constrained runtime rather than the host application's process model.

Infinite loops

Applied execution limits and controlled update scheduling.

Poor error usability

Retained source positions and distinguished syntax from runtime problems.

Component mismatch

Validated program access against installed robot modules.

Simulation instability

Separated virtual-machine behaviour from Unity physics and component state.

Commercial overreach

Presented the project as technical proof rather than claiming mass-market success.

Outcomes

What became more controlled or useful.

  • A custom language, compiler/runtime and virtual-machine implementation.
  • A modular software architecture connecting user code to robot components.
  • A public 3D simulation product released on Steam.
  • Deep experience with parsing, state, execution limits and diagnostics.
  • A strong technical bridge from game development into simulation and training work.
  • Evidence that INESSOFT can tackle unconventional engineering requirements.
Engineering lessons

What this system reinforced.

  • Technical novelty can strengthen capability even when it narrows the market.
  • Language tools need excellent diagnostics because user errors are part of the normal workflow.
  • Execution boundaries matter whenever users control programmable behaviour.
  • Modular physical concepts map well to explicit software interfaces.
  • Simulation products still require onboarding and marketing, not only engineering depth.
Where this pattern fits

Organisations likely to recognise the same underlying problem.

The exact sector or technology may differ. The closer match is usually the workflow shape, source data, failure modes and operational responsibility.

Relevant operating pattern

Training systems that need controlled scripting or programmable behaviour.

Relevant operating pattern

Engineering simulations with modular equipment or component interfaces.

Relevant operating pattern

Interactive tools where users define logic rather than only select options.

Relevant operating pattern

Projects requiring parsers, domain-specific languages or constrained runtimes.

Relevant operating pattern

Buyers assessing INESSOFT's Unity and low-level software capability.

Related INESSOFT services

The service lanes most closely connected to this case study.

The case study provides evidence. The service pages define the current delivery boundary, first-step artefacts, exclusions and technical scope for a new engagement.

Interactive systems

Unity Simulation & Interactive Training Tools

Use Unity experience for practical simulation, training, visualisation and interactive technical tools.

Unity simulation development interactive training software technical simulation tool
View service
Prototype to decision

Rapid Prototype & MVP Business Systems

Build the smallest working system that can prove a risky workflow, integration or operational assumption.

MVP software development rapid prototype software proof of concept developer
View service
Scoping first

Technical Discovery & System Scoping

Turn an operational problem into a phased, evidence-based system scope before committing to the wrong build.

software discovery workshop technical scoping custom software requirements
View service
.NET stack

ASP.NET Core Development

Build or extend a maintainable Microsoft-stack application when the required business system is already clearly defined.

ASP.NET Core developer .NET developer South Africa Razor Pages development
View service
Technology and system context

Technologies used or directly represented by the case study.

Technology is listed for precision, but the system boundary and operating process determined the architecture.

Unity C# Custom assembly language Tokenizer and parser Virtual machine 3D physics Modular component architecture Steam
Case study FAQ

Questions a technical or operational buyer may reasonably ask.

Was the assembly language implemented from scratch?

Yes. The project included its own language definition, parsing, validation and controlled execution model.

Why not use an existing scripting language?

A constrained purpose-built language made it possible to control capabilities, execution and integration with modular robot components while keeping the programming model part of the game design.

Was Assembly League commercially successful?

It was an experimental public product rather than a major commercial hit. Its value on this site is technical credibility, not inflated market claims.

How does this relate to business work?

The same skills apply to simulation, training, rule engines, domain-specific languages, modular architectures and systems where user-authored logic needs safe execution.

Related case studies

Other systems with overlapping engineering or operational patterns.

View all case studies
Consumer Software / Multiplayer Platforms

MXit Multiplayer Games at 2M+ Active Accounts

A portfolio of 12 games and applications, including the King management series, that reached more than 2 million active user accounts at peak.

Named historical INESSOFT product portfolio Server-side application logic Relational database
Electronics Retail / Ecommerce / Education Products

Leobot Electronics Ecommerce and Operations Platform

A long-running electronics commerce and operations platform that grew from surplus imported components into a technical catalogue, fulfilment system, internal-tool ecosystem and commercial engineering asset.

Named owned platform C# and .NET ASP.NET and Razor-based web systems
Use the case study as a starting point

Does your operation have the same shape of problem?

Bring one real artefact: a report, spreadsheet, machine signal, job record, certificate, import file, device or system error. INESSOFT can map the current process and define a credible first phase.