How I Reimplemented LÖVE2D in Rust to Play Balatro in a Terminal

rust dev.to

A few weeks ago, I wondered: what would it take to run a full commercial game in a terminal? Not a text-based approximation — the actual game, with real graphics, shaders, and UI. The answer turned out to be ~9,800 lines of Rust. — The idea Balatro is built on LÖVE2D, a Lua game framework. The game’s logic is entirely in Lua; LÖVE2D provides the graphics, audio, and input APIs. My idea: reimplement those APIs in Rust, but instead of rendering to a GPU-backed window, render to a terminal. —

Read Full Tutorial open_in_new
arrow_back Back to Tutorials