The Nest (v2.0.0)

20160609 – 20160906

Refactored the whole Nest into a module-like JS-application.

Some of the changes include:

Structure
Essential functions like handling images, are now defined in separate source-files as dedicated objects, attached to TheNest.
They are then bundled and minified at production.

Console
Instead of just logging debug-info to the browser-console, it now contains a terminal-like feature.
While working on the game project, I created a console to send commands or to call functions in the game.
Now that console is integrated with the core-script and the game only assigns commands.
The core-console can´t do much at the moment, besides showing feedback while navigating through The Nest, changing the level of debug and enter rooms directly (instead of going to the code-entering room).

Loader
The loader now features a queue and got some improvements.

Rendering Loop
The core-script has a dedicated loop for all rendering. (Instead of declaring new intervals in each room)
It will only render when the browser-tab is visible, to prevent unnecessarily use of resources.
Frame rate can also be adjusted.

Rooms
Every room is now an object containing a title, needed media, rendering-loop-logic and such. (Instead of a bunch of nested functions)

Tools
The sound-toggle is improved. New full screen mode and quality-settings for better rendering-performance. Most images in the old parts is below 720p so rendering the canvas-animations at maximum resolution by default is now changed to 720p.

Storage
Settings are cached in the browsers sessionStorage to remember choices for rendering & sounds. This will be removed automatically when browser-tab is closed.

Audio
I did a lot of work on the loops to make them as gapless as possible. Ended up using 2 parallel players, a time interval that switch players when one is near the end, latency correction by inspecting the browsers generated timeupdate events and constant bitrate in optional .ogg file without any meta-data-silence.

Media
This update was mostly about code & layout. However, two new images were added to the entry-points. I did some 3D-modeling to create a better looking keyboard and also modeled the ‘briefing room’ that consists of pillars and a display.

This will probably be the last major update to the core.
Next up is more rooms.

Leave a comment

Design a site like this with WordPress.com
Get started