30 open-source projects similar to inkle/ink, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Inkle Ink alternative.
Ren'Py is a cross-platform game engine and interactive storytelling tool built around a Python-based scripting engine. It is designed for creating visual novels and branching narrative games, where player choices determine story paths and character interactions. The engine provides a complete development framework for building narrative-driven experiences, from simple dialogue trees to complex life simulation games. The engine distinguishes itself through a comprehensive set of integrated systems that handle the full lifecycle of interactive storytelling. Its script-based story engine compile
Dialogic is a dialogue editor and runtime system for the Godot engine that provides a complete framework for creating branching conversations with characters, animations, and state management. At its core, it functions as a branching narrative editor with visual and text-based timeline authoring, a character animation manager that handles portraits and scene positioning, a localization tool that exports timelines to CSV for translation, and an interactive framework that manages player choices, text reveals, voice lines, and dynamic text effects within conversations. What distinguishes this sy
WebGAL is a web-native development environment designed for the creation and publication of interactive narrative games. It provides a browser-based platform that enables users to build visual novels featuring branching dialogue and multimedia assets without requiring manual coding. The platform distinguishes itself through a visual editor that utilizes node-based logic definition to manage narrative flow and scene transitions. It includes specialized tooling for the configuration and integration of animated character models, allowing for the direct implementation of interactive character seq
Inkos is an automated fiction pipeline and interactive narrative engine designed for generating novels, scripts, and interactive games. It employs a multi-stage writing workflow that manages long-form narrative memory through a database-backed system to prevent context drift and maintain character and world consistency. The system distinguishes itself through a style-fingerprinting engine that extracts linguistic patterns from reference texts to mimic specific authorial voices and refine AI prose. It utilizes a role-based model routing system to assign different language models to specific ta
Rhai is an embedded scripting engine and dynamically typed language designed for integration into Rust applications. It functions as an abstract syntax tree compiler and native interop layer, allowing developers to map Rust types and functions into a scripting environment for bidirectional communication. The project serves as a framework for creating customizable domain-specific languages. It allows for the definition of custom operators, syntax, and restricted execution environments, enabling the creation of specialized languages with tailored functional sets. The engine covers a broad rang
This project is an open-source 3D game engine designed for building high-fidelity games, simulations, and cinematic environments. It functions as a robotics simulation platform with native integration for ROS 2 to model robot controllers and sensors. The engine features a multi-threaded Forward+ physically based renderer that supports hardware-accelerated ray tracing and global illumination. The system is built on a modular extension architecture using Gems to add or replace features without modifying core binaries. It includes a native SDK for AWS cloud integration, enabling IAM authenticati
learn-gdscript is an interactive coding course and tutorial application designed to teach GDScript programming fundamentals. It functions as a game engine education tool that allows absolute beginners to study basic programming concepts, variables, and functions. The project utilizes a sandboxed environment for practicing code execution and provides in-engine interactive tutorials. It features guided walkthroughs that direct users through editor interfaces to help them locate and understand software tools. The curriculum covers game development logic, including the implementation of physics-
This project is a browser-based game engine and implementation of a racing game built using a declarative component architecture. It provides a framework for constructing interactive three-dimensional environments and game objects by mapping hierarchical data structures to a persistent scene graph. The engine distinguishes itself by synchronizing game logic with high-performance rendering through a centralized data store. This approach ensures that physics calculations, player progress, and environmental variables remain consistent with the visual output of the scene. Developers can compose c
NoahGameFrame is a distributed game server framework designed for real-time multiplayer games. It utilizes an actor model backend to manage game state and logic through an asynchronous, event-driven system that distributes workloads across multiple CPUs. The framework features a scriptable server environment that integrates external scripting languages, allowing for updates to game behavior and mechanics without restarting the server. It also employs a plugin-based architecture with an interface-oriented design to enable the addition of custom application logic and modular engine extensions.
Ripple is a full-stack TypeScript web framework and reactive UI library used for building interfaces with server-side rendering. It organizes user interfaces into a hierarchy of reusable, scoped components with built-in state management and client-side hydration. The framework is distinguished by its fine-grained reactivity, which updates specific DOM elements without requiring full component re-renders. It integrates server-side logic and client-side components within a single TypeScript codebase, enabling a unified full-stack development workflow. The system covers a broad range of capabil
This project is a bash scripting tutorial, shell automation library, and Linux system administration guide. It serves as a collection of practical examples and case studies designed for learning the Linux command line and shell programming. The repository provides a reference for Unix text processing and the creation of modular script libraries. It includes patterns for automating repetitive server tasks, such as software installation, network security configuration, and database task automation. The project covers a broad range of capabilities, including system monitoring and health auditin
Trust is a game theory educational simulation and interactive learning tool. It functions as a web-based application designed to teach the mechanics of cooperation and social dynamics through guided discovery and behavioral simulations. The project is developed as a multilingual educational application, providing localized content and metadata to make game theory instruction accessible to a global audience in multiple languages. The application utilizes interactive educational content and simulations to explain theoretical concepts, supported by a state-machine driven narrative and client-si
This project is a game programming design patterns reference and software engineering guide. It provides a collection of architectural and structural patterns specifically applied to the development of video games, focusing on organizing game loops, entity component systems, and state management. The content is delivered as a digital book and markdown static site. It utilizes a static site generation workflow that transforms markdown source files and HTML templates into structured static pages for technical content publishing. The underlying system includes capabilities for static site compi
Imageflow is a high-performance image manipulation library and composition engine available as a C-compatible library, a command-line image processor, and a dynamic image processing server. It provides the means to decode, encode, and apply complex visual transformations to images through programmatic interfaces, JSON job files, or on-the-fly URL query strings. The system distinguishes itself through a graph-based processing pipeline that allows for single-pass multi-format encoding, generating multiple image sizes and formats from a single decode to reduce overhead. It further features a res
This project is a technical study resource and interview preparation guide focused on the React library. It provides a comprehensive frontend interview question bank and concept references designed to help developers master core library primitives and prepare for professional job interviews. The resource covers detailed explanations of React's technical architecture, including state management patterns, performance optimization strategies, and component design. It serves as a knowledge assessment tool for developers to test their understanding of modern frontend engineering through a structur
uniffi-rs is a Rust FFI binding generator and multi-language binding tool. It functions as an automated binding scaffolder that creates type-safe foreign function interfaces and native wrappers for Rust libraries in languages such as Swift, Kotlin, and Python. The project provides a system for cross-language interface definition, allowing functions and data structures to be specified in a shared format to ensure consistent API signatures across platforms. It further serves as an FFI memory management layer, handling object lifetimes and thread safety when sharing state between Rust and foreig
Discoart is a diffusion model orchestration framework and distributed GPU generation engine designed to automate and scale image generation workflows across hardware clusters. It functions as a generative AI model API, providing HTTP and gRPC endpoints to trigger and retrieve images from diffusion models as a network service. The system distinguishes itself through a comprehensive task management layer that includes timeline-based prompt and parameter scheduling. It manages the generative art lifecycle by supporting state-based session serialization for recovery, YAML-based configuration mana
LittleJS is a lightweight HTML5 2D game engine designed for building web games using Canvas and WebGL without external dependencies. It integrates a WebGL sprite renderer, a 2D physics engine for arcade-style collisions and rigid-body dynamics, and a grid-based A* pathfinding system for entity navigation. The engine is distinguished by its procedural audio synthesizer, which generates music and sound effects at runtime using parameter arrays to minimize file sizes. It also features a comprehensive graphics pipeline that supports custom fragment-shader post-processing and a dynamic 2D lighting
Endless Sky is an open-source space trading simulation, 2D space combat simulator, and narrative exploration game. It functions as a plugin-based game engine that allows users to explore a vast universe, engage in tactical ship battles, and progress through a central plot within a sandbox environment. The project is distinguished by its highly moddable architecture, utilizing a directory-based plugin system and data-driven entity definitions to allow for content extensions and behavior overrides without recompiling source code. It further supports visual customization through programmable ver
cocos2d-objc is an Objective-C 2D game engine designed for developing interactive games and applications. It serves as a cross-platform game framework that enables the deployment of a shared codebase across iOS, tvOS, and macOS. The project features a hardware-accelerated 2D renderer utilizing OpenGL and Metal to display sprites, tile maps, and particle effects. It includes a dedicated OpenAL audio engine for managing music and spatialized sound effects, alongside a cross-platform input handler for processing touch, mouse, keyboard, and accelerometer events. The framework provides capabiliti
Haxe is a statically typed, multi-target programming language and open-source compiler toolkit that translates a single codebase into native executables and scripts for JavaScript, C++, C#, Java, Python, Lua, PHP, and Flash targets. It provides a unified type system with automatic type inference, a compile-time macro system for code transformation and generation, conditional compilation directives, and a static analysis engine that enforces null safety and eliminates dead code to produce smaller, safer outputs. The language is supported by the HashLink virtual machine, which executes platform
A Dark Room is a minimalist text-based survival game that blends incremental resource management with an atmospheric narrative adventure. It functions as a resource management simulation where players collect and spend limited materials to ensure survival within a text-driven environment. The experience focuses on atmospheric horror, utilizing a minimalist interface to build tension and isolation. The gameplay features a branching narrative that evolves based on player decisions and the successful management of survival mechanics, such as a fire maintenance system requiring wood consumption t
AngularJS Internationalization Library is a localization framework for AngularJS 1.x applications. It functions as an i18n translation tool used to swap static user interface text with localized versions based on a selected locale. The framework manages multi-language content through asynchronous loading of translation files to minimize bundle size. It includes systems for handling pluralization rules and interpolating dynamic variables into translation strings. The project also provides capabilities for language switching and fallback-chain resolution to ensure a readable string is displaye
Goja is a JavaScript engine and ECMAScript compliant interpreter implemented entirely in Go. It serves as an embedded scripting engine that allows Go applications to execute JavaScript code and integrate a programmable scripting layer without relying on Cgo or external native dependencies. The project functions as a bridge between Go and JavaScript, enabling bidirectional data exchange and function invocation. It allows Go hosts to expose native structs, slices, and maps as JavaScript objects and arrays, while providing mechanisms to export script values and functions back into native Go type
Unreal.js is a JavaScript runtime and scripting layer for Unreal Engine that embeds the V8 engine to implement game logic and manage application state. It provides a bridge for writing high-level application behavior and actor control without modifying the core engine source code, as well as a framework for extending the Unreal Engine editor with custom interface elements. The project distinguishes itself through a V8-based integration that supports real-time code reloading and live iteration, allowing scripts to be updated without restarting the application. It includes a bidirectional commu
Recompose is a suite of toolsets for implementing higher-order component composition, context extraction, render optimization, and external state integration. It provides a library of utilities to wrap components in reusable logic and behavioral layers, allowing developers to chain functional wrappers and reduce nesting within a component tree. The project focuses on the composition of functional wrappers to inject properties and behavior into components. It includes a set of helpers for extracting values from component context and passing them as direct properties, as well as tools for integ
learningPixi is an educational resource and instructional guide focused on 2D web graphics and interactive media development. It provides a structured curriculum and tutorials for building 2D games and visual applications using the Pixi.js rendering engine and WebGL for hardware-accelerated graphics. The project covers specialized workflows for sprite animation, including the use of texture atlases and spritesheet frame extraction. It also provides guidance on implementing game state management for scene transitions and rectangular collision detection systems to trigger interactive events. T
Polyglot.js is a JavaScript internationalization library and client-side translation framework. It provides a system for mapping unique keys to localized strings, allowing applications to translate text into multiple languages. The library includes a pluralization and interpolation engine that handles complex grammatical plural forms based on numeric counts and inserts dynamic variables into translated strings. It supports nested namespaces to organize phrase mappings into logical categories. These utilities cover phrase translation, locale-driven configuration, and the management of multi-l
Rack is a virtual Eurorack modular synthesizer emulator and a modular synthesis SDK. It provides a digital environment for creating and routing electronic music signals using virtual modules, oscillators, and filters, simulating the behavior of analog hardware through voltage-based signal routing. The system functions as a MIDI and CV converter, translating signals between software and external hardware, and can operate as a VST or industry-standard instrument plugin within digital audio workstations. It also acts as a VST plugin host, embedding external virtual instruments and effects to exp