Make a game by describing it

You write plain sentences, and Viby builds a real game from them and publishes it to the catalog. 3D or 2D, for one player or a whole crowd.

Everything is free during the MVP.

You write. The world appears.

This is how Coin Rush comes together. Every frame is a real engine render: first from a couple of lines, at the end from the whole game.

An empty meadow at sunset and a blue blocky character
  1. A world and a hero

    Sky, ground, music and a character, in two lines.

    sunset sky, grass ground and adventure musiclooks like a blocky humanoid, colored royal blue

  2. Coins in a circle

    Twelve coins form a ring. Shape, radius and height in words, no coordinates.

    place 12 sunset coins in a circle of radius 7 at height 1

  3. Scenery

    Trees, rocks, flowers and clouds place themselves.

    place 25 trees randomly within 60 metersplace 12 rocks randomly within 50 metersplace 30 flowers randomly within 30 metersplace 8 clouds randomly within 60 meters at height 26

  4. Rules and a HUD

    A coin counter and a timer take a line each. Islands, a lift, bounce pads, slimes and the rules are about forty more sentences, and the game is done.

    show "🪙 {player.coins} / 20" at top left size 30show a timer of time at top right

That's all of Coin Rush

Three files and 49 sentences. Viby's grammar understood every one of them on its own, without a single AI call.

Show all three files
coin-rush/game.vibe
# Coin Rush — a golden-hour dash across floating islands.
# Split into three files: this one (rules and look), kinds.vibe, level.vibe.

game "Coin Rush":
  "Grab 20 coins across the floating islands before the sun goes down!"
  a 3d platformer for 1 player

world:
  sunset sky, grass ground and adventure music
  light fog
  bloom is 0.35
  gravity is 22

player:
  looks like a blocky humanoid, colored royal blue
  third person controls
  speed is 7, jump height is 2.6 and it can double jump
  has 100 health
  has 0 coins
  starts at (0, 2, 0)

time is 90

every second:
  subtract 1 from time

when the player's coins reach 20:
  play sound win
  show effect confetti at the player
  win "You caught every coin before sunset!"

when time runs out:
  lose "The sun has set... try again!"

screen:
  show "🪙 {player.coins} / 20" at top left size 30
  show a timer of time at top right
  show the player's health as a bar at bottom left only when the player's health is below 100
coin-rush/kinds.vibe
# Things that appear many times in Coin Rush.

a sunset coin is a coin:
  glows 0.8

a spring pad is a jump pad:
  launches players with power 24

a floating island:
  is a grass box of size (8, 1.2, 8)

a grumpy slime is a slime:
  colored crimson
  chases the player within 9 meters at speed 3.5
coin-rush/level.vibe
# Where everything is.

# A ring of coins around the start
place 12 sunset coins in a circle of radius 7 at height 1

# Island hopping, higher and higher
place 5 floating islands at (14, 3, 0), (22, 6, -6), (30, 9, 0), (22, 12, 8), (10, 14, 10)
place 5 sunset coins at (14, 5, 0), (22, 8, -6), (30, 11, 0), (22, 14, 8), (10, 16, 10)
place a checkpoint at (30, 9.6, 0)

# A wooden lift to the sky coins
the lift:
  is a wooden box of size (4, 0.6, 4)
  starts at (-10, 1, 0)
  moves up 12 meters over 4 seconds

place 3 sunset coins in a line from (-10, 15, -3) to (-10, 15, 3)

# Bouncy shortcuts
place 2 spring pads at (5, 0.15, 5) and (-5, 0.15, -6)

# Loose coins and hearts on the meadow
place 5 sunset coins randomly within 25 meters at height 1
place 2 hearts at (0, 1.5, 12) and (26, 11, 0)

# Trouble
place 4 grumpy slimes at (18, 0, 12), (-15, 0, 14), (-18, 0, -10) and (12, 0, -18)

# Scenery
place a campfire at (3, 0.15, -4)
place 25 trees randomly within 60 meters
place 12 rocks randomly within 50 meters
place 30 flowers randomly within 30 meters
place 8 clouds randomly within 60 meters at height 26

Viby Studio: the text and the world are one

The Studio shows the game and its sentences side by side. Change one and the other follows.

Viby Studio: a 3D view with a move gizmo next to the game's sentences

Your own rules instead of built-in “health”

The engine has no built-in health, mana or damage. Chakra, sleep, hunger, reputation: you describe your own mechanic and the engine runs it. Every line of this snippet compiles as it is.

sleepy-ninja/game.vibe
player:
  looks like a stickman
  has 100 chakra that refills 3 per second
  falls asleep when its chakra runs out
  can't move while asleep

when the player presses Q:
  if the player's chakra is less than 20:
    say "Not enough chakra for Leaf Leap!" for 1.5 seconds
    stop
  subtract 20 from the player's chakra

How a sentence becomes a game

No magic and no black box: every step has a result you can look at with viby explain.

  1. You write

    Plain sentences: who is in the world, what it looks like, and what happens when the player does something.

  2. The grammar understands

    Familiar phrases are parsed instantly and the same way every time: no network, no randomness.

  3. AI fills the gaps

    An unfamiliar phrase is translated once by an inexpensive AI compiler. The answer is checked and saved in viby.lock, so the project builds offline again.

  4. The engine runs it

    Everything becomes Viby Strict, a precise form the native Rust engine runs 60 times a second.

You write

chases the player within 9 meters at speed 3.5

Viby Strict

grumpy-slime:
  chase:
    target: player
    range: 9
    speed: 3.5

Publish, and people are already playing

A native engine that's happy on modest hardware

Viby is written in Rust and renders through wgpu. Every number here is a real measurement.

Everything is free during the MVP

The Studio, publishing, servers and multiplayer. And the games made this way are ready to play now.