Build notes / Odyssey / 01

From a reference image to the Cyclops’ island with Codex

Generated concept of Greek warriors approaching the Cyclops’ cave on a rocky Mediterranean island.
In this article

A common comment: “Mine doesn’t look anything like this.” My early build didn’t either.

Image generation gave Codex a visual target. Blender kept the assets editable. Here’s how I used both, and the mesh and lighting fixes that brought this scene together.

I originally wanted to build the Sirens from The Odyssey and ended up on the Cyclops’ island. The build used GPT-6 Astra in Codex, Blender and Three.js.

Current build, September 12. Recorded from the running Three.js scene.

1. Make one image guide the others

I started with an arrival composition: open sea on the left, fractured cliffs, a cave above the shore, and Greek warriors approaching it.

We reused that image as a reference when generating the aerial view, cave interior and character sheets. That gave the build a consistent visual target.

I asked for the island’s look before character animation. Static warriors were fine; moving water and clouds could carry the atmosphere while we worked on the place.

Try this — a new example prompt:

Use this arrival image as the reference for aerial, cave and character views. Keep the cliffs, costumes and character proportions consistent; change the view.

Generated character sheet with Odysseus and Greek warriors, showing armor, helmets, shields and clothing.
Generated character sheet: the starting direction for Odysseus, armor and clothing.

2. Choose the tool for each asset

Codex ran Python scripts through Blender’s command line to build terrain, the ship, props and scene dressing.

The first scripted characters didn’t hold up in close-ups. We switched to local TRELLIS.2 image-to-3D reconstruction for the characters and cave entrance, then cleaned up and fitted the results in Blender. Later head-depth and shield repairs were direct edits to that source.

We exported GLB files into Three.js. Poly Haven textures supplied stone and ground detail; a sky HDRI supplied environment light and reflections.

Keep the editable source and export script. A correction should have a clear route back into the scene.

Generated Cyclops reference sheet with front, side and rear views, facial details and a person for scale.
Generated Cyclops reference: multiple views and a human scale comparison.

3. Inspect the export from more than one angle

A warrior looked acceptable from the front, but his face looked squashed from the side. Shields, floating trees and cloth motion each needed their own corrections.

I sent screenshots from Blender and the running browser scene, pointing at one visible mismatch. Camera controls helped: orbit a selected character, inspect the face, zoom toward the pointer.

Try this — a new example prompt:

Inspect the exported scene from front, side and rear. Fix the flattened head and detached shield rim in the Blender source, then re-export. Preserve the island and ocean.

The early recording shows my starting point: red cloaks, rougher faces, and materials that needed more work.

Early build, September 11. Compare the characters and materials with the current clip above.

4. Make the water and lighting belong together

The ocean came from Pixel City, my earlier Three.js project. We adapted it to this coastline with shallow shelves, shoreline foam, wet rocks and a boat responding to the same waves.

The Look studio became my control panel for sun position, time of day, water tint, metal shine, wind and camera settings.

The evening-to-night trick: one shared sun direction. The sky, directional light, shadows and ocean reflections follow it together. After dusk, torches add warmth while environment fill keeps the warriors readable.

The shadows were there; the fill light was hiding them. We reduced the diffuse HDR fill while keeping reflections on the armor.

Night build, September 12: torchlight, readable armor and ocean reflections.
Generated bronze basket torch design and standing torch reference used for the nighttime scene.
Generated torch concept used for the nighttime pass.

5. Add motion after the scene has a look

We then added idle motion, walking, spear throws and group actions. The warriors and Cyclops use skeletal rigs driven by browser code; cloth and sails use procedural wind.

Faces and large joint bends still need work. This is a directed interactive scene with choreographed actions; a finished combat game needs additional systems.

Next: beneath the boat

The island grew into a larger voyage. I’m now working on a Leviathan rigged in Blender, with a swimming tail, moving crew and a ship riding the waves.

The ocean, rigging and creature motion get their own post. Here’s an eight-second glimpse.

Leviathan work in progress, cropped from the running Odyssey scene.

By the way, I make starter kits for games and interactive experiences at 3ditions—working scenes with editable source and build prompts. Start with a working world and spend your tokens making it yours. Odyssey is still in development and isn’t for sale yet.