1. Brain Dump: Apple’s Upcoming XR Headset

    “Microsoft has a history of releasing a product and a few years later Apple ships the same thing but better and wins the market. We can’t let that happen with the HoloLens”

    I joined the HoloLens team a few months before it launched. Almost everyone on the team told me some variation of the above quote and many of those people are now employed in senior positions at Apple.

    I’ve since left Microsoft and I’m deeply curious to find out what Apple has in store. For fun and accountability I’m going to offload some wild predictions about their upcoming XR headset.

  2. WebAssembly vs Javascript

    For those unfamiliar with WebAssembly: WebAssembly (abbreviated to Wasm) is a way for languages like Rust / C / C++ / Zig / etc. to run securely on the web. Wasm is also seeing some use outside of the web as a safer way to run high-performance code.

    I’ve read a bunch of misconceptions about when you should and should not use Wasm and I wanted to take a moment to share my thoughts on the topic.

  3. Tutorial: Writing a Tiny Rust Game Engine for Web

    In this tutorial we'll use the Rust programming language to code a tiny game engine. Our game engine will respond to key presses, draw rectangles, and define a structure that could accomodate a larger engine.

    Our engine will use no libraries other than Rust's standard library and the APIs the browser provides us. It will compile near-instantly (less than a second on my computer) and be about 130 lines of code total.

  4. Why Build the Metaverse?

    "Metaverse" is the buzzword of 2021. What is it? Is it good? How can it be made?

    "Metaverse" is used almost like an emotion. The term is used to describe a myriad of concepts loosely connected by a belief that technology will become even more dominant in the future.

    To technologists and futurists the metaverse is almost a religious concept. A place, like heaven, that they need to bring into reality.

  5. Tutorial: Writing a tiny Entity Component System in Rust

    The Entity Component System (or ECS) pattern is all the rage in the Rust game development community. In this short tutorial we're going to build our own.

    This tutorial assumes a little familiarity with Rust, but you'll be able to follow along if you're familiar with similar languages. I'll explain concepts and syntax that are unique to Rust.

    Our ECS will be very small and do very few things, but it will be an ECS!

  6. Building devserver: An Ultra-Tiny Rust Server

    For my WebXR work I needed a development-only server to host a static website over HTTPS. I'd only be accessing the files on my local computer and from an Oculus Quest on the same network.

    I wanted a server with the following properties:

    Surprisingly it's difficult to find an easily installed webserver that fits the bill!

    So I made a tiny development-only server called devserver.

    devserver is a great tool for local development, but to be completely clear up-front no effort has been made to make it secure for production purposes.

    You can check it out on crates.io and github.

    In this post I describe the process of building devserver in pursuit of the above goals.

  7. Making a Game in 48 hours with Rust and WebAssembly

    Ludum Dare has two tracks: the 'Compo' and the 'Jam'.

    The rules of the Compo require you to make a game (other than source code) within 48 hours. At the end your fellow entrants will rate your game and your game will be ranked against your peers.

    With everyone quarantined at home due to Coronavirus this April's Ludum Dare had vastly more entrants than usual. A total of 1383 people entered the Compo and there were 3576 entries to the Jam. That's an absurd amount of games!

    I've entered the Compo a few times using Unity, but this time around I wanted to write a game purely with the relatively new programming language Rust.

    This post started out focused on the experience of using Rust, but turned into a general overview of the technical and design process for the game.

  8. Design Virtual Reality for Everyone

    Gamers are the early adopters of VR: they crave visceral action and reflex demanding immersion. They want thrills and blood pumping excitement. The early focus of virtual reality developers has been on existing gamers, but there is enormous untapped potential by appealing to a wider audience.

    Video games are a subset of interactive experiences, and yet the focus of VR development has been on creating immersive versions of existing game genres.

    Immersive experiences can be so much more.

  9. The User's Mind is Full

    Technology in our lives is hitting its limit.

    At first software developers vied for the user's dollar, then they wanted their eyes, then their time, and now we’ve reached the point where apps and software experiences are competing for a user’s mind.