Packages
The repository ships 60 packages under packages/. A package is a Rust crate that
adds components, systems and script commands to the engine; see
Custom Rust Components & Packages for how they work and how to write one.
Each page below is generated from the package itself: its registrations are read from the source, and its prose is the package’s README or crate doc.
Built-in packages
Section titled “Built-in packages”Linked into the stock native runtime, web build and editor viewport. A project switches them with
settings.enabled_packages.
| Package | What it is | Script namespace | Components |
|---|---|---|---|
| jengine-audio | Audio package for jEngine — kira-based sound effects and music | - | 1 |
| jengine-parallax | Parallax scrolling background package for jEngine — multi-layer depth-based scrolling | Parallax | 1 |
| jengine-particles | Particle system package for jEngine — 2D particle emitters and simulation | - | 1 |
| jengine-physics | Physics package for jEngine — rapier2d-based rigid body physics | - | 4 |
| jengine-swarm | Flocking / swarm AI for jEngine - spatial-grid boids that scale to thousands of entities | - | 2 |
Project packages
Section titled “Project packages”Linked only into the builds of a project that lists them in project.jengine’s "packages" array.
Most were written for a game in projects/arcade-classics and are reusable on their own.
| Package | What it is | Script namespace | Components |
|---|---|---|---|
| jengine-adventure | Point-and-click adventure - verbs, rooms that remember, and a game proved winnable from every state it can reach | Adventure | 1 |
| jengine-blast | Bomberman - a destructible grid, blasts that chain, and a map that can be refused for trapping somebody | Blast | 1 |
| jengine-blob | Soft bodies that split and join: Quiver Pond | Blob | 1 |
| jengine-borough | A living town: villagers with needs, skills and moods who pick their own work by priority, buildings and work orders, hauling and trade done by the people, districts bought or conquered, and a storyteller that writes the town’s chronicle | Borough | 1 |
| jengine-brawler | A beat-em-up: a floor where y is depth, attacks that must line up in it, grabs and throws, weapons, and a crowd that surrounds rather than queueing | Brawler | 1 |
| jengine-burnline | You are the missile: steer through a neon maze to the target before the fuel runs out, and every missile you lost flies again beside the next | Burnline | 1 |
| jengine-cards | Deckbuilding roguelike: data-driven cards, enemy intents, statuses, a run map with rewards, rests and shops | Cards | 1 |
| jengine-chase | A maze chase: four pursuers that each pick a different tile to aim at, scatter and chase waves, and the cornering that makes a maze feel like one | Chase | 1 |
| jengine-city | A city builder - zones that grow by demand, power and water networks, traffic, land value, a budget and disasters | City | 1 |
| jengine-crawler | A first-person grid dungeon crawler: stepwise movement, a view assembled from depth slices, doors and levers, traps, and fights fought from the front rank | Crawler | 1 |
| jengine-derby | Destruction derby: cars with tyre forces, torque curves and gearboxes in the package’s own rapier world, damage by zone (corners, sides, engine, each tyre), and bots that ram | Derby | 1 |
| jengine-dungeon | Dungeon crawling: level generation, field of view, turn-based combat, items, monster AI | Dungeon | 1 |
| jengine-fighter | A fighting game: frame data as data tables, hit and hurt boxes, an input buffer with motion inputs, and a deterministic match that runs on frames | Fighter | 1 |
| jengine-glass | A light puzzle scored by the renderer’s own light, and Vesper Glass | Glass | 1 |
| jengine-goldbox | A party of six across three packages - the first package here that depends on another | Goldbox | 1 |
| jengine-grid | Grid games: a self-drawing cell board with layouts, and a snake that steps on it | Grid | 4 |
| jengine-gunner | A top-down run-and-gun: a battlefield that scrolls under you, aim decoupled from movement, grenades that arc over cover, and prisoners worth going back for | Gunner | 3 |
| jengine-homestead | A homestead’s rules as plain data: a plot to till, plant and build on, crops grown from timestamps (offline included), inventory and crafting, resource nodes that respawn on a clock, and a community project everyone builds | - | 0 |
| jengine-horde | A four-player arcade dungeon: hundreds of chasers following flow fields, generators that must be broken, and health that drains all the while | Horde | 2 |
| jengine-idle | An idle game: generators and upgrades as data, a prestige that trades the run for a bonus, and offline progress from the wall clock | Idle | 1 |
| jengine-kotoba | Word tiles: kana placed one at a time where they make a word, read across or down - a timed puzzle, a real-time word battle with combos, a bot, and a Japanese dictionary with meanings | Kotoba | 2 |
| jengine-lantern | Torch-lit descent - darkness as the mechanic, gameplay light sampled from the same model the renderer draws | Lantern | 1 |
| jengine-launcher | A physics launcher: materials, ammo and levels as data, structures built as real bodies, and damage from the impulse of a contact | Launcher | 1 |
| jengine-lockstep | Two-player lockstep turns over jengine-relay, and Two Shores (Reversi) on top | Lockstep | 1 |
| jengine-market | An order-book market - limit and market orders, price-time matching, escrow, NPC producers and consumers, price history - the economy of Saltwind | - | 0 |
| jengine-microgame | WarioWare-style microgame compilation - a queue, a countdown, a speed that ramps, and a one-call verdict contract | Microgame | 1 |
| jengine-net | WebSocket transport, connection lifecycle and a script-reachable message bus | Net | 0 |
| jengine-online | A game’s side of jengine-server: sign in, join rooms, and show synced entities | Online | 2 |
| jengine-paddleball | Paddle-and-ball arcade physics: swept ball collision, paddle deflection, input and AI paddles | Paddleball | 4 |
| jengine-paint | Paint by numbers three ways - pixel, zones and picross - and Little Easel | Paint | 1 |
| jengine-pinball | A pinball table: the ball is a real rapier body with continuous collision, the flippers are kinematic transforms, and the table’s outline is checked closed before a ball is ever released | Pinball | 1 |
| jengine-platformer | Platformers: hero feel (coyote time, jump buffering, wall jumps, dash) and level parts on the engine’s character controller | Platformer | 9 |
| jengine-racing | Top-down racing: a track spline that answers where you are and how sharp the next bend is, a car that slides, drivers that follow the line, and ghosts replayed from recorded input | Racing | 1 |
| jengine-rally | Point-to-point rally stages: seeded stages checked drivable, pace notes read off the geometry, damage between services, and ghosts recorded as input that replay bit for bit | Rally | 1 |
| jengine-rampart | Wave defence where the searchlight is the targeting - one light set read by the shader and by the game | Rampart | 1 |
| jengine-realm | An Ultima-style realm: a world of linked maps, a clock the people live by, conversation you type at, and tactical grid combat | Realm | 1 |
| jengine-rhythm | Rhythm games: a beat clock locked to the music, note charts from data tables, hit windows, holds and scoring | Rhythm | 1 |
| jengine-rig | A vehicle as a chassis and wheels joined by motorised revolute joints, on terrain built from thick convex quads | Rig | 1 |
| jengine-route | Pointer-drawn routes flown by the engine’s steering components, and Crosswind (air-traffic landing) | Route | 1 |
| jengine-rpg | Monster-collecting RPG: grid overworld, NPCs, tall-grass encounters, turn-based battles | Rpg | 4 |
| jengine-rts | A real-time strategy game: one flow field per destination, orders, fog of war, production queues and an opponent | Rts | 1 |
| jengine-runner | An endless runner: chunks as ASCII drawings in data tables, a difficulty that follows the distance, and a grid-exact character | Runner | 1 |
| jengine-scaler | Pseudo-3D sprite scaler - a road bent at projection time, and a hill that hides the road behind it | Scaler | 1 |
| jengine-settlement | A world you dig and build in - tile edits as the main verb, support that collapses, and growth that settles on change rather than per frame | Settlement | 1 |
| jengine-shooter | Space-shooter mechanics: a wrapping field, inertial ships, shots, splitting rocks, saucers and an AI pilot | Shooter | 12 |
| jengine-skills | An isekai-style skill system - skills learned by use, levelled, evolved and fused, chanted spells, unique skills - as data tables; the rules of Reborn in Lumeria | - | 0 |
| jengine-solitaire | Klondike, FreeCell and Spider with deals proved winnable, and Green Baize | Solitaire | 1 |
| jengine-stand | A lemonade stand’s economy, simulated a day at a time, and Lemon Row (a management sim played entirely in entity UI) | Stand | 1 |
| jengine-stealth | Guards who see in cones and hear in circles, alert states that decay, and a level whose line of sight is exact because the grid is the map | Stealth | 2 |
| jengine-sudoku | Sudoku under six rules - generated with one answer, graded by the logic a person uses - and Ninefold | Sudoku | 1 |
| jengine-tanks | Toy tanks: shells that ricochet off walls, mines that blow cork, tanks that aim by the rebound and dodge, a campaign of missions each proved by a bot, and versus rounds - one fixed-step sim for a local game and a server room | Tanks | 1 |
| jengine-tap | Tapping games for more than one finger: Burrow Bop and Ivory Lanes | Tap | 2 |
| jengine-td | Tower defense: a maze the player builds, waves that path around it with the engine’s tilemap A*, towers and upgrades; or fixed roads with soldiers, a hero and spells | Td | 2 |
| jengine-tide | A survivors-like: thousands of enemies simulated in flat arrays over the engine’s shared broadphase, weapons that fire on their own clocks, and a level-up draft that can never offer nothing | Tide | 2 |
| jengine-walker | A creature that walks on legs it places itself, and Stilt Fen | Walker | 1 |