01 Changelog

Development history grouped by date. Most recent changes first.

March 11, 2026
// server
  • SSL/HTTPS Support — Game server now available over HTTPS (port 443) with a Let’s Encrypt certificate. WebSocket connections automatically upgrade to WSS on HTTPS. HTTP (port 80) remains available alongside HTTPS — no forced redirect.
// web client
  • VFX Stability Fixes — Fixed a crash in the EMP shockwave renderer where negative gradient radii caused a silent Canvas API error, breaking the entire render pipeline. Added safety guards to all radial gradient and ellipse calls.
  • Flamethrower Particle Density Restored — Particle pool now overwrites the oldest particle when full instead of dropping new ones, restoring full flame density during sustained fire.
  • Death Fade Improvement — Dying now triggers a fast fade to black (500ms) that hides the respawn teleport, followed by a slow reveal (2.5s) at the spawn point. Previously the slow linear fade exposed the map change mid-transition.
  • Entities Visible Through VFX — Enemies and other players now render on top of visual effects like flamethrower flames. A dark backing circle, character, and health ring arc are redrawn after the VFX layer so they remain readable during heavy combat effects.
  • Combo Counter Proximity Filter — Kill streak combo counter now only triggers for kills within 8 tiles of the local player, preventing bot kills across the map from showing combo text on your screen.
  • Server-Authoritative Movement — Replaced client-side movement prediction with server-authoritative interpolation. The player character now smoothly follows the server’s confirmed position instead of predicting ahead, completely eliminating drift, rubber banding, and position snapping on stop. Sprint movement is now perfectly smooth.
  • Server-Side Corner Assist — The server now automatically nudges players around corners when moving into a wall next to an opening. Makes navigating corridors and doorways feel smooth and natural without any client-side drift.
  • Diagonal Wall Sliding — Moving diagonally into a wall now slides along the walkable axis instead of stopping. Hold two movement keys while running along a wall and your character keeps moving instead of getting stuck.
  • Safe Zone Rendering Fixed — The green safe zone coloring near spawn is now properly rendered on both floor tiles and walls.
  • Gym Wall Colors — Gym area walls now use magma-red colors matching the biome theme instead of the previous green tint.
March 10, 2026
// server
  • Line-of-Sight Corner Fix — Fixed a Bresenham raycast bug where diagonal ray steps could slip between two diagonally-adjacent wall tiles, allowing projectiles and flame cones to pass through "closed" corners. Most noticeable in cold and ice tunnels with tight corridors. Fix applied to all four LOS checks: warehouse, tunnel, flame cone propagation, and web client VFX raycasting.
  • Weapon Class in Inventory — Equipment slots now track and display weaponClass (wrench, pipe, taser, nailgun) so players can see their weapon type in the inventory and equip UI.
// web client
  • Smooth Movement Rubber Banding Fix — Fixed multiple causes of rubber banding in the web client: idle drift correction no longer fires during brief gaps between keypresses (300ms grace period), enemy collision now clamps to tile edge instead of snapping to tile center, and movement is no longer throttled by overly aggressive drift correction while moving.
  • Demo Sandbox Fix — Demo mode sandbox tunnel no longer has an exit tile, preventing demo players from accidentally leaving the sandbox area.
  • Interactive Tutorial — 10-step guided tutorial for new players. Auto-starts on first login, also available via /tutorial chat command from the safe zone. Camera pans to key locations (enemies, tickets, vendor, tunnel gate), live VFX demos for Flamethrower and Arc Welder, multi-biome overview grid with labeled regions, and 7-second auto-advance between steps.
  • Screen Flash Overlays — Full-screen color flashes on gadget fire, player damage, crits, and kills. Red flash on taking damage, white flash on crit hits, warm flash on flamethrower ignition. Intensity and duration tuned per event type.
  • Enhanced Damage Numbers — Floating damage numbers now pop and scale based on damage amount, drift in the attack direction, stack when multiple hits land at the same position, wobble on crits with a glow outline, and fade out with easing.
  • Screen Shake — Camera shake on explosions, boss attacks, and heavy hits. Intensity scales with damage. Toggleable in Settings.
  • Combo Counter — Kill streak counter appears when chaining kills in quick succession. White text with gold glow, always visible above post-processing effects. Resets after a timeout between kills.
  • Player Damage Flinch — Player character flinches (2px offset for 80ms) when taking damage, giving immediate visual feedback.
  • Player Idle Breathing — Gentle scale pulse when the player stands still for more than 1 second. Subtle bob animation during movement.
  • Status Aura Glow — Colored glow rendered behind the player character when affected by status effects (burning, poisoned, frozen, etc.).
  • Weapon Trail Arcs — Melee weapons leave brief colored trail arcs on swing, matching the weapon class (wrench spark, pipe sweep, taser zap, nailgun flash).
  • Light Map System — Full per-tile light map computed each frame from multiple light sources. Each tile accumulates RGB light contributions with distance falloff. Modulates tile foreground colors via additive tinting for natural warm/cool lighting.
  • Warehouse Static Lights — Pre-cached light source positions for the warehouse map. Computed once on map load, applied every frame via the light map.
  • Tunnel Biome Lights — Per-biome light source placement with biome-appropriate colors (orange for magma, blue for ice, green for datastream, etc.). Cached per tunnel, invalidated on biome change.
  • Dancing Color Noise — Brogue-inspired subtle color variation on lit tiles. Uses a fast sine lookup table for per-tile hue/saturation shimmer that animates over time. Gives the world an organic, living feel.
  • Gadget & Weapon Dynamic Lights — Active gadgets emit real-time light: flamethrower casts orange, cryo casts blue, arc welder casts cyan, plasma casts purple. Light follows the projectile or cone and illuminates nearby tiles.
  • Floor Detail Variation — ~8% of floor tiles in the bright zone show subtle detail characters (cracks, dust, grime) based on deterministic position hashing. Adds visual texture without affecting gameplay.
  • Wall-Adjacent Debris — Small debris characters (dots, commas, semicolons) render at low opacity near wall edges. Biome-specific character sets (cave rubble, ice crystals, server dust, magma ash).
  • Animated Wall Textures — Magma biome walls pulse with lava glow. Flood biome walls shimmer with water reflections.
  • Warehouse Zone Coloring — Different warehouse areas (office, storage, dock, etc.) have subtle ambient color tints that blend into the lighting system.
  • Biome Decorations — Per-biome decorative elements placed on floor tiles: stalagmites in caves, ice crystals in cold biomes, server rack indicators in datastream, vine growth in flood.
  • Weather & Atmosphere — Per-biome atmospheric overlays: falling ash particles in magma, drifting snow in ice/cold, rain droplets in flood, digital noise in datastream, dust motes in cave/maint.
  • Bloom & Glow Post-Processing — Bright light sources and VFX emit a soft bloom glow. Configurable intensity. Toggleable in Settings.
  • Enemy Idle Animations — Enemies bob, sway, or pulse when idle based on their type. Gives life to stationary enemies instead of static characters.
  • Enemy Spawn Fade-In — Newly spawned enemies fade in with alpha animation over ~300ms instead of popping into existence.
  • Facing Direction Arrow — Green directional arrow renders beside the player showing current facing direction. Fades out 2 seconds after the last movement input.
  • CRT Post-Processing — Optional retro CRT scanline effect with subtle curvature and color fringing. Toggleable in Settings.
  • Shadow Casting — Walls cast directional shadows onto adjacent floor tiles based on a global light direction. Adds depth perception to the tile grid.
  • Enhanced Color Grading — Per-biome color grading applied as a final pass: warm tones for magma, cool blue for ice, green tint for datastream, desaturated for maint.
  • Depth of Field Blur — Gentle edge blur at screen borders simulates depth of field, drawing focus to the center of the viewport.
  • Parallax Background Layer — Subtle parallax scrolling on the background layer that moves slightly slower than the foreground, adding a sense of depth when the camera pans.
  • Glyph Sprite Cache — Each unique character+color combination is pre-rendered to a tiny offscreen canvas on first use, then stamped via drawImage instead of fillText for all subsequent frames. 5–10× faster per glyph, eliminating the #1 CPU bottleneck (~3200 calls per frame).
  • Auto-LOD Performance Scaling — Renderer automatically sheds visual features when frame times exceed thresholds: light bounces first, then decorations, enemy animations, weather overlays, and finally 3D walls. Recovers smoothly when headroom returns.
  • 3D Wall Rendering Optimization — Ambient occlusion reduced from per-pixel loops to 2-band approximation. South face lighting from 5 lookups to 2. Wall top lighting from 5 to 1. ~40% faster 3D wall rendering overall.
  • Math.sqrt Elimination — Replaced 8 Math.sqrt() calls in hot rendering loops with squared-distance linear approximations for fog blending, dim zones, torch lights, and AO alpha.
  • Scratch Object Pool — Reusable pool of light color objects in 3D wall rendering eliminates thousands of temporary allocations per frame, reducing garbage collection pressure.
  • Pre-baked Animated Colors — Magma and flood biome animated wall colors computed once per frame instead of per-tile. Cuts redundant trig calls from ~200 to 1.
  • Directional Arrows Above Blur — Tunnel entrance and party member indicator arrows now render above all post-processing effects (bloom, DoF blur, CRT, color grading) so they stay crisp and visible at screen edges.
March 9, 2026
// server
  • Gadget DPS Balance Pass — All gadgets rebalanced so sustained weapons (Flamethrower, Arc Welder, Acid Sprayer) have similar DPS within tiers. Acid Sprayer base damage reduced (now sustained hold-to-spray like Flamethrower). Plasma Whip damage increased. Railgun stamina cost halved (18 → 9) and cooldowns reduced 50% for burst-damage role.
  • Acid Sprayer — Sustained Spray — Acid Sprayer now works like the Flamethrower: hold the button to spray continuously instead of single shots.
  • Railgun — Snap-to-Target Aiming — Railgun beam now snaps to the nearest enemy within 5 tiles of your click. No more missed shots on off-diagonal targets. Line-of-sight still required.
  • Spark Pistol Range Increase — Chain range increased from 3 to 5 tiles to match Flamethrower reach.
  • Telnet Gateway — Rate Limiting — Added connection rate limiting (5 per IP per minute) and hard cap of 10 concurrent terminal sessions to prevent scanner bots from spawning hundreds of client processes and crashing the server.
  • Melee Cooldown System — Melee attacks now have per-weapon-class cooldowns: Wrench 0.8s, Pipe 1.0s, Taser 1.2s, Nail Gun 1.0s. Prevents melee from vastly out-DPSing gadgets at high levels.
  • Bump Attack — Walking into an enemy now triggers a melee attack automatically. Cooldown still applies. You can walk past enemies without attacking if you approach from the side.
  • Repair Drone Buff — Heal rate increased from 3% to 5% max HP per tick (78% total HP over 20 seconds).
  • Smoke Bomb Crash Fix — Fixed a server crash when all visible players were hidden by smoke (enemy aggro targeting returned null).
// web client
  • EMP & Cryo Oval Rendering — EMP and Cryo Nova VFX now render as ovals matching tile-space damage areas instead of screen-space circles. Cascade arcs, crystals, and ground frost all follow elliptical contours.
  • Smooth Cooldown Timers — Gadget, consumable, and relic cooldown timers now tick down smoothly in the HUD instead of updating in 900ms server-tick intervals. Independent 200ms ticker ensures timers always animate even during sustained fire.
  • Railgun Beam VFX Fix — Railgun beam now uses client-side timestamps to fix beam fade on remote connections. Floor lighting intensity decreases along beam length instead of uniform rectangle.
  • Acid Sprayer VFX — VFX reworked from green laser to a splashing cone with wavy streams, splatter blobs, drip trails, and impact fizz.
  • F Key = Melee Attack — F key now triggers melee attack (was help overlay). H key opens help. Matches terminal client keybinds.
  • Cooldown Bars — Color-coded cooldown bars now render below the player character for melee (F), gadgets (G/V), consumable (Q), and relic ability (Z).
  • Enemy Collision — Player now stops at enemy edges instead of sliding around them. Walk into an enemy to bump attack.
  • Inventory Equipment View — All 10 equipment slots now shown with dedicated rows (including empty slots). Slot column first. Inventory items sorted by highest stats. Set bonuses show equipped count and 2pc/3pc descriptions in C-key expansion.
  • HUD Equipment Labels — Gadget slots now show M1/M2 labels. Removed redundant armor line. Weapon shows F key label.
  • Consumable VFX — Repair Drone: green orbiting sparkles with rising heal numbers. Smoke Bomb: gray particle cloud anchored at cast position. Stim Pack: yellow speed streaks trailing the player.
  • Camera Cone Fog Masking — Surveillance camera detection cones now fade out at the edge of player visibility instead of rendering through fog of war across the entire map.
March 8, 2026
// server
  • Relic Rework — Active relic abilities (Blink teleport, Decoy, Overcharge, Temporal Anchor auto-revive). Player selects active ability via Z key in inventory. Relic evolution after 10 tunnel completions (+50% stats, -25% cooldown, new names). 5 relic synergies when owning specific pairs (Phase Trail, EMP Decoy, Undying, Salvage Surge, Tech Tycoon).
  • Set Visual Auras — Equipped 2pc sets show a subtle glow around the player. 3pc sets show a bright aura with color matching the set theme.
  • 9 New Item Sets — 6 gadget sets and 3 utility sets with unique 3pc bonuses: burning ground, freeze shatter, EMP chain, rail pierce, gravity pull items, glass cannon tradeoff, scavenger material drops, field medic party heal, nimble technician speed.
  • Elite Enemy Modifiers — Tunnel enemies can spawn as elite variants with enhanced HP/damage multipliers and improved AI.
  • Weapon Subtypes — Weapons now have distinct classes (wrench, pipe, taser, nailgun) with different attack patterns and ranges.
  • Forklift Overhaul — Forklift HP now scales by driver level (30 base + 30% per level). Critical HP warning at 30%.
  • Warehouse Enemy Fix — Enemies can no longer phase through walls during memory chase. Line-of-sight is re-verified every tick; enemies lose aggro when sight is broken.
  • Server Performance — Added per-connection message rate limiting (20 msgs/100ms) and batched state broadcasts (16ms dirty flag) to prevent bot spam from choking the server. CPU usage dropped from 91% to ~30% under load.
  • Connection Logging — Player connections logged with real IP address, character name, level, and time played. IP addresses are never shared in-game — used only for admin-level bans, user tracking, and security logging.
  • Bot Navigation Helper — Server state now includes a nav object with pre-computed coordinates for tunnel gate, vendor, exit, boss, nearest enemy, quest target, and relic shrine. AI bots no longer need to scan map tiles manually.
  • AI Test Bots — Programmed AI bots to do automated test runs across the game. Bot API reference published for rate limits, message types, and best practices.
  • Ticket System: In Review Status — New in_review status for QA workflow. Bots can post test results as comments and reassign tickets for human review.
// web client
  • Web Client Launch — Browser-based client connecting via WebSocket to the same game server. HTML5 canvas renderer with full game map, entities, health rings, and HUD. Dedicated Web Client page with technical details.
  • 3D Wall Rendering — Extruded 3D walls with perspective transform, directional face shading, and biome-colored lighting. Toggle with ` key or in Settings panel. Enabled by default.
  • Raytraced Light Bounce — Light hitting 3D wall faces bounces back onto adjacent floor tiles as colored glow puddles. Secondary bounce extends 2 tiles out. Toggleable in Settings panel.
  • Particle VFX Engine — Canvas-based particle system with 1200-particle pool and additive blending. Real fire, lightning, cryo crystals, gravity vortex, plasma trails, acid clouds, EMP rings. 14+ VFX types recreated with enhanced visuals.
  • Particle Wall Reflections — VFX particles bounce off walls with reflected velocity and spawn bright spark sub-particles instead of dying on contact. Toggleable in Settings panel.
  • Persistent Fog of War — Explored tiles now stay visible as a dim gray map outline after you move away. Three-zone visibility system: bright center, smooth color-blended dim ring, and fading fog edge. Undiscovered areas remain black. Discovery resets per tunnel/warehouse.
  • Smooth Movement — Sub-tile float positions with tile-center collision, corner-cut prevention, corner rounding, and position freeze during death fade. Mouse-look rotation with 8-direction diagonal movement.
  • Weapon VFX — Flame cone respects walls via Bresenham LOS. Wall impact coloring. White-hot core sparks, heat shimmer, ember flicker, smoke. Arc welder idle vs active bolts.
  • Mouse Input — Left click fires gadget 1, right click fires gadget 2. Hold for continuous fire. Crosshair cursor. Simultaneous movement + weapon fire.
  • Inventory & Shop — Full inventory overlay with item color coding, C-key detail expansion, filter tabs, gear stacking, equipped slot display. Shop with buy/sell/craft modes. Fixed-size 720×520px containers.
  • Chat & Look Mode — In-browser chat with Enter key. L-key look mode with cursor movement and tile descriptions.
  • Party Overlay — Full party overlay with Tab to invite, W/S scroll, X to kick/leave. Y/N keys for party and tunnel invites. Persistent party HUD bar.
  • Settings Panel — Top-right Settings button with toggles for 3D Walls, Quality, Particles, Screen Effects, Screen Shake, Dynamic Lighting, Damage Numbers, GPU Particles, Light Bounce (RT), and Particle Bounce. All settings persist to localStorage.
  • Death Fade Effect — Screen fades to black over 3 seconds with "YOU DIED" message, then fades back in at spawn.
  • Tunnel Entrance Warp VFX — Entering a tunnel triggers a dramatic 2-second effect: center flash, expanding energy ring, radial speed lines, and settling vignette glow.
  • Boss Telegraph Cracks — Telegraph tiles show red/orange ground crack lines with glow effect, pulsing background, and rising warning symbols.
  • Torch Ambient Light — Biome-modulated radial gradient with dual sine wave flicker and additive blending for warm, natural lighting.
  • Biome Picker Overlay — Proper center-screen overlay for biome selection. W/S scroll, Enter to select, Esc to cancel, 1-9 quick select. Shows locked biomes by level.
  • Ticket Overlay Overhaul — Full table layout with column headers, colour-coded tiers, W/S scrolling, C-key detail expansion with progress bars.
  • Arrow Indicators — Green directional arrows for party members. Yellow arrow pointing to tunnel entrance in warehouse.
  • Help Screen & Scoreboard — Comprehensive keybinding reference. Scoreboard overlay ([ key) with live top 20 leaderboard.
  • Login Page Overhaul — Block-character ENCORO IT ASCII banner with animated cyan color-wave and sparkle effect.
  • Demo Mode Rework — Demo mode now connects to the real game server with a custom sandbox tunnel. Full VFX and game mechanics available.
  • Particle LOD System — Particle system auto-reduces spawn rates when FPS drops below 18. Scales from 100% to 25% to maintain performance.
  • Biome Hazard Popups — Tunnel entry shows hazard warning popup with icons and descriptions. Auto-dismisses after 5 seconds.
  • Enemy LoS — Enemies require line-of-sight to chase. Bresenham raycasting prevents wall phasing.
// wiki & infrastructure
  • Multi-Page Wiki — Complete wiki overhaul with 11 pages: items, combat, tunnels, progression, relics, sets, scoreboard, changelog. Shared CSS, sticky nav bar, live scoreboard.
  • Wiki Restructure — Homepage streamlined to system notice + server stats. Play Now moved to dedicated Play page.
  • Web Client Wiki Page — New dedicated Web Client page with technical breakdown, feature overview, and future roadmap.
  • Bot API Reference — New BOT_API.md with connection info, rate limits, message types, nav helper docs, tile reference, ticket API, and QA workflow.
  • Git Repository Restructure — Wiki files moved into repo as www/ subdirectory with nginx symlink. Player saves excluded from version control.
March 7, 2026
  • Inventory & Shop UI Overhaul — Table layout with columns for Name, Stats, Slot, Set, Qty. Gear stacking groups identical items. Item name color coding (set=light blue, Mk.III=purple, Mk.II=yellow). Filter tabs (ALL, UPGRADES, WEAPONS, ARMOR, GADGETS, ITEMS, MATERIALS, RELICS). Paginated rendering for performance.
  • Stamina & Combat Rebalance — Walking is free, sprint costs 3 stam per 2-tile move, melee costs 2 stam, gadgets cost 6-18 stam. Melee retaliation (enemies strike back once on approach). Sprint toggle (B key). Quick-use consumable slot (Q key). Level-scaled shop pricing. Gold drops from warehouse kills. Gadget cooldown reduction (~25%).
  • Setpiece Rooms — 25 hand-crafted room templates stamped into tunnels. 2-4 loot items per room (70% gear, 30% materials). BFS validation ensures rooms never break path connectivity. Fog-of-war wall texturing.
  • Pre-Boss Corridor — Barrier gate before boss arena. 2-5 waves of corridor enemies. Each biome has unique environmental effects during the fight (cave-ins, flash freeze, eruptions, etc.). All enemies must die to unlock the boss arena.
  • Relic Shrines — 12 relics across 3 tiers (Lv10/30/60). Pulsing shrine tile in tunnel mid-section. Choice overlay offers 3 unowned relics. Relics are permanent and persist across runs.
  • Salvage & Crafting — Salvage gear for 3 material types (Scrap, Wire, Circuit). 10 crafting recipes in vendor Craft tab. Tier-based salvage yields with affix bonuses.
  • Equipment Set Bonuses — 6 equipment sets with 2pc/3pc thresholds. Set items render in light blue. Set piece indicators show equipped/owned status.
  • Item Affixes — Gear drops can roll prefix/suffix modifiers (Sharp, Heavy, Overclocked, of Precision, etc.). Tier-based chance scaling from 30% at T1 up to 100% at T7+.
  • Quest System Overhaul — Ticket chains with branching choices. Persistent work markers. Zone reputation system with vendor discounts per tier.
  • Boss Telegraph Lanes — 1-second warning with pulsing red ! tiles before boss attacks. Cone and AOE telegraph patterns.
  • Telemetry Persistence — Game telemetry data now persists across server restarts.
March 6, 2026
  • 6 Tunnel Generation Algorithms — Snake, DFS maze, Hybrid, Cellular Automata, BSP rooms, and Drunkard's Walk. Each biome has weighted probabilities for algorithm selection.
  • Wall Texturing — Unicode block characters replace flat # walls. Per-biome textures and fog-of-war dim zone rendering.
  • Acid Sprayer Gadget — New gadget with corrode debuff (+25-35% damage amplification). 3 tiers. Elemental combo system with flame and cryo interactions.
  • Tunnel Hazard Tiles — Spikes, pressure plates, laser tripwires, ice floors, collapsing floors, alarm tiles, water tiles, conveyors. Biome-specific hazard distribution.
  • Locked Door Puzzle — Keycards and locked doors with BFS-verified path blocking. Door reverts if alternate route exists.
  • Look Mode — L key inspection cursor with smart snap to enemies, items, doors, relics. Detail popup shows stats and descriptions. POI labels and status bar tracking.
  • Help Overlay Redesign — Wider layout documenting all controls, look mode, and game symbols.
  • Warehouse Enemy Respawn — Normal enemies respawn after 2 minutes, bosses after 5 minutes.
  • Biome Picker — Overlay for selecting tunnel biome before entry. Biomes unlock by player level.
  • Boss Ability Upgrades — Improved boss attack patterns, telegraphs, and biome-specific abilities.
  • Log Channel Filtering — C key cycles through log channels (All, Combat, Quest, Party, World). System alerts always visible regardless of filter.
  • Ghost & Ambient Narrative — Atmospheric narrative events triggered by zone and boss encounters. Ambient chatter with combat suppression. Biome-specific tone (atmospheric in dangerous areas, comedic IT in mundane zones).
  • Boss Intro Cards — Modal overlay when encountering a boss for the first time. Shows boss name, biome, and tactical hint. Skip-after-first-seen per boss type.
  • Biome Mood Palettes — Per-biome color profiles for walls, floors, and fog-of-war. Contrast-safe xterm-256color palette adjustments.
  • Tutorial System — 9-step interactive tutorial for new players. Auto-starts on first character. /tutorial chat command to restart.
March 5, 2026
  • Initial Release — Warehouse map, combat system, vendor shop, ticket/quest system, tunnel generation with boss fights, multiplayer TCP server, blessed terminal client, telnet gateway.