Problem Statement

The Core Problem

Learning game programming requires mastering complex, engine-specific APIs before one can begin to understand game development concepts. This creates artificial barriers for talented, creative people.

Game engines create a strong lock-in effect due to their highly unique APIs - yet they all perform the same high-level tasks.

Among self-learners, tutorial hell is widespread - a comfort zone shielding oneself from engine complexity through passive consumption.

Games are the single strongest motivator that brings young people into programming. Yet game engines lack a safe ‘learn by doing’ sandbox that invites experimentation.

The Road To A Solution

LunyScript unifies C# gameplay programming across game engines. Its abstraction shields users from engine-specific concepts and provides a safe space for experimentation while teaching valuable game programming patterns. Skills and code become transferable. Engine API details are introduced gradually as users advance.

First implemented in Unity, then ported to Godot. Future plans include Lua bindings for hot reload and modding capability.


Table of Contents


What We Know

1. API Fragmentation: The Root Problem

The irony: Game engines became popular because they solved API/platform fragmentation. Now their fragmentation has become a problem in itself.


2. The Engine Lock-In Effect

Beginners:

Experienced Developers:

Ecosystem:

Culture:


3. Visual Scripting Isn’t The Catch-All Solution

What Works:

What Doesn’t Work:

The Fatal Flaws:

Engine Scripting Languages:

‼️The Missing Middle:‼️


4. Learning Support Is Inadequate

Observable Patterns:

Fragmented Ecosystem:

5. Constraints Enable Creativity

Evidence:


The Gap to a Better Outcome

⚠️ Current State ⚠️

✅ Desired State ✅


Why This Matters

1. Wasted Creative Potential

2. Inefficient Learning Ecosystem

3. Artificial Career Limitations


How LunyScript Addresses This

Core Insight: Game engines share 90% of their fundamental concepts equally well but expose them through 100% different APIs. Learning different UIs is comparatively easy.

LunyScript Solution: A unified, declarative API that works identically across engines—filling the missing middle ground between visual scripting and full programming.

Direct Problem → Solution Mapping

Problem How LunyScript Helps
API is the barrier Declarative, intent-revealing syntax—focus on game concepts, not API memorization
Exponential cognitive load for beginners Simpler API = one less domain to juggle; reduces early lock-in fear
API fragmentation Same code works in Unity, Godot, future engines—knowledge transfers completely
No middle ground Text-based declarative patterns bridge visual scripting → full programming
Visual scripting drawbacks Debuggable, refactorable, version-controllable text code from day one
Tutorial hell dependency Readable code encourages experimentation and understanding, and teaching patterns
Mid-tier tool lock-in Scratch/Roblox users feel more welcome in pro-tier engines, find early successes
Lack of safe learning space Unified community around entry-level API

What LunyScript Is NOT

Goal: Provide a gentle, productive entry point that transfers completely between engines, fills the missing middle ground, and builds confidence through working code.


Secondary Benefits

While self-learners are the primary focus, LunyScript creates value for:

These are consequences of solving the core beginner problem and cross-engine functionality, but have the potential to become additional design drivers in the future.


← Back to Main Documentation