Make games on Castle
Castle for Desktop is a platform for playing and creating games. Castle Desktop's game engine is based on LOVE, enabling fast, cross-platform games written in Lua. Castle also provides several social APIs, such as cloud storage, built-in sharing, multiplayer support, and more.Read the Documentation
We're not working on Castle for Desktop at the moment, though the whole thing is open source. For more recent updates, check out what we're doing at castle.xyz.
Cross-Platform Native Performance
Castle games launch within the Castle Client, which runs natively on Windows and macOS.
Castle provides a number of APIs to help you build a community with your game.
Read the Documentation
- 🎁 Store global or player-specific data, such as high scores, using Castle's key-value cloud storage.
- 🎁 Share screenshots and videos with embedded game artifacts, such as levels, world state, or anything else you want.
- 🎁 Access the player's handle or avatar from game code in order to personalize your game for the player.
Built-in Multiplayer Support
Castle provides built-in multiplayer infrastructure, such as:
- 🎁 Automatically spinning up server instances when players start a session of your game.
- 🎁 Matching players regionally by ping.
- 🎁 Providing shareable links to join a specific game session.
Learn about share.lua
, our multiplayer library
Learn more about Castle's features
Castle games each get their own chat channel, including voice chat.
Castle games are run with Lua and LuaJIT, enabling performant graphics, shaders, and even 3D worlds.
- 🎁 Play Lux Voxel, a voxel editor and raytracer
- 🎁 Play Kart, a 3D racing game
Shared player identity
Grab the username and avatar of your player across any device and incorporate it into your game.Read the docs
Push new code and your players will get the update next time they open your game.
Persist state (high scores, items, etc.) among players, or globally for your game, with a couple lines of code.Read the docs
GUI Library for Tools
Castle includes a powerful Tool UI library allowing you to express simple interfaces (e.g. level editors, content editors, game settings) with just a few lines of code.Read the docs
Built-in sharing (posts)
All Castle games include a built-in mechanism for players to share screenshots or videos while they play your game. You can even embed game data into the post and reload it when someone clicks the post.Read the docs