Ludoframe represents my most significant contribution to development tooling at Ludogram, where I served as the primary developer over a 2-year period. This comprehensive narrative design tool fundamentally transformed how our studio approaches interactive storytelling, becoming an essential part of the production pipeline for Worlds of Aria and other projects.
Project Overview & Impact
What began as a solution to streamline narrative designer workflows evolved into a studio-wide tool that bridges the gap between creative writing and technical implementation. Ludoframe now serves multiple roles across different disciplines:
- Narrative Designers: Design and write interactive game stories with visual clarity
- Artists: Test scenes and visual effects triggered by narrative events
- Programmers: Debug and validate scripted game mechanics in real-time
Technical Architecture
Cross-Platform Desktop Application
Built using TypeScript, React, and Electron, Ludoframe provides a native desktop experience while leveraging modern web technologies for rapid development and cross-platform compatibility. This architecture choice enabled seamless deployment across different development environments within the studio.
Domain-Specific Language Design
At the core of Ludoframe lies a custom domain-specific language tailored for interactive narrative scripting. This language encompasses:
- Narrative Branching: Complex story path management with conditional logic
- Level Context Integration: Scene and environment state management
- Item Management Systems: Inventory and object interaction scripting
- Character Dialogue Systems: Multi-character conversation flows
Real-Time Unity Integration
One of Ludoframe's most powerful features is its seamless integration with Unity through a custom network protocol. This system enables:
- Live Script Testing: Instant preview of narrative changes within the Unity editor
- State Preservation: Maintains current game state during script updates
- Hot Reloading: Automatic compilation and deployment of script modifications
- Cross-Team Collaboration: Simultaneous editing and testing by multiple team members
Advanced Development Features
Visual Node Editor
Designed and implemented a comprehensive node-based interface that transforms complex narrative structures into intuitive visual representations. The editor supports:
- Story branching visualization with conditional pathways
- Character dialogue trees with speaker assignments
- Game state modification nodes
- Visual effect and audio trigger integration
Intelligent Code Analysis & Autocompletion
Developed a sophisticated code analysis system that provides context-aware assistance to content creators:
- Syntax Highlighting: Real-time visual feedback for script structure
- Error Detection: Immediate identification of syntax and logical errors
- Variable Tracking: Automatic detection and suggestion of available game variables
- Context-Aware Suggestions: Intelligent autocompletion based on current narrative context
Technical Implementation Challenges
Compilation Pipeline Maintenance
Maintained and extended the existing JavaScript/TypeScript compilation pipeline that converts narrative scripts into Unity-compatible XML files. This involved optimizing the parsing process, handling edge cases, and ensuring compatibility with Unity's runtime interpreter.
User Experience Optimization
Addressed complex UX challenges to create an intuitive interface for non-technical users while maintaining the flexibility required by programmers. This included designing context-sensitive menus, streamlining common workflows, and implementing responsive visual feedback systems.
Technical Stack
- Frontend: React, TypeScript
- Desktop Framework: Electron
- Language Processing: JavaScript compiler
- Integration: Custom Unity protocol through network
- Output Format: XML for Unity runtime
- Architecture: Real-time compilation pipeline
Project Impact & Learning
Leading Ludoframe's development over two years provided invaluable experience in tool architecture, user-centered design, and cross-disciplinary collaboration. The project's adoption throughout the studio validated the importance of investing in developer tools that bridge technical and creative workflows.
This project ignited my passion for development tooling and demonstrated how well-designed tools can dramatically improve team productivity and creative expression. The experience of building software used daily by colleagues taught me the critical importance of user feedback, iterative design, and maintainable architecture.
This tool is completely closed source, but here are some screenshots I have permission to share: