First steps with Ceto: explore the Courtyard
Open a small 3D environment, explore it, and make your first scene changes without writing C++. The Courtyard is built from simple shapes: warm stone walls, a teal sculpture, three colored exhibits, planters, benches, and a ramp to a terrace.
You will move one exhibit, change a shared material, and add another object by editing a text file. No compiler is needed for these changes when Ceto is already installed.
1. Download and extract Ceto
The Ceto Windows x64 ZIP for Rhea v0.2.0 contains the viewer, engine resources, and the Courtyard example. You do not need Visual Studio, CMake, Python, Git, or a C++ compiler to use the package.
:::info Download for Windows x64 Download Ceto v0.2.0 for Windows x64. Rhea v0.2.0 is published as an experimental prerelease. See the GitHub release for release notes and assets. GitHub's source-code archives do not contain the ready-to-run viewer. :::
- Download the Ceto ZIP using the link above.
- In Windows Explorer, right-click the ZIP and choose Extract All.
- Extract into a writable folder, such as
Documents/Rhea/Ceto. - Open the extracted folder containing Ceto.exe.
Keep the complete extracted package together. Its main files are:
Ceto-0.2.0-windows-x64/
Ceto.exe
<runtime DLLs>
Data/
ceto/
rhea/
samples/
Courtyard/
world.scene
courtyard.scene
README.md
Licenses/
README.txt
LICENSE
THIRD_PARTY_NOTICES.md
Do not move only Ceto.exe or run it from inside the ZIP: the adjacent resources and DLLs are
part of the application.
2. Open the Courtyard
- Double-click Ceto.exe in the extracted folder.
- Press O to open the browser if it is not already visible.
- Select Samples, then open Courtyard.
- Select and open world.scene.
No terminal, shortcut arguments, or -d option is required. The Samples shortcut
opens the package's Data/samples folder through //samples.
The starting camera looks into the courtyard toward the central teal sculpture. Three exhibits stand on plinths behind it. Explore the paths around the sculpture and find the ramp on the right leading to the terrace.
To open your own scene, press O, choose Computer, and navigate to its
file or folder. Keep the scene's resources together. For a copy of this example,
open world.scene, which provides the movement and camera setup.
Controls
| Input | Action |
|---|---|
| W or Up arrow | Move forward |
| S or Down arrow | Move backward |
| A or Left arrow | Turn left |
| D or Right arrow | Turn right |
| Q / E | Move sideways left / right |
| Space | Jump |
| Mouse wheel | Adjust camera distance |
| O | Open the browser |
| Escape | Open the quit dialog |
The visitor has no visible model. Release a movement key to stop. A and D turn the visitor; Q and E move sideways.
3. Move your first object
First make your own copy: copy the complete Data/samples/Courtyard folder to a
writable location, such as Documents/Rhea/My Courtyard. Keep both scene files
together. Use Computer in Ceto's browser to open this copy's world.scene;
Samples continues to point to the original bundled example.
Close Ceto and open the copied courtyard.scene in a plain text editor. Find this section:
[display_cube]
type="//meworla/item"
position=(-5.000f, 1.200f, 8.000f)
Change only the position line:
position=(-3.500f, 1.200f, 8.000f)
Save the file, start Ceto, and open world.scene again. The terracotta cube on the
left plinth has moved to the right. The values are X, Y, and Z; X moves it sideways,
Y changes its height, and Z moves it along the courtyard.
Restart Ceto after each edit in this tutorial to ensure the changed resources are loaded. Reopening alone may reuse cached resources.
4. Change a shared color
In courtyard.scene, find [materials/teal]. Replace its diffuse and ambient
lines with these values, leaving the other properties in place:
diffuse=(0.250f, 0.350f, 0.800f, 1.000f)
ambient=(0.250f, 0.350f, 0.800f, 1.000f)
Save, restart Ceto, and reopen world.scene. The central sculpture and tall
exhibit now share a blue color. Changing one material affects every mesh that
references it. The four values are red, green, blue, and alpha, from 0 to 1.
Keep alpha at 1 for these opaque objects. Lighting also affects their appearance.
5. Add another exhibit
Append the following sections to the end of courtyard.scene. Use the name
extra_cube only once:
[extra_cube]
type="//meworla/item"
position=(4.000f, 0.600f, -3.000f)
[extra_cube/mesh]
type="//meworla/meshcomponent"
meshRef="meshes/display_cube"
[extra_cube/physics]
type="//meworla/physicsdatacomponent"
motion="static"
[extra_cube/physics/collider]
type="//meworla/collidercomponent"
shape="box"
half_extents=(0.600f, 0.600f, 0.600f)
After saving and restarting Ceto, a second terracotta cube stands on the ground to the right of the entrance path. It reuses the existing mesh and material. Its collider makes it solid. The collider's half extents are half the cube's full width, height, and depth; update them if you change the mesh dimensions.
What you have made
You have changed a scene's layout, edited a shared material, and added an object with collision, all through scene data. You can now save a copy of the whole folder under a new name and use it as a starting point for your own environment.
world.scene is the entry point: it supplies the controller and visitor/camera
templates, and loads courtyard.scene. The courtyard itself is one content scene.
Open the World for this tutorial because the current controller service requires
it to connect movement and camera.
If something goes wrong
| Symptom | What to check |
|---|---|
| Samples is missing or empty | Extract the complete v0.2.0 Ceto ZIP and keep Data/samples/Courtyard next to the other Data folders. |
| Windows reports a missing DLL | Extract all files from the ZIP again; keep the runtime DLLs beside Ceto.exe. Include the exact DLL name in an issue report if it still fails. |
| Opening fails | Open the extracted world.scene, keep both scene files together, and read Ceto's error message. |
| No movement or collisions | Use the matching v0.2.0 Ceto package and open world.scene, rather than courtyard.scene. |
| Movement does not stop | Use the supplied world.scene, which sets gravity=-9.81f directly on [visitor]. A gravity value only on its physics child does not configure character movement. |
| A change does not appear | Save the file you actually opened, fully restart Ceto, and reopen the same example. |
| An edited scene fails to open | Restore the original ZIP, or check section names, quotes, parentheses, and type declarations against the examples above. |
| Objects render incorrectly | Keep Ceto's standard engine assets installed. Record the Ceto revision, graphics backend, and error output when reporting the issue. |
The standalone Release build and the extract-start-open workflow have been confirmed locally. A manual Windows test without development tools was reported successful. The three editing exercises have not yet been fully verified for the release package. See Project Status for validation limits.
Continue with Asset references to understand how resources are addressed, or Getting Started with C++ to build your own application.