New Hugo site in website/ with prosperon.dev theme (blue/gold/castle aesthetic), docs sidebar navigation, and content pages. Rewrote all doc files to align with the actual codebase: compositor+film2d rendering, use() modules (no global prosperon object), Pit language, script+JSON entity model. Added entities.md, front matter to all 70+ API docs, and updated API index for current module architecture. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1.9 KiB
1.9 KiB
title
| title |
|---|
| Get Started |
Installation
Grab the Prosperon executable for your platform and drop it in a project folder. Prosperon is a single binary — no installer required.
Create a Project
Initialize the module system:
./cell init
This creates .cell/ with the module shop, bytecode cache, and configuration.
Your First Module
Create hello.cm — a module that returns a frozen API:
return {
greet: function(name) {
return `Hello, ${name}!`
}
}
Your First Program
Create hello.ce — a program that uses the module:
var hello = use('hello')
log.console(hello.greet('Prosperon'))
$delay(_ => $stop(), 0.1)
Run it:
./cell hello
A Simple Game
Create config.cm for window settings:
return {
title: "My Game",
width: 1280,
height: 720
}
Create main.ce as your entry point:
var core = use('prosperon/core')
var sprite = use('sprite')
var input = use('input')
// Create a sprite
var player = sprite({
image: "player.png",
pos: {x: 100, y: 100},
width: 32,
height: 32
})
core.start({
width: 1280,
height: 720,
title: "My Game",
update: function(dt) {
// Game logic here
},
render: function() {
// The compositor handles rendering registered sprites
}
})
Example Games
Prosperon ships with several examples:
- Pong — classic two-player pong
- Snake — snake game with growing tail
- Tetris — falling block puzzle
- Chess — full chess with move validation
- Bunnymark — sprite rendering benchmark
Run any example:
./cell examples/pong
Next Steps
- Read the manual for the full API reference
- Rendering guide to understand the compositor
- Input guide for multi-device input handling
- Join the forum to connect with other developers