Skip to main content

Introduction to Talesmith

Talesmith is a 2D game engine and editor for .NET 10. You build scenes in the editor from tile maps, sprites, lights, particles and prefabs, write gameplay as C# scripts, play the game inside the editor, and export it as a standalone game for Windows, Linux or macOS. Maps use the format of the Hexy map editor, hexagonal or rectangular, and can be as large as a game needs.

The editor in its Tile Mapping layout, painting a hex island.

The editor runs on Windows, Linux and macOS. Games render with Vulkan, or with Skia on machines without a Vulkan device, and are hosted in Avalonia, so game menus and HUDs are ordinary Avalonia controls.

How this documentation is organized​

What you can do​

Build scenes in the editor​

A scene is a tree of entities, each with components such as a sprite, a camera, a collider or a light. You arrange them in the scene viewport with move, rotate and scale handles, organize them in the hierarchy and change their values in the inspector. Groups you use often become prefabs you can place many times.

Paint tile maps of any size​

Paint hexagonal or rectangular maps with brushes, shapes, fills, selections and terrains that tile themselves. Layers have roles, so a collision layer becomes solid ground for physics and casts shadows. Maps load chunk by chunk as the camera reaches them, so a map of millions of cells stays fast. See Maps and grids.

Write gameplay in C#​

Scripts are C# classes you attach to entities. The editor compiles them when you save, shows their fields in the inspector, reports errors in the console with the file and line, and reloads them while the game is running. See Your first script.

Light the scene and add effects​

Point, spot and directional lights cast soft shadows from shadow casters and tile maps. Particle effects such as fire, smoke and sparks are built from modules in the particle editor, with a live preview, and saved as presets.

Play without leaving the editor​

Press CtrlP to play the open scene in the Game panel. The game runs on its own thread, so editing never changes its timing. Pause, step a frame, inspect live values and stop to return to editing. See Play mode.

Export a standalone game​

One command builds a self-contained game: only the assets it uses, packed and compressed, with scripts compiled and the player published for the target platform. A report shows what shipped and why. See Exporting a game.

Extend everything with plugins​

Engine features, game code and editor tools can all ship as plugins, loaded in isolation and switched on and off per project. See the Plugins section.

Where to next​