Skip to content

Commit

Permalink
add more screenshots and fix some spelling and grammar
Browse files Browse the repository at this point in the history
  • Loading branch information
kenjinp committed Jul 4, 2024
1 parent 57c1053 commit 0ddc5e8
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 3 deletions.
Binary file added apps/astro/public/habitat-screenshot-1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/astro/public/habitat-screenshot-2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added apps/astro/public/large-terrain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
23 changes: 20 additions & 3 deletions apps/astro/src/content/projects/habitat.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,25 @@ description: A vignette of an O'Neill orbital habitat using @hello-worlds/react

# Habitat

Habitat is an experiment to validate non-standard world topologies that come standard with the @hello-worlds library. It's inspired by scifi, especially the Cycler habitats featured in Kim Stanley Robinson's book _2313_, or O'Neill habitats featured in other works.
Habitat is an experiment to validate one of the non-standard world topologies that come standard with the @hello-worlds library. It's inspired by scifi, especially the Cycler habitats featured in Kim Stanley Robinson's book [_2313_](https://www.goodreads.com/book/show/11830394-2312), or O'Neill habitats featured in other works.

Making a world wrap around itself was the primary motivator behind the hello-worlds library. I wanted to make a game settings based inside a Hollow-Earth, basically an inverted sphere planet (such as featured in the opening intro to the _Game of Thrones_ tv show). I've had som success with that, but I got distracted by beautiful non-real-time renders of O'Neill habitats, and decided to create a "vignette" of what it might look like to have a real-time rendered virtual world inside such as setting.
Making a world wrap around itself was the primary motivator behind the hello-worlds library. I wanted to make a game setting based inside a Hollow-Earth, basically an inverted-sphere planet (such as featured in the opening intro to the _Game of Thrones_ tv show). I've had some success with that, but I got distracted by beautiful non-real-time renders of O'Neill habitats, and decided to create a "vignette" of what it might look like to have a real-time rendered virtual world inside such as setting. After all, it should be much easier to create a virtual world when it's small and can be rolled-up, right???

Some considerations and bespoke solutions inside this project include (in various states of done-ness) a volumetric atmosphere solution which considers the shape of a cylinder, a cylinder-based camera solution, and an interesting down/upsampling pipeline to optimize performance of the ray-marched volumetric atmosphere.
Well, nope.

Some considerations and bespoke solutions inside this project include (in various states of done-ness) a volumetric atmosphere solution which considers the shape of a cylinder (atmosphere gets thinner towards the cylinder-center-line), a cylinder-based camera solution (you always point outwards), and an interesting down/upsampling pipeline to optimize performance of the ray-marched volumetric atmosphere (not related to the cylinder, but nevertheless awesome).

Some other thoughts about cylinder worlds à la O'Neill cylinders:

They wrap nicely along one axis, so you can use tiling terrains, especially as you can easily have land areas which are squares (which would not be true of Halo-type ring wolds, for example):
<img class="h-256 object-scale-down" src="/large-terrain.png" alt="A tiled terrain heightmap I prepared" />

Here's some more photos, I think it's a pretty project so far :)

A look at what realistic tiled heightmaps can get you:

<img class="h-256 object-scale-down" src="/habitat-screenshot-2.png" alt="A look at what realistic tiled heightmaps can get you " />

A look through the downsampled atmosphere shader:

<img class="h-256 object-scale-down" src="/habitat-screenshot-1.png" alt="A look through the downsampled atmosphere shader" />

0 comments on commit 0ddc5e8

Please sign in to comment.