Skip to content
William Caine edited this page Apr 12, 2024 · 10 revisions

Infinity Engine - SDK7

Welcome to the InfinityEngine-2 wiki.

Please see the sidebar to the right for the full list of pages.

Please note this is a work in progress.

Quick links

Terminology

Term Desc
Avatar Swap Hide the default DCL avatar and replace with a custom model.
Avatar Trap Holds the DCL avatar in place so Infinity Engine can move scene around
CannonJS Physics engine used: https://github.com/schteppe/cannon.js
Infinity Engine - Code Collecting of Code that makes the Infinity Engine possible.
Infinity Engine - Concept DCL scenes have fixed boundaries, putting limits on how big a scene can be. Avatar controls today are somewhat limited. The Infinity Engine adds flexibility to the basic DCL scene boundaries and Avatar controls for a more immersive scene experience.
SkyBox Hide the default DCL skybox and surround scene with a custom one
Spacial Partition To optimize managing a large number of objects we break them down into smaller chunks. Read more about the concept here: https://gameprogrammingpatterns.com/spatial-partition.html
World Vehicle The vehicle that represents the player in the Infinity Engine Scene

Tools used

Tool Desc
Blender Used to create models and run plugins described below https://www.blender.org
CannonJS Physic engine. See docs here for more details https://github.com/schteppe/cannon.js
DCL Cannon Collider Blender Plugin. Reads meshes and generates cannon colliders with some physics. See docs here more more details: https://github.com/stom66/blender-dcltk-cannon-colliders
DCL Scene Slicer Blender Plugin. Slices a large scene into tiles to be rendered by Infinity Engine. See docs here for more details: https://github.com/stom66/blender-dcltk-scene-slicer
Skybox Image Generator Generates 360 degree skyboxes https://skybox.blockadelabs.com/

Repository folder structure

Folder Desc
src/modules/avatar Handles avatar swap logic
src/modules/avatarTrap Handles avatar trap. When Infinity Engine is active we must hold the player in center of scene and move the world around the player
src/modules/cannon-colliders Utilites for processing colliders from https://github.com/stom66/blender-dcltk-cannon-colliders
src/modules/scene-slicer Utilities for processing tilesets from https://github.com/stom66/blender-dcltk-scene-slicer
src/modules/skybox Generates skyboxes
src/modules/spacePartition Utility to generate spacial partitioning
src/terrain Utils around terrain generation spacial grid + colliders
src/ui 2D UI setup here
src/world Much of the Infinity Engine logic