/ Developers

Make games on Castle

Castle is a community for playing and creating games. Castle'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.

Anybody can add games on Castle. Just start creating something and add it to your profile when you're ready to share it.

Make a Castle Game
Read the Documentation
Cross-Platform Native Performance
Castle games launch within the Castle Client, which runs natively on Windows, macOS, iOS, and Android.
Community-Centric APIs
Castle provides a number of APIs to help you build a community with your game.
  • 🎁 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.
Read the Documentation
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.
Play Jardins du Standoff, a multiplayer deathmatch game

Learn about share.lua, our multiplayer library
Learn more about Castle's features
Game Chat
Castle games each get their own chat channel, including voice chat.
Native performance
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
Easy updates
Push new code and your players will get the update next time they open your game.
Free and Open Source
Castle is free and open source.
Cloud storage
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