FERRETGame engine over Babylon.js
Ferret

Examples

Samples that run in this page. Each one loads only when you press the button; the sources are in examples/ of the repository, and each has a README with the rebuild steps. The same samples are also shown on the overview.

Interiors#

An apartment from Unreal Engine#

An Unreal archviz apartment, running in your browser on baked light: walk through one continuous room, floor plan.

Unreal Engine 5 baked light first person phone

60 FPS on a laptop RTX 3050. Download by quality tier: low 19 MB, mobile 13 MB (this page), desktop 20 MB.

About 13 MB, loaded only when you press the button. Walk: W A S D or the arrow keys. Look: click the picture, then the mouse (or drag), R and F look up and down. Jump: Space. Floor plan at the bottom right: click a spot to go there. Menu: Esc.

How it was made

  1. The project. The ArchViz apartment of Unreal Engine 5, as it is: its meshes, materials, lights and the baked lighting of the original.
  2. Export. Ferret's Unreal exporter writes the level to glTF; the post-process step builds three quality tiers (low, mobile, desktop) with compressed textures and meshes cut to a triangle budget, plus a collision model for walking and a grid of light probes that carries the baked light onto things that move.
  3. Package. The result is an ordinary Ferret level package: a folder with a manifest, scene.glb, collision.glb and the probes. The level packages are large binaries and live outside Git (see the README of the example).
  4. Embed. The example is a small TypeScript game (examples/apartment): first-person movement, a loading screen with progress, a floor plan drawn from the level's own walls. This page runs it with the mobile tier.

Source: examples/apartment

Wabi Sabi guesthouse#

A boutique guesthouse interior made in Unreal Engine 5.8, walked in the browser: lounge, bar and dining table on baked light.

Unreal Engine 5 baked light first person phone

60 FPS on a laptop RTX 3050. Download by quality tier: low 9 MB, mobile 11 MB (this page), desktop 16 MB.

About 11 MB, loaded only when you press the button. Walk: W A S D or the arrow keys. Look: click the picture, then the mouse (or drag), R and F look up and down. Jump: Space. Floor plan at the bottom right: click a spot to go there. Menu: Esc.

How it was made

  1. The project. The Wabi Sabi Boutique Guesthouse interior of Unreal Engine 5.8 (Mint Studio), as it is: its meshes, materials and lights.
  2. Export. Ferret's Unreal exporter writes the level to glTF; the post-process step builds three quality tiers (low, mobile, desktop) with compressed textures and meshes cut to a triangle budget, plus a collision model for walking. The original uses Lumen and has no baked light, so the light is baked here into a grid of probes.
  3. Package. An ordinary Ferret level package (a manifest, scene.glb, collision.glb, the light probes); the packages are large binaries and live outside Git (see the README of the example).
  4. Embed. A small TypeScript game (examples/wabi-sabi): first-person movement, a loading screen with progress, a floor plan. The page picks the quality tier from the browser; this page carries the mobile tier.

Source: examples/wabi-sabi

Home interior#

An open-plan home (living room, dining area, kitchen) from Unreal Engine, walked in the browser on baked light.

Unreal Engine 4 baked light first person phone

60 FPS on a laptop RTX 3050. Download by quality tier: low 8 MB, mobile 9 MB (this page), desktop 26 MB.

About 9 MB, loaded only when you press the button. Walk: W A S D or the arrow keys. Look: click the picture, then the mouse (or drag), R and F look up and down. Jump: Space. Floor plan at the bottom right: click a spot to go there. Menu: Esc.

How it was made

  1. The project. The Home Interior scene of Unreal Engine 4.27 (Olga Chekunova), as it is: its meshes, materials and lights.
  2. Export. Ferret's Unreal exporter writes the level to glTF; the post-process step builds three quality tiers (low, mobile, desktop) with compressed textures and meshes cut to a triangle budget, plus a collision model for walking. The 4K textures are compressed to KTX2 and capped per tier.
  3. Package. An ordinary Ferret level package (a manifest, scene.glb, collision.glb, the light probes); the packages are large binaries and live outside Git (see the README of the example).
  4. Embed. A small TypeScript game (examples/home-interior): first-person movement, a loading screen with progress, a floor plan. The page picks the quality tier from the browser; this page carries the mobile tier.

Source: examples/home-interior

Games and machines#

The Hindenburg#

An airship of 245 m flying over a procedural zone of 100 by 100 km: mountains, forest, fields, lakes, herds of animals and a fortress, with a day and night cycle of two minutes. The physics is Ferret's: buoyancy, ballast, the helm, wind and the crash on impact.

physics procedural world day and night airship

About 16 MB, loaded only when you press the button; this page carries the light version. Engines: Z / X. Steer: W / S pitch, A / D heading (H: manual wheel). Valve: V. Ballast: B. Herd markers: G. Hold the clock: T. Time speed: , and . Esc: cover off. Drag to orbit, wheel to zoom. Fly low and the ship crashes on the ground.

Source: examples/zeppelin. Read more: examples/zeppelin/README.md, plans/PLAN-ZEPPELIN.md

A duel with a Dragon#

A Viking against a Crusader Knight on a 1200 by 1200 m field, while a Dragon breathes fire over them; everything is built from the asset library.

asset library combat AI flight

About 190 MB of models and animations, loaded only when you press the button; this page carries the mobile quality tier. Roles on the fly: 0 observer, 1 knight, 2 viking, 3 the Lady on the Dragon. Fighters: W A S D move, mouse looks, left button strikes (hold for the heavy blow), right button blocks, Space dodges, Shift runs. Dragon: W / S climb and dive, mouse or arrows steer, Space breathes fire, Q / Z speed.

Source: examples/fight. Read more: The combat guide

The school courtyard#

A castle courtyard made in Unreal Engine 5 and brought over by the export pipeline, walled in by collision built from the same scene; the exit door is the one piece of game logic.

Unreal Engine 5 first person cut-scene

About 50 MB, loaded only when you press the button; this page carries the light quality tier. Walk: W A S D or the arrow keys. Look: mouse. Jump: Space. Run: Shift. Use: E. Menu: Esc. Walk to the door in the gate to see the exit.

Source: examples/school-outside. Read more: The overview, examples/school-outside/README.md

A five-speed gearbox#

141 solid parts generated from one file of numbers, driven by Ferret's physics: shafts, gears, sleeves, forks, the crown, the planets and the oil move from the state of the machine.

physics generated model cutaway

About 19 MB, loaded only when you press the button. Engine: slider or Up / Down. Clutch: Space. Gear: N, 1 to 5, R or Left / Right. Brake: hold B (stop before reverse). Housing: slider or Esc. Drag to orbit, wheel to zoom.

Source: examples/gearbox. Read more: The gearbox guide