Björn Ottosson - making Island Architect
@bottosson
Making Island Architect, a cosy town building game. Also game programming teacher and consultant. Previously 10 years at Frostbite and EA DICE. Creator of Oklab. Whishlist now!
Working the water simulation for 🌳🏡Island Architect🏡🌳, my relaxing sandbox building game. The interaction between the water and simulation is starting to work well, allowing you to build dams and aqueducts! #gamedev #indiegame #indiegamedev
Made some progress on the water simulation for my relaxing sandbox game 🌳🏡Island Architect🏡🌳 I added some proper shading finally, and performance is much better, with a priority system for what to update each frame. In the video you can see how it reacts to terrain edits. #gamedev #indiegame
Here’s 🌳🏡Island Architect🏡🌳 on a field trip! A bit surprised by how well it works on my laptop without dedicated GPU already! #screenshotsaturday #indiegame #gamedev #indiegamedev
Feels slow at times, but I’ve certainly made some progress on my relaxing building game 🌳🏡Island Architect🏡🌳! #screenshotsaturday #indiegame #gamedev #indiegamedev
Got a first version of waterfalls working! Really fun to see the water react and new little ponds and waterfalls form as you edit the terrain. Next I’ll look at some better shading, VFX and solving lots and lots and lots of edge cases. #indiegamedev #gamedev #indiegame
This gets more and more distorted the further we follow the flow, so we need to reset periodically. To hide this the noise is sampled three times with different offsets and blended together
Phasor, gabor and phacelle noise are neat ways of generating branching noise structures from a flow direction. They are relatively cheap to evaluate and they can be expressed as a simple function of position and direction. It can easily be animated, but only perpendicularly to the lines formed.
I'm working on a stylized shader for flowing water. Here are some results combining phasor noise with advection along the flow direction. Some more details in 🧵. The code is on shadertoy: www.shadertoy.com/view/N3sGD2 #gamedev #procedural #indiegamedev #techart
Working on water shading for my relaxing building game. Here's a quick test with a foam shader showing water flow and some reflections. A lot of details to solve since it is fully dynamic! Left to do: transparency, waterfalls and a bunch more... #gamedev #indiegamedev #indiegame
Got a first version of the water surface working, including some quick foam that moves with water speed. This is for the water simulation in my relaxing sandbox building game Island Architect. #indiegame #indiegamedev #gamedev
Working on the dynamic water system for my cozy building game Island Architect! Think about where water should come from. Should it rain every now and then or should you directly place water sources? More thoughts in 🧵 #indiegamedev #gamedev #indiegame
Yeah definitely no earlier than early 20th century! The center of the town looks like this. The large building is very similar to Stockholm City Hall for example, built in 1923. The cars and buses look like 1930s
Second day of working on the dynamic water system for my relaxing building game. Water now interacts with buildings and walls, so you can build (or break) dams and aqueducts! Looking forward to soon giving it more proper rendering and VFX! #indiegame #indiegamedev
Started working on the dynamic water simulation for my relaxing building game today. Obviously a lot of work left, but it’s already working with overhangs and everything. Looking forward to making waterfalls more than just lines and making it possible to build aqueducts! #gamedev #indiegamedev
Island Architect has gotten over 300k views the last 10 days! Big thanks to everyone who has liked or commented! ☺️ But I need to reach even further. Next I’ll prototype some wilder ideas, starting with a dynamic water system, to allow ponds, aqueducts and waterfalls! #indiegamedev #indiegames
Building some houses as time passes, in my upcoming relaxing building game 🌳🏡Island Architect🏡🌳 #wishlistwednesday #indiegamedev #cozygames
There are many inspirations behind Island Architect, but Kiki’s Delivery Service has a central role. I love the outsider perspective on Europe’s architecture and how styles from across the continent are blended. I am Swedish, but the aim is to make a Pan-European amalgamation 🇪🇺
I'm making a cozy and relaxing town builder called 🌳🏡Island Architect 🏡🌳! - Coastal European vibe - Sculpt terrain, including caves & sea arches - Build wonky, curved buildings Wishlist now on Steam: store.steampowered.com/app/3079100/...
I’ve made lots of progress made on my cozy building game: 🌳🏡Island Architect🏡🌳. Therefor time for a new gameplay collage for #screenshotsaturday! #indiegame #gamedev #indiegamedev
The colors are inspired by traditional colors here in my hometown, Stockholm! You can also alternate colors on a buildings to get various patterns:
I’ve added to ability to choose colors for buildings in my upcoming cozy building game, Island Architect. You also get railings now when building terraces or balconies. #indiegame #gamedev #indiegamedev
By combining this in various ways and combining with tiling textures I get something resembling what you'd get in something like substance, but quite cheaply and for a dynamic mesh in realtime. Still some things I don't quite like, but the approach I like for sure!
This gives most of the data for highlighting edges, but does not differentiate between convex and concave. For that I also store per vertex how it relates to it's neighbouring face centers along the normal direction. With that I can find concave and convex parts:
There other useful thing is that it exposes the length of the normal, as a way to highlight high curvature areas. Here's what that results in, with some processing to highlight just the high curvature areas (here with yellow for high curvature, blue for low)
That does two things. It makes it possible to chose between hard and soft normals in shaders, by exaggerating the length difference or reducing it in the vertex shader and outputing both. The pixel shader is then free to blend or use the result in different ways
Here's a quick thread about how the procedural material is set up to enhance the details of the editable terrain in Island Architect, without baking any textures. Still details I want to add, but I'm happy with the foundation! Here's the final result and the diffuse texture: #gamedev #indiegame
Here's a quick peek at the new lighting in Island Architect! Feels really nice to see the lighting react as you build houses, edit the terrain or watch time pass. The new solution has bounced lighting and reflections, all without relying on ray tracing hardware.
I accidentally made a horror game! NaNs happen randomnly when looking at large depth differences. Due to spatial-temporal denoising they spread, and they spread faster with lots of camera movement. The only way to escape is to quickly find an uninfected part of the screen and zoom in.
The most exciting bit is that this little expression approximates diffuse lighting from a SG very well, with R being the resultant mean length. This naturally maps to raytracing denoiser outputs, if you just store color and color*ray_direction.
I've been working with Spherical Gaussians recently as a representation for irradiance in realtime raytracing. Ended up deriving quite a few new approximations relating to SGs and diffuse lighting. Ended up with something both cheap and accurate. Check it out: www.shadertoy.com/view/WX3fRB