May 22, 2026
Build
desktop.glb and "Foliage:" "Collisions:" models & refactoring area streaming completely
- desktop.glb center base now located at 0,0,0 and added a desktopCoords.glb to print coordinates
- Refactored areaConfig to organize models by "Foliage" to be transparent and "Collisions" to have octree collision. All materials get the same properties
- Streaming: area load / unload optimizations
- Last used computer is stored using a similar player id fingerprint as the scoreboard
- Attempted to fix loading issues when tested on Lunas work laptop. I think it worked?
- Added supplemental desktops and their own html page, each with their own unique flower texture
May 21, 2026
Build
AreaConfig
- Locations and spaces are now organized by areas which define the systems (water, enemies, doors) the lighting, and soon the noise. The computers will simply call these areas to load.
- areTiggers.glb that will print the coordinates to be pasted for each area.
May 20, 2026
Build
Collapse button and loading gif
- Smoother scrolling when loading registry is collapsed
- Loading disc gif added
- Inset borders resized to be proportional to the desktop borders
- fixed current loading model from staying in the bar after being loaded
May 18, 2026
Build
Lowered camera
- Reverted back to default walking, double tap aswd to run. Need to find a better way to run, but to begin the game walking in a small room is a nicer progression.
- lowered the camera so the eyes should match player model when viewed in mirror.
May 16, 2026
Build
iframe dom moving and resizing fixed and desktop click
- iframe was moving around when the screne was resized, very noticable on mobile
- screen click now raycasts and hits the whole desktop.glb
May 16, 2026
Build
Desktop.glb
- screen.glb is now a part of desktop.glb and are positioned in the world with coordintates
May 15, 2026
Build
Ocean
- Added animated ocean shader using https://github.com/Nugget8/Three.js-Ocean-Scene
May 13, 2026
Build
Transparency textures now MeshLambert
- Could not fix the mouse sensitivity on safari
- The light sheen on the transparency model's textures fixed by swapping to MeshLambert
May 12, 2026
Optimize
Draw cell cutdown
- iframe on the screen.glb optimized, when the iframe is on the screen.glb (iframe DOM) the resolution is lowered to 640x400 and the css gets injected to fix the layout of the screen items.
- When falling out of bounds into the void the player still has 40 draw calls even with nothing around. Asked AI to find the problem and it came back with issues with bloom.
- Bloom effects only exist when the player is being revived
- Desktop animation optimized
May 11, 2026
Build
Projectiles push objects
- Joining the chair.glb model causes the "seat" and the "base" to no longer rotate differently.
- Projectiles have force that pushes objects like the chair
Website
Index buttons styling
- Reworked index buttons to appear like the enter and save buttons. Preparing for the new scoreboard layout to only be on index.html
May 9, 2026
Build
Added initial angle parameter for doors and projectile force
- New parameter for doors perpendcular or any angle for the door to be loaded in initally
- Elevator doors break and open to one side due to being joined with the npx gltf-join
- Added a force from the projectiles to push the chair around but this caused collision with invisible geometry directly infront of the first door. NEED TO ADD AGAIN LATER
Model
Shifted office spaces
- Shifted all office spaces to both contain a part of the column. Might need to adjust office depth to reveal more column. Or might remove cubicals because Im already lagging.
May 8, 2026
Build
Mirror reflects only bathroom.glb
- Changed the mirror to only reflect bathroom.glb, doorStall.glb, playerModel.glb and playerHead.glb in hopes to make it more efficient.
- Added a "mirror" parameter for the door models on load
Model
New bathroom layout and bathroom.glb
- New restroom layout. Criteria: Mirror reflection does not have an angle that shows office.glb. The mens and womans restroom doors are positioned facing each othe. And when the player first opens the restroom door they do not immedietly see a column but only the restroom tiles.
May 7, 2026
Build
Stall doors, mirror.js, lights, cursor and chair.js
- Add 3 stall doors and added door angle adjustment on load. Setup last night with the hinge.glb works great
- Added mirror.js which finds the mirror.glb and creates a mirror in the scene using Reflector.js. Only reflects collision-world.glb, playerModel.glb and playerHead.glb (a separate head model that only shows in reflection)
- Added two more ambient lights for the top and bottom of geometry. Ambient light set to 1. When at 3 it looks good but it washes out the differenciation from the other veritcal directional lights
- Cursor fixes when in iframe
- Chairs collide with the player and momentum from the player is transferred to the chair, so it is pushed. Chair.glb is exported as two groups, Seat and Base. Base has a yaw rotation of 30% the yaw rotation of the Seat. The glb's bottom of the center point is exported at 0,0,0. Add chairCoords.glb and the console will print the coords which you can copy in the GSM.
- To fix the lag there is now a .ps1 file that I run by .\gltf-join-all.ps1 in the terminal
- ALOT of lag when initally walking around in the world is fixed when I separated the collision-world and the office to their own glbs. I have high hopes for when I can separate all models
May 6, 2026
Model
Staircase
- Staircase modeling and guardrail
Build
Door Loader Changes
- Major issues with doors not finding the correct pivot point because the bounding box of different doors are different due to different sized handles. Changed approach to specifying the pivot point of a door. Added a pivotpointDebug
- Continued reworking door.js and now the door glbs center pivot point is placed at 0,0,0 in the world coordinates. The door and pivot points are placed at the hardcoded position defined on load in GSM. To find the correct coordinates place the hinge model and the console will print its center coordinates
May 5, 2026
Model
Shores
- Reworked staircase to hug the cliffside
Build
Transparency
- Found both the transparency and treeline models are traversed on load and all materials depthWrite is set to true and alphaTest=0.5. Change this value for sharper corners on a transparent texture. Due to this I don't think I need to use GLTF editor on models with transparency.
May 4, 2026
Model
Shores
- Drew and modeled where the staircase meets the shores.
May 3, 2026
Optimize
Desktop.glb with pngopt
- Used pngopt on the single texture on the desktop model. Got the size from 64.5kb to 42.9kb
Model
Office & Bathroom
- Office and bathroom modeling
May 2, 2026
Optimize
UtilityDoor
- Using "OptiPNG" and "OptimizedJPEG" plugins on paintdotnet I was able to get the door.glb model from 53kb to 27.4kb. Although the png on the exit device are clipping through. Might need to make that part of the jpg
- Exit device geometry now three dimensional (gives the door weight) and consolodated the exit device texture onto the utility door texture while maintaining louver resolution. Utility door now 26kb.
- Doors animation drops fps down slightly only when the object is fully exploded. So if it has too many faces. Grouping geometry resolves this lag.
Model
Office
Build
Chair physics
- Issues with getting the chair to have simple physics so the player can push it around. Need to wait until githubs copilot is up again and the pro+ plans are available
May 1, 2026
Model
Office
Optimize
Chair
- Simplified chair geometry drastically and added as it's own model chair.glb. In hopes to create chair physics so the player will push it around when walked into. Maybe a roating seat aswell.
April 30, 2026
Model
Monitor black border around iframe added to desktop.glb
- Black border face added to desktop.glb to appear as a border around the iframe. Iframe given 16px border radius.
Build
Iframe orientation
- Fixed iframe roating issue when roating camera. Hid it when camera is behind the screen.
April 29, 2026
Model
Office space & mouse added to desktop.glb
- Began modeling the office space and obtaining textures
- Modeled mouse model with single faced wire. Beveled edges of the mouse and although it uses a lot of triangles it looks great.
- Swapped out keyboard texture again
Optimize
Desktop.glb optimizing
- Single "DesktopTotal.jpg" texture for the keyboard, mouse, desktop tower front and back
- Remodeled desktop to have less triangles but maintained beveled edges and protruding front frame.
- Used npx gltf-transform join on the desktop.glb file. This brought the model size from 102.3kb at 1052 triangles to 60.8kb at 325 triangles
April 28, 2026
Build
Mobile jump responsiveness
- Shifted button slightly away from the bottom of the screen because "Mobile browsers have edge-detection zones that can intercept touches"
April 27, 2026
Build
4 directional light's + intensity
- 4 directional lights added in GameStateManager.js for more contrast in geometry.
- Two fingers on mobile should work, to allow jumping while also moving using the joystick.
Model
Walls on 32' bay, new columns & restaurant layout
- Iterated on columns/pilasters form. Sloped portion dropped down to be against the wall to act as support and a smaller 4'x4' column supporting the railing.
- Simplified chiseled planters and grouped certain areas to not have geometry intersect other geometry
- Added tables and benches for the resaurant
- Center of walls align to 32' bay grid.
- Due to this ^^^ the tiles are misaliged by 1' and I began to compensate for this, making 1' wide curbs wrapping around columns to cover the 1' tile, but this is adding shit ontop of shit.
- Realigned ceramic tiles with the bays. Pushed railings and guardrails inwards so the face of wall below is algined with the grid, just as it is in the larger platforms with the pilasters (left in pic)
April 26, 2026
Model
32' bays & railing
- Centers of all columns and pilasters are aligned to the 32' bay grid. Platforms and walls are built offset inwards.
- New railing design for outer edges
- Monolithic walls are sloped at 32' every 1'. Testing, not convinved.
April 25, 2026
Build
Damage flash and enemy collision
- Damage Flash added styled with mix-blend-mode: multiply in main.css
- Drones now collide with eachother. No longer stacking which caused what would appear like one drone to deal more than one hit
- Each projectile rotates randomly
- Re-worked projectile texture
April 24, 2026
Build
Mobile & Current Loading
- Webpages look better on mobile. Loading context responds too
- Added a line above loading log with its own borders to display model currently being loaded
Model
Transparency.glb
- Added more trees from tonytextures
- Fixed naming of the seamless grass texture so the loading log doesn't stretch so wide
April 22, 2026
Model
WorldDrafting
- Began working on drafting in WorldDrafting.skp. So I can have different locations connect
Build
Sliding
April 21, 2026
Build
Run npx gltf-transform join
- When asking about controlling meshes in GLBs, I realized the meshes in the loading registry go from mesh_0 - mesh_447. This is due to multiple groups in SketchUp. I was then shown"gltf-transform join".
Website
Loading Context & Drafting Room Appearance
- In order to report a model loading and its texture in the loading context I need to add "registerExpected('geometry')...". This was changed and I now any loader.load will be sent through "patchLoader" which sends it through to LoadingRegister to be tracked
- LoadingRegister.js to handle the loading state and progress reporting for the loadingContext.
- Messed with mixblend modes and borders
Model
Loading Context
- Began renaming textures after seeing what the textures names in from the loding registry. Need to rename the file and reimport it into the SketchUp model.
April 20, 2026
Website
Loading and scoreboard
- Scoreboard text and loading context. "GameStateManager.js — single source of truth for all model loading"
April 19, 2026
Website
Loading and scoreboard
- Vertical loading bars, black box for the loading log, and scoreboard visual overhaul (borders and text mixblendmodes).
- Tested adjusting FOV when at the computer to see space around the desktop and not using a fullscreen iframe, for the camera to only be in front of the iframe screen. A method at showing the layered game engine stuff ontop of a typical webpage. To make a clear distinction.
Model
Utility Door
- Modeled utility door with new textures and chair upholstery
April 18, 2026
Website
Drafting Room redesign
- Reworking the drafting room layout and design. The ENTER button, loading bar and track text is all created in the game engine.html and sits ontop of the drafting room html.
April 17, 2026
Model
Utility Door
- Modeled utility door with new textures
Build
Doors
- Doors now load as individual GLB models and the hinge (pivot point) is calculated from the door's bounding box min corner and the hardcoded X+0.0131 and Z+0.0483
Website
Font
- Updated website font to IoskeleyMono from https://github.com/ahatem/IoskeleyMono/releases
April 16, 2026
Model
Colonnade & more plants
- Began work on the colonnade and adding more plants. Need to make the plants taller. Taller trees and taller trunks.
Build
Optimizations & doors
- Doors load as their own glb models now, might change back to hardcoded to save memory
- MAC was stuttering, now log the draw cells, triangles and geometry. Geometry seems to be the issue and it is an issue with SketchUps glb export.
April 15, 2026
Website
Back button styling
- Iterated back button, now ENTER button
- Added loading bar and asset loading trackers that logs what has been loaded. Prevents player from entering game until all assets are loaded.
April 14, 2026
Website
Calendar improved
- Tightened calendar layout
April 13, 2026
Website
Calendar implemented
- Calendar implemented and added to drafting room
April 11, 2026
Build
Hand awareness and cursor
- Player hand awareness added and mouse cursor created
Model
Desktop model cleanup
- Simplified desktop computer model and consolidated desktop tower textures
April 10, 2026
Build
Slopes, audio, hell fixes
- Added sliding down slopes steeper than 45°
- Elevator music and elevator ding added as positional audio
- Fixed capsule and camera height changes when falling to hell
Model
Scaled Catalyst physical drawings
- Scaled physical drawings of the Catalyst to rework digital model and now the proportions are significantly better
April 9, 2026
Build
Forest implemented and hell improvements
- Catalyst model folder created and loads
- Reworked webpage background contrast
- Raised demon swarm intensity and face adjustments colliding with elevator
- Elevator remodeled and re textured
- Fog when falling into hell adjustments
Model
Z5 object randomizer and transparent slopes
- Added transparent ramps at the stairs slope for smooth movement while climbing stairs
- New tree appearance for taller trees with Bark
- Tall grass object rotated and positioned randomly using new, free extension
April 8, 2026
Build
Drones and positional audio
- Drones buzz like wasps with positional audio nodes assigned to the closest 20 drones
April 6, 2026
Build
Hell improvements
- Hell sequence additions and optimizations
April 3, 2026
Build
Hell improvements
- Hell sequence improvements
April 2, 2026
Build
Fingerprint id and sinking system in hell
- Mobile & Incognito fingerprint id fixed
- Scoreboard re-styled
- TypicalWebpage and DraftingRoom log-section styles tightened for mobile
- Added cooldown for fountain launch
- Mobile jump button bug fixes and restyling to cover entire bottom right corner of screen
- Used fountain texture for bloom stream and established a sinking system
April 1, 2026
Build
Mobile movements fixed
- Mobile movements fixed, syncing with desktop movements/animations
March 31, 2026
Model
Player model
- Reimported Steak model with wider shoulders, re-textured skin and re-modeled hands
Build
Player model
- Mess with HAND_OFF = 0.0000001 & SHOULDER_SPREAD = 3 in PlayerHands.js to adjust arm positioning when firing projectiles.
- Added a mirror using Reflector.js (added to objects folder) to adjust player model.
- RUN_ARM_SPREAD = -0.30 in PlayerHands.js to adjust arm spread during run animation.
March 30, 2026
Model
Elevator model
- Swapped out elevator model and platform model
Build
Hell improvements
- Fixed how the models above fade when falling into hell
- Red fog fades to white fog when rising up the elevator. Bloom applied to this
Optimize
Hell improvements
- Continued to reduce lag before, during and after hell sequence
March 29, 2026
Build
Hell improvements
- Added floating heads in hell, WIP
Optimize
Hell improvements
- Reduced lag during and when falling into hell
March 28, 2026
Model
Plants and bench rearrangement
- Rearranged planters and stairs on grand staircase
- Shifted around benches around fountain on second level
Build
Player momentum improvements
- Momentum maintained after first jump
- Changed player sprint and walk controls
- Center of the fountain launches player upwards
- Added "falling" animation
Optimize
Frustum culling
- Frustum culling implemented for enemies. Very effective
March 27, 2026
Build
Player model
- Used textures from muscle man on low poly skinny model and now it looks good when the head pivots
- Hand held out to "cast" a projectile. With hand being positioned in the rotation the camera is facing, palm open, fingers fanned and arms extended outwards.
- Crouch & crouch idle animation added
- Implemented two hand system and introduced PlayerHands.js to keep track of hand interactions and status
- Vaulting animation added
- Effective optimizing fix for hell sequence
March 26, 2026
Build
Player model
- Testing different player models, obtained 3 good test models
- Added neck pivot
- Discovered player model was super small and was being placed at the end of the collider, which was under the camera, appearing as if the player is large but actually very small. Problem was Maximo's export
March 25, 2026
Build
Player momentum
- Implemented player vaulting, can be performed by pressing spacebar while sprinting towards geometry shorter than player
- Removed bunny hopping
- Kept air control the same to allow to jump when from a stand still
- Player momentum preserved during first jump
March 24, 2026
Build
Player model
- Iterated on player models and baking animations to a glb model.
March 23, 2026
Server
Server fix
- Temporary fix for the firebase server
Build
Player model & other things
- Lowered sideLight2 intensity for better pilaster geometry clarity
- Player model testing in order to give the player a sense of self among the environment
- Added a loading.gif while the scoreboard data is being fetched
- Randomized background offset for visual variety
- Consolidated scoreboard initialization and UI injection
- Drone model loading properly hopefully
Model
Environment modeling
- Large swaths of environment modeled ontop and within compound
- More detailing of planters above
March 22, 2026
Modeling
Pilaster modeling
- Iterated fluted pilaster textures. Inspired by New York City's Natural History Museum, Hall of African Mammals.
- Positioned Pilasters on the 2^n bay grid, offset inwards by 2 feet to be recessed in the wall, making it a pilaster.
March 21, 2026
Modeling
Erode plugin bush modeling
- Used Erode plugin to form bush geometry
- Used a bush texture and reused same texture for colored variants
Build
Treeline.glb
- Separated treeline geometry from transparent.glb and now loading Treeline.glb in start() function
March 20, 2026
Modeling
Grand staircase modeling
- Shaped basic geometry for grand staircase
March 19, 2026
Modeling
Large swaths modeling
- Began modeling in large swaths.
Website
Log section and Typical Webpage
- Reworked this log section appearance
- Streamlined CSS use in these 3 htmls and tweaked scoreboard appearance
March 18, 2026
Modeling
2^n bay grid and chiseled texture
- Shifted use of 2^n from being the literal dimensions of building parts to fitting the building parts into a 2^n bay grid.
((The stairs are 8" but that is not a power of 2. Could change it to 6" which would make it 2^-1))
- Chiseled texture is now doubled for guardrails and along the sloped stairs for symmetry. This solves the issue with a chiseled baseboard on one side and a chiseled upper-half of a guardrail. They are now both chiseled.
- Reworked stairs and planters in between flights
March 17, 2026
Modeling
Grand staircase planters
- Worked on adding planters to grand staircase
- Redone chiseled details on sloped geometry next to stairs to be 4' above tread nose. (only on steps to the right. must update elsewhere)
March 16, 2026
Modeling
Bench design and tropical plant
- Added tropical plant and planter
- Finalized bench design
Build
Lighting and performance adjustments
- Brightened scene by adjusting AmbientLight and DirectionalLights in start() function in GameStateManager
- Set antialias to false in GameEngine
- Adjusted window.devicePixelRatio to "0.5, 2" in GameEngine. 0.5 fall back or 2 for maximum if the screen allows. Done to fix distant tree blurring
March 15, 2026
Modeling
Fountain & mist particles
- Installed fountain and mist particles using same fountain texture
- Iterated on bench designs
Build
Projectile collision and water texture
- Added projectile collision detection
- Water texture now uses UV scrolling instead of sprite sheet cycling
March 13, 2026
Modeling
Drafting Room designation and furnishing
- Drafting Room designation
- Furnished drafting room
Optimizing
Thorough optimization
- Logged potential optimizations and made improvements where necessary