Cubo Fortress

Cubo Fortress

Release Notes

Available servers:

Versionv0.2.0
v0.2.0 - First network code

First network code

Released on July 31, 2026

  • first network code to play game with many players
  • players can see each other and their interactions with world
  • more instruments to build map
  • optimization for draw calls that allows render map up to 500k cubes (or 100k cubes for slow machines)
Versionv0.1.10
v0.1.10 - Small fixes before major release

Small fixes before major release

Released on July 31, 2026

  • updates for map gorge
  • fixed cors in prod environment
  • drop key moves when game loses pointer lock
  • editable option for mouse sensitivity
  • fix camera bug with broken gravitation
  • autoconnect works only with env VITE_AUTOCONNECT (dev environment)
  • release number in game
Versionv0.1.9
v0.1.9 - Camera improves and fixes

Camera improves and fixes

Released on July 16, 2026

  • now speed smoothly changes by time, not by every tick (removed difference between 120fps and 60fps monitors)
  • acceleration during fall (speed for axis Y not constant now)
  • prevent camera twitching close to walls on low speed like 0.0005
  • simple jump on space button
  • autojump if player moves toward to one block that have free space behind on axis Y
  • sensitivity is editable now
  • smooth collisions with other players
Versionv0.1.8
v0.1.8 - Instruments for map (invisible walls)

Instruments for map (invisible walls)

Released on July 1, 2026

  • write first docs about 1) code and architecture, 2) how to make maps, 3) manual tests, 4) performance hints
  • auto build and auto destroy blocks while mouse button is pressed
  • as hint show selected block to build for 1 second
  • invisible wall to prevent user fly of from the map (in creative mode you can hide it with button P)
  • invisible wall to protect spawn from enemy team
  • texture smoothing
  • fixed bug with camera twitches
Versionv0.1.7
v0.1.7 - Optimization with instanced rendering

Optimization with instanced rendering

Released on June 23, 2026

  • optimize work with webGL. Previously every cube had a personal model with data and triggered draw call in webGL (1000 cubes = 1000 draw calls). Now every model has a logic to render many cubes with instancedRender (1 draw call = 1000 cubes)
  • current limit for maps is 500k-600k cubes when latest result was a 3k cubes only
  • models lost all logic about render through webGL and it simplified a lot. Model register their visual render in separate new abstraction - renderer
  • renderer - new abstraction. It rules webGL render operations and the way how to optimize draw calls
  • moved almost all webGL specific logic to renderer
  • in renderer each Drawer contains chunk of matrices to render (1 Drawer for 1k elements)
  • separate drawer for aabb outline cube
Versionv0.1.6
v0.1.6 - Menu to select instance and local maps for editing

Menu to select instance and local maps for editing

Released on June 9, 2026

  • user can see list of available instance (one instance per one map) and select where to join
  • in dev environment server can store a lot of maps available for editing (in local folder)
  • server automatically save all changes to maps in local folder
Versionv0.1.5
v0.1.5 - Server check collisions with other players

Server check collisions with other players

Released on June 5, 2026

  • server can check if player move is consistent and forcely move him in last position if has collision (in terms of server data which is the most consistent) with other enemy player
  • player positions sends as one event and server can control frequency (right now it's just every 16.6ms or 60fps)
  • all static nodes now live objects-static and scene knows less about it internal logic
  • ISceneNode now has only one method Tick to get triggered each frame (not Render because it could be not model inside)
  • scene.ts simplified a lot. Now it knows about players and objectsStatic, which logic hidden in their code modules and provide just a Tick method
Versionv0.1.4
v0.1.4 - First bots to test network delays

First bots to test network delays

Released on June 2, 2026

  • first bots. This type of bots supposed to help with debugging network delays and how players see it
Versionv0.1.3
v0.1.3 - Player can see other player moves

Player can see other player moves

Released on May 29, 2026

  • every player can see other players and their moves on map
  • camera united to one code module
  • moved 3d-model logic to new abstraction - models. Scene-nodes supposed to be smart objects with own state, but models are just models to make 3d render
  • player (playerMe) now is part of smart scene-nodes
  • now game has blu and red team, server decide which team player will join
  • separate spawns for different teams
  • now camera is a single code module which can change mode of camera
Versionv0.1.2
v0.1.2 - Players can see how other player interact with map

Players can see how other player interact with map

Released on May 18, 2026

  • player send events addNode/removeNode to server
  • if there's no problem with adding node, server sending response and only then client drawing or removing cube on his side
  • map with sceneNodes now lives in server memory, changes dont disappear after client restart
  • map minimization for fast send to client
Versionv0.1.1
v0.1.1 - Server sharing map with many clients

Server sharing map with many clients

Released on May 6, 2026

  • client connecting to server with websocket
  • server sharing current state of map to every client
  • each client knows about other connected cliens
  • player can write unique name
Versionv0.1.0
v0.1.0 - First milestone - now game enough convenient to build maps as a player

First milestone - now game enough convenient to build maps as a player

Released on April 23, 2026

  • fixed floating user cursor
  • outline edges for interacting cube
  • more useful info about delays in stats
  • 3 modes for stats show
  • easy optimization with groupping nodes by same glProgram (it's enough for current maps)
  • github pipelines and autodeploy
Versionv0.0.12
v0.0.12 - webGL text render

webGL text render

Released on April 17, 2026

  • text-ui-renderer for render text in 2d space
  • text-geometry-renderer for render text in 3d space (not used now)
Versionv0.0.11
v0.0.11 - First ui with settings

First ui with settings

Released on April 15, 2026

  • settings in web (resolution, fullscreen, webGL/webGPU choice)
Versionv0.0.10
v0.0.10 - Player can build blocks

Player can build blocks

Released on April 9, 2026

  • user can build blocks
  • also, user can select what kind of block he want to build
Versionv0.0.9
v0.0.9 - Player interacts with world (remove objects)

Player interacts with world (remove objects)

Released on April 3, 2026

  • now player can destroy objects in 3d space by mouse click
Versionv0.0.8
v0.0.8 - AABB for camera player

AABB for camera player

Released on March 30, 2026

  • AABB collision checks for camera player
  • gravitation for player
Versionv0.0.7
v0.0.7 - AABB for camera, prevents fly through textures

AABB for camera, prevents fly through textures

Released on March 30, 2026

  • simple AABB for plain camera
Versionv0.0.6
v0.0.6 - inertia for camera

inertia for camera

Released on March 19, 2026

  • added inertia for camera
Versionv0.0.5
v0.0.5 - smooth moves

smooth moves

Released on March 16, 2026

  • smooth moves for wasd
  • smooth moves for mouse
  • load map by keyboard combination (removed hardcode button to do this)
Versionv0.0.4
v0.0.4 - Texture quality

Texture quality

Released on March 11, 2026

  • no smooth and repeat for textures
Versionv0.0.3
v0.0.3 - Export/import map, many textures for cubes

Export/import map, many textures for cubes

Released on March 10, 2026

  • functionality to import/export maps
  • different textures for cubes
Versionv0.0.2
v0.0.2 - Scene and many cubes

Scene and many cubes

Released on February 22, 2026

many cubes on scene

Versionv0.0.1
v0.0.1 - Camera

Camera

Released on February 13, 2026

Now app has camera, that can move around a cube

Versionv0.0.0
v0.0.0 - Started project

Started project

Released on January 25, 2026

Nothing but git repository init