Kearwood GilbertI am an open source programmer and game developer. I work at Mozilla on the Mozilla VR team and have created an open source game engine, Kraken Engine. I enjoy sharing adventures through photography, video, and VR experiences.
/
Thu, 01 Feb 2018 18:12:31 -0800Thu, 01 Feb 2018 18:12:31 -0800Jekyll v3.2.1Kraken 2.0 Features<p>I have taken down the old Kraken Engine page as the information was out of date and it will be soon replaced with a dedicated site. This new site will provide access to API documentation and track the development of features for a more modern, updated version.</p>
<p>The roadmap for Kraken is being refined to make it more relevant. With Kraken 2.0, I aim to explore novel concepts which are high-risk, emerging, or not always practical for commercial projects. Kraken will be purposefully specialized with a particular combination of features.</p>
<p>Although the specialization of Kraken may reduce its flexibility, it will have greater purpose by powering experiences that are not already served by other, ubiquitous, game engines.</p>
<p>Some ideas for the feature set:</p>
<ul>
<li>Only PBR Materials, with a realism rendering intent.</li>
<li>Direct support for Khronos file formats including ktx textures and glTF scenes.</li>
<li>Hybrid Raytracing - Deferred lighting with ray-traced transparencies, reflections, caustic effects, and diffraction.</li>
<li>Cone traced soft shadows using volumetric signed distance field proxies.</li>
<li>Better approximation of “Bokeh” effects and realistic depth of field.</li>
<li>Volumetric Lighting, atmospheric scattering.</li>
<li>Optimized for zero-copy operations and HSA.</li>
<li>VR Optimized with stereoscopic cameras, VR SLI, and lens matched shading</li>
<li>Focused on mutable environments without baked light maps or pre-computed occlusion acceleration structures.</li>
<li>Completely asynchronous render and audio cores, all API calls are non-blocking</li>
<li>Purposefully self-contained, highly integrated, and simple.</li>
<li>Scalable with multiple CPU cores and a unified job scheduling system.</li>
<li>Multithreaded rendering with Vulkan, DirectX 12, and Metal. Leaving earlier API’s behind.</li>
<li>Siren audio engine with HRTF 3d spatialization and GPU accelerated convolution reverb. Optimized for headphones as worn with VR headsets.</li>
<li>Zone-free open world support with network transparent streaming of assets</li>
<li>Multiple coordinate system grids moving independently, each with own octree and raycasting acceleration structures.</li>
<li>Procedural terrains and planet surfaces allowing seamless transitions between worlds and space.</li>
<li>Weather system and atmospheric modelling baked in.</li>
<li>In-Game and in-vr placement editor.</li>
<li>WebAssembly output, supporting upcoming experimental web graphics APIs.</li>
</ul>
Tue, 04 Apr 2017 00:00:00 -0700/content/kraken-2-features
/content/kraken-2-featuresJoffre LakesThu, 08 Sep 2016 00:00:00 -0700/videos/joffre-lakes
/videos/joffre-lakesvideoWebVR Oculus Pose Prediction and HW Latency Testing<p>Oculus Pose prediction and hardware latency testing support has landed in the 2016-02-24 Firefox Nightly. The effect will only be seen by Windows users with Oculus 0.8 runtime or newer. Existing WebVR content will take advantage of this automatically, without any modifications.</p>
<p>The HMD pose and frame numbers submitted with each frame were not consistently associated with the frame that the sensors were sampled on. This update corrects this, enabling the Oculus HUD to show accurate latency information. Providing the accurate pose information to the Oculus runtime also results in a perceived lower latency and smoother HMD tracking.</p>
<p>Pose prediction has also been implemented behind a preference, which is disabled by default for now. Pose prediction offsets the effects of latency by returning a predicted future HMD pose instead of the instantaneous HMD pose. The prediction is dependent on the accurate measurement of latency, through the hardware latency tester. Through use of the latency tester, we have identified a reduction of frame latency uniformity when using e10s (Multi-process). I recommend that you disable the multi-process in about:preferences / general before enabling pose prediction until we have improved the latency uniformity.</p>
<p>If you wish to try pose prediction early, set the <code>dom.vr.poseprediction.enable</code> preference to <code>true</code>.</p>
<p>Additionally, setting the <code>layout.frame_rate</code> preference to match the framerate of your hardware is recommended. This should be set to <code>75</code> for Oculus DK2 and <code>90</code> for Oculus CV1.</p>
<p>Some exciting updates for WebVR are coming soon, stay tuned!</p>
Wed, 24 Feb 2016 00:00:00 -0800/content/webvr-oculus-pose-prediction-and-hw-latency-testing
/content/webvr-oculus-pose-prediction-and-hw-latency-testingCirca 1948 Released<p>The first production powered by my open source Kraken Engine﻿ has been released! There are two parts to Circa 1948:</p>
<p>An installation art piece consists of a 4-projector, 360 degree C.A.V.E system, that participants can enter to be surrounded by the screens and tracked by Kinect sensors. The participant can navigate through Hogan&#39;s Alley and the Hotel Vancouver Circa 1948 and eavesdrop on the voices of the past to reveal the story in a non-linear fashion.</p>
<p>An iPhone + iPad app also powered by the Kraken engine allows you to explore these neighbourhoods of Vancouver&#39;s past at your own pace at home. Kraken&#39;s &quot;Siren&quot; audio spatialization engine enhances the experience by projecting sounds from all directions using HRTF (Head Related Transform Function) algorithms and real-time impulse response reverb.</p>
<p>It was a great experience to work at the National Film Board of Canada (NFB) with Stan Douglas and the passionate 3d artists, animators, voice actors, and producers!</p>
<p>The app is available now, for free on iPhone 4s, iPad 2 and newer: https://itunes.apple.com/ca/app/circa-1948/id836688265?mt=8</p>
<p>Kraken Engine and Siren are FOSS (Free, Open Source Software): http://krakenengine.com</p>
<p>More details are on NFB web site:</p>
<p><a href="http://circa1948.nfb.ca/">http://circa1948.nfb.ca/</a></p>
<p>Here are some publications covering the launch of Circa 1948:</p>
<ul>
<li><a href="http://time.com/57177/canadas-ghosts-in-the-machine/">Time Magazine - Canada&#39;s Ghosts in the Machine</a></li>
<li><a href="http://www.theguardian.com/artanddesign/2014/apr/22/stan-douglas-vancouver-circa-film-new-york">The Guardian - Stan Douglas&#39; Circa 1948: &#39;It&#39;s not a game, it&#39;s a story&#39;</a></li>
<li><a href="http://docubase.mit.edu/project/circa-1948/">MIT Docubase - Enter the shadows of Vancouver, BC, circa 1948, through this immersive interactive art app for iPad and iPhone.</a></li>
<li><a href="http://onf-nfb.gc.ca/wp-content/uploads/2014/04/Circa-1948-Presskit_-LR.pdf">National Film Board of Canada - Circa 1948 Press Kit</a></li>
<li><a href="http://www.vancouversun.com/entertainment/Transport+yourself+back+1948+Vancouver+storyworkld/9763893/story.html">Vancouver Sun</a></li>
<li><a href="http://news.gc.ca/web/article-en.do?nid=840989">Government of Canada - History Will Not Be Silent - WORLD PREMIERE OF CIRCA 1948, CO-CREATED BY THE NFB AND STAN DOUGLAS</a></li>
<li><a href="http://installationmag.com/national-film-board-of-canada-launches-circa-1948/">Installation Magazine - National Film Board of Canada Launches Circa 1948</a></li>
</ul>
Wed, 23 Apr 2014 00:00:00 -0700/content/circa-1948-released
/content/circa-1948-releasedHierarchical LOD<p>Hierarchical LOD is now working! This will allow you to create huge, detailed worlds with distant objects in view.</p>
<p>In Kraken, Hierarchical LOD works by breaking up the scene into pieces that are of multiple levels of detail. Only the pieces closest to you will be displayed using the highest detail. Unlike the simple LOD meshes that Kraken already supports, Hierarchical LOD works on entire branches of the scene graph, turning them on and off.</p>
<p>This allows lower LOD levels to have objects grouped together and simplified to use fewer textures and materials without compromising the occlusion and view frustum culling used in the highest LOD levels.</p>
<p>Hierarchical LOD is applied in Kraken by using a new <code>lod_group</code> node with it&#39;s <code>max_distance</code> and <code>min_distance</code> attributes. The children of <code>lod_group</code> nodes are only enabled when the origin point of the <code>lod_group</code> is between the two values. By nesting <code>lod_group</code> nodes, the system scales up to very large worlds.</p>
Sat, 30 Mar 2013 00:00:00 -0700/content/hierarchical-lod
/content/hierarchical-lodKraken Custom Audio Engine With HRTF and Reverb<p>Apple&#39;s OpenAL reverb and 3d &quot;headphone quality&quot; spatialization has been broken in IOS since IOS 6.0, resulting in issues such as no output or only output from one speaker. To address this, Kraken will be gaining its own low-latency audio engine with HRTF-based 3D spatialization and convolution reverb.</p>
<p>Convolution reverb with a 2+ second stereo impulse response sample is now working in real-time on an iPad 2! I&#39;m making extensive use of the FFT functions in the Accelerate framework for iOS and OSX.</p>
Sat, 16 Feb 2013 00:00:00 -0800/content/kraken-custom-audio-engine-hrtf-and-reverb
/content/kraken-custom-audio-engine-hrtf-and-reverbKraken Moved to Mercurial<p>Some Kraken users have been requesting that it be hosted in a more modern, distributed, version control system. I have moved the Kraken source code from Subversion to Mercurial.</p>
<p>I am hosting it here:
https://hg.kearwood.com</p>
<p>In addition, I have mirrored it at Google Code:
http://code.google.com/p/kraken-engine/</p>
<p>If you don&#39;t have a Mercurial client and you don&#39;t want to check out from the command line, I&#39;d highly recommend Atlassian SourceTree on the Mac:
http://www.sourcetreeapp.com/</p>
<p>For Windows, there is TortoiseHG:
http://tortoisehg.bitbucket.org/</p>
<p>Alternately, you can just download a .zip file of the source code using a browser:
https://hg.kearwood.com/Kraken/Kraken/archive/tip.zip</p>
<p>Mercurial will make it easier to maintain integrity of a &quot;stable&quot; and &quot;experimental&quot; branch, as the project matures.</p>
Mon, 21 Jan 2013 00:00:00 -0800/content/kraken-moved-mercurial
/content/kraken-moved-mercurialKraken Update - Animation, Characters, Environment Effects, and Physics!<p>Kraken Engine now supports animation, bones / rigged character import, volumetric lighting, environment effects, particles, and a ray+line casting system (to support physics). First commercial application to use it will be released Spring 2013!</p>
<p>Kraken Engine source code is available at <a href="https://src.krakenengine.com/">https://src.krakenengine.com/</a></p>
<p>A new demo scene and app container is in the works to show off the new features...</p>
Tue, 01 Jan 2013 00:00:00 -0800/content/kraken-update-animation-characters-environment-effects-and-physics
/content/kraken-update-animation-characters-environment-effects-and-physicsVancouver Zombie Walk 2012Mon, 27 Aug 2012 00:00:00 -0700/videos/vancouver-zombie-walk-2012
/videos/vancouver-zombie-walk-2012videoiOS Development - Release the Kraken!<p>My &quot;from scratch&quot; game engine for iOS, named &quot;Kraken Engine&quot; or &quot;KREngine&quot; has a while to go before it is a mature, stable product; however, it may already be of use to others in its whole or in parts. For the benefit of the open source community, I am releasing the source code and opening up my Subversion repository to the public. Please be advised that there may still be large sweeping changes, especially in its API and scene graph objects.</p>
<p>I have posted a project page with the mission statement, design goals, road map, and collection of screenshots. Please visit the <a href="https://krakenengine.com">Kraken Engine Project Page</a> for detail on the engine and how to download source code. </p>
Tue, 07 Aug 2012 00:00:00 -0700/content/ios-development-release-kraken
/content/ios-development-release-kraken