make3d
    Preparing search index...

    make3d

    make3d

    make3d is a lightweight framework for building 3D WebGL games in JavaScript, built on top of Three.js.

    It focuses on providing game-oriented primitives (levels, players, NPCs, physics helpers, input, rendering utilities), while leaving scene hierarchy and lifecycle management to Three.js itself.

    • efficient, mobile-friendly rendering (Three.js)
    • ready-to-use game abstractions (Level, Player, NPC)
    • simple physics integration (powered by check2d)
    • input, camera, rendering, and debug utilities included
    • minimal structure, low abstraction overhead

    👉 https://nenjack.github.io/make3d/demo/


    import { Level, Player, NPC } from 'make3d'

    Level.create().then(async (level) => {
    await Player.create(level)

    Array.from({ length: 50 }, () => new NPC({ level, ...Player.DEFAULT_PROPS }))
    })

    make3d relies on Three.js for scene hierarchy and object lifecycle, instead of introducing a separate entity system.

    • Scene graph and transforms are managed by Three.js
    • Game logic is built around Level, Player, and NPC
    • Utilities are exposed as composable modules, not enforced patterns

    make3d exposes a focused set of modules, grouped by responsibility:

    • AbstractLevel – base class for custom levels
    • Level – main game level abstraction
    • Renderer – Three.js renderer wrapper
    • Camera – camera helper
    • BoxMesh – basic mesh helper
    • Sprite – sprite helper
    • Skybox – skybox utility
    • Ocean – ocean / water surface
    • Billboard – camera-facing objects
    • Player – player entity
    • NPC – non-player character
    • DynamicBody – movable physics body
    • StaticBody – static physics body
    • AbstractBody – base physics body
    • physics – shared physics instance (powered by check2d)
    • Mouse – mouse input handler
    • mouse – shared mouse instance
    • state – shared state container
    • Events – event bus
    • Loader – asset loader
    • TextureUtils – texture helpers
    • Debug – debug helpers
    • DeviceDetector – device detection
    • getQueryParams – get query params from current url


    yarn add make3d
    

    MIT