VOXCADE

Voxcade

Jedes klassische 2D-Genre, in Voxeln.

Szenen aus den fünf Spielen, die Voxcade mitbringt, gezeichnet von der Engine aus aufgenommenen Läufen.

Voxcade ist eine Spiele-Engine, die jede Art von Spiel, die es in 2D gab, in die dritte Dimension hebt: Shooter, Jump & Runs, Rollenspiele, Adventures, Strategie, Rennspiele, Simulationen, alles aus Voxeln, die man in Stücke schießen kann. Du schreibst sie in Lua, formst sie in den eigenen Editoren und spielst sie allein, zu mehreren an einem Bildschirm oder zusammen übers Netz.

In Entwicklung · noch nicht erschienen

Spiele

Fünf Spiele kommen mit der Engine, jedes ein Ordner aus Lua und Voxeln, jedes ein anderes Genre.

Bild aus More Blood

More Blood

Run-and-Gun-Shooter

Kämpf dich durch die Wüste, befrei die Geiseln und hol den Kampfhubschrauber vom Himmel. Hütten, Wachtürme und der Boden selbst zerfallen in Voxel.

Bild aus Voxkeep

Voxkeep

Jump & Run

Eine Burg bei Nacht: sechs Räume mit Fledermäusen, die man abpassen muss, Fähren über Stacheln, Hebel, Aufzüge und eine Kiste, die eine Falltür offen hält.

Bild aus Pulsar

Pulsar

Weltraum-Shooter

Die Gegnerwellen kommen im Takt der Musik. Flieg allein oder zu zweit: zwei Schiffe, jedes mit eigenem Schild, eigenen Bomben und eigenem Punktestand.

Bild aus BunnyFarm

BunnyFarm

Farmspiel

Säen, ernten, kochen und Aufträge erfüllen, Hühner halten und den Zaun flicken, bevor nachts der Wolf kommt. Auf Deutsch, Englisch und Französisch.

Bild aus Sokovox

Sokovox

Denkspiel

Sokoban in Voxeln, mit den 155 Microban-Rätseln von David W. Skinner.

Selbst machen

Ein Spiel ist ein Ordner: conf.lua richtet es ein, main.lua enthält seine Regeln, daneben liegen die .vox-Modelle. Fertige Regeln bewegen die Dinge eines Shooters oder eines Jump & Runs; was eine Berührung, ein Treffer oder ein Sturz bedeutet, bestimmt dein Code.

conf.lua
function conf(c)
  c.kit = "platformer"
  c.things.gem = {
    behaviour = "pickup", model = "gem.vox",
    family = "pickups", spin = 120,
    props = { worth = 100 },
  }
end
main.lua
function on_touch(a, b, where)
  if a ~= player then return end
  if b.families.enemies and where == "top" then
    b:hurt(1, player)
    player:bounce(50)
  elseif b.families.pickups then
    player.state.score = player.state.score + b.props.worth
    b:remove()
  end
end
Aus Voxkeep: ein Edelstein für 100 Punkte und ein Sprung auf einen Gegner.
Die Voxcade-IDE: links die Dateien des Spiels, in der Mitte läuft Voxkeep.

Die IDE

Ein Fenster für das ganze Spiel: der Code, mit den Namen der API beim Tippen angeboten; das Spiel läuft gleich daneben, seine Fehler zeigen auf die Zeile; Szenarien starten einen Lauf an jeder Stelle; und BUILD packt das Spiel zum Weitergeben.

Editoren für Voxel und Level

Modelle formst du Voxel für Voxel oder mit Quadern und Kugeln, Fasen und Spiegel; Level baust du aus Blöcken von Voxeln. Mit Absicht ruhig: wenige Werkzeuge, große Wörter, das Licht des Spiels.

Ein Agent hilft, wenn du willst

In der Konsole der IDE kann Claude Code laufen und sieht das Spiel, an dem du arbeitest: Es schaut sich ein Bild an, liest den Zustand des Spiels und probiert eine Zeile Lua im laufenden Spiel aus.

Der Voxel-Editor mit dem Helden aus Voxkeep.
Pulsar mit zwei Schiffen, eins in Blau, eins in Gold.

Zusammen spielen

Bis zu vier Spieler an einem Bildschirm, wie am Automaten: Gamepads und eine geteilte Tastatur, eine Kamera hält die Gruppe zusammen. Übers Netz spielt jeder Rechner dasselbe Spiel im Gleichschritt, und Freunde können in ein laufendes Spiel einsteigen.

  • Miteinander, gegeneinander oder in Teams: Das entscheidet jedes Spiel.
  • Ein zweiter Spieler steigt mit START am Gamepad ein oder mit Return an der Tastatur.
  • Jeder Lauf wird aufgenommen, auch Netzwerkspiele.

Unter der Haube

Jeder Lauf ein Replay

Die Simulation ist deterministisch: Dieselben Tasten ergeben dasselbe Spiel auf Linux, Windows und macOS. Replays sind zugleich Tests, und ein Spiel lässt sich ohne Fenster prüfen.

Überall einsteigen

Szenarien beginnen einen Lauf mitten im Spiel, und eine Konsole (die Taste links neben der 1) führt Lua aus, während es läuft.

Speichern und sehen

Code, Modelle, Level und Lieder laden neu, während das Spiel läuft.

Alles geht kaputt

Die Welt besteht aus Voxeln: Schieß ein Loch hinein, und was abgetrennt ist, fällt.

Musik als Text

Lieder werden in MML für SID-artige Stimmen geschrieben oder aus Akkordfolgen komponiert, und ein Spiel kann sich nach ihrem Takt richten.

Beleuchtet wie Pixel-Art

Voxelgenaue Schatten, Leuchten, Glas und Metall. Licht und Schatten kommen von der Engine, nie in die Modelle gemalt.

Nativ und schnell

Rust, wgpu und SDL3 auf Vulkan, DirectX 12 oder Metal. Flüssig auch auf älteren Rechnern, mit Qualitätsstufen für den Rest.

Lua oder Rust

Spiele sind Lua in einer sicheren, deterministischen Sandbox, im Geist von LÖVE; ein Spiel kann auch in Rust direkt auf der Engine entstehen.