Skip to main content
Talon Hero Light

What is Talon?

Talon is a 2D game framework that uses Raylib as its rendering engine and Wren as its scripting language. It’s designed to make game development fast, enjoyable, and productive by combining two exceptional projects:
  • Raylib: A simple and powerful graphics library
  • Wren: A lightweight, fast scripting language you can master in under 30 minutes
Talon is inspired by love2d and aims to be a modern alternative for 2D game development.

Why Talon?

Simple & Fast

Wren is incredibly easy to learn and blazingly fast. Get started writing games in minutes, not hours.

Hot Reload

See your changes instantly with built-in hot reload. No need to restart your game every time you make a change.

Cross-Platform

Build for Linux, Windows, and Web (WASM). One codebase, multiple platforms.

Raylib Powered

Access almost all Raylib functions directly from Wren with a clean, consistent API.

Key Features

Almost all Raylib functions are exposed through the Raylib class. Function names use snake_case (e.g., Raylib.initWindow() instead of InitWindow).Raylib structs like Camera2D, Vector2, Rectangle, and Color are available as Wren classes with the same names.
Run Talon with the --hot flag to enable automatic reloading when your Wren files change:
talon --hot index.wren
Perfect for rapid iteration and UI development.
Use Docker-based builds to create distributable executables:
talon init-exe index.wren
docker compose up --build -d
Find your builds in the dist/ folder.
Deploy your games to the web using Emscripten:
talon init-wasm index.wren
docker compose up --build -d
Your WASM builds will be in the dist/ folder.
Add custom functionality using .so or .dll files. See the examples/extend directory for implementation details.
Try Talon directly in your browser without any installation at jossephus.github.io/talon.

Quick Example

Here’s a simple “Hello World” window in Talon:
import "raylib" for Color, Raylib

var width = 800
var height = 450

Raylib.initWindow(width, height, "My First Talon Game")
Raylib.setTargetFPS(60)

while (!Raylib.windowShouldClose()) {
  Raylib.beginDrawing()
  Raylib.clearBackground(Color.Red)
  Raylib.drawText("Hello, Talon!", 190, 200, 20, Color.White)
  Raylib.endDrawing()
}

Raylib.closeWindow()

Get Started

Installation

Download Talon and set up your development environment.

Quickstart Guide

Create your first Talon game in minutes with our step-by-step guide.

Learn Wren

Master Wren in under 30 minutes with the official documentation.

Explore Examples

Browse complete game examples including Breakout and Asteroids.

Project Status

Talon is actively developed with the goal of becoming a stable, feature-rich 2D game framework. Currently implemented features include:
  • Core Raylib rendering functions
  • Input handling (keyboard, mouse)
  • 2D camera system
  • Texture and sprite support
  • Basic shapes and text rendering
  • Hot reload development workflow
  • Cross-platform building (Linux, Windows, Web)
Planned features include Audio, Physics, and expanded Math support.

Open Source

Talon is open source and licensed under the MIT License. Contributions are welcome!

View on GitHub

Star the project, report issues, or contribute to the codebase.

Build docs developers (and LLMs) love