Journal

Updates. Mostly the Vesper dev log right now.

May 22, 2024

Hiatus

This will very likely be my last post for a good while. My parental leave starts tomorrow and I'll be gone until early November. Again, might post some stuff, but probably not.

If you don't hear anything from me, don't worry, I'll be back.

[♪] Stellardrone - Eternity

May 21, 2024

May 20, 2024

May 16, 2024

May 15, 2024

Leave

May 22 will be my last day on Vesper for a while. The next day I start four months of parental leave, sandwiching the Henchman & Goon one month summer holiday (July).

Might still work a bit on Vesper and occasionally post something, or not. Probably not. I'll be hanging out with my daughter and taking care of her. Back on November 5th.

May 14, 2024

[♪] Wojciech Golczewski - Transmission 01

May 10, 2024

Back on the UI System. Moving closer to the actual game. Learned a lot these last few weeks and so I'm refactoring once again.

May 3, 2024

Needed a break from UI work, so I took one of the concept art pieces and did a quick build in Unity.

May 1, 2024

Apr 29, 2024

Working on UI Box element grid-based sizing.

Apr 25, 2024

Slow going as I return to the root of the UI system to restructure a lot of the fundamental concepts and abstract away the underlying logic.

Took a slight detour to get gamepad constrols working. I've set up the input manager so any component can subscribe to any defined input (ex. up on the D-pad) and in doing so oust the sitting subscriber - so I always know what's listening to which input.

[↑] Looks like not a lot, but just about everything's been scooped out and replaced. Layout grids now function, along with margins and grid coordinate positioning of UI elements.

Apr 22, 2024

Been looking at this interior shot of the space ship a lot lately and decided that I wanted to prioritize giving myself a view.

Apr 19, 2024

[♪] S U R V I V E - Scalar Wave

Apr 16, 2024

Working on a system for interior panels and components — dimensions, placement, spacing.

Apr 12, 2024

Apr 10, 2024

Testing out typographic level-of-detail.

Apr 9, 2024

Made a small batch of simple labels, icons and decals in Blender. Tested them out in Unity alongside the mesh typography.

Apr 8, 2024

Experimenting with lighting.

Apr 5, 2024

/ Hard Surface

I've mostly made (sketched, painted and built) natural spaces, and even though sci-fi is close to my heart I never really did a lot of hard surface concept design. Probably lacking a solid grasp of the fundamentals - perspective and forshortening. Landscapes and organic shapes are generally more forgiving.

Apr 3, 2024

A variation on the previous concept art piece, based on an area from an early prototype of project Nenia.

Apr 1, 2024

Zooming out to consider the arc of the section I'm working on.

[↓] Idea for the end of this section (and the start of the next).

Mar 30, 2024

Thinking about modular grid-based layouts.

Mar 28, 2024

Rummaging around in the mesh typography code, trying to chip away at the jank and clean things up a bit.

Mar 27, 2024

[♪] Ben Chatwin - Lost at Sea

Mar 26, 2024

Experimenting with lights, shapes and movement.

Mar 25, 2024

Working from an earlier piece of concept art I built some very basic elements in Blender and started blocking out the shape of this satellite in Unity.

[♪] Heilung - Norupo

Mar 22, 2024

With the text mesh component functionally complete I went back and filled out the glyph set with a full alphabet (including Æ,Ø and Å) and some basic punctuation. No numbers yet, but we’ll need those later, as well as arrows.

Once this thing is done I can churn out an abundance of signage and labels as I workshop the ship and some other pieces I have in mind.

(The glyph design is based on Source Code Pro)

Mar 21, 2024

Had a couple of days away from Vesper to sort out some other things. Back at it today. Added functional spaces, linebreaks, tracking, line height and text size - all with visualisation in the editor.

Mar 15, 2024

Experimenting with mesh decals turned into prototyping a typographical mesh generator. Right now I use individual glyph meshes (created in Blender) and combine them into new meshes in Unity.

You might be thinking "hold up, Text Mesh Pro does this exact thing", and you'd be right. Still, once I got going with this it was way too much fun to put down.

Mar 14, 2024

Experimenting with latch placement and mesh decals.

Mar 13, 2024

Idea for a compact airlock/hatch design with an inline space suit locker.

Mar 12, 2024

/ Global shader variables

While reasearching how to standardize and split out my lighting calculations I found Shader.SetGlobalColor() (sets a global shader color property) and Monobehaviour.OnValidate() (fires off whenever the script is loaded or any of it's variables are changed in the editor).

With those in hand I made a tiny manager that houses a dictionary of string/color pairs and sets those as global shader colors.

That gives me scene-wide shader variables like shadow color and fog. Those things already exists in Unity, but they're neatly tucked away in menus all over, it seems. Now I have all my global shader variables in one place and I can add new ones whenever I want.

The entire thing:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class GlobalShaderVariables : MonoBehaviour {
    public ShaderColor[] shaderColors;

    void OnValidate() {
        // print("OnValidate!");
        foreach (var pair in shaderColors){;
            Shader.SetGlobalColor(pair.key, pair.value);
        }
    }
}

[System.Serializable]
public class ShaderColor {
    public string key;
    public Color value;
}

Mar 11, 2024

When I was working on stuff for the teaser I experimented a lot with lighting. I ended up with a mess of duplicated code and varations. For this I wanted to see if I could split that out and standardise it, then just reference it in all of my shaders with an #include.

This version doesn't have the shadows I used on some of the tree scenes, but the idea held up so I should be able to expand this to cover that as well.

Mar 8, 2024

Felt like it had been slow going since the teaser so I sketched out a design for the space ship interior, roughed out some parts in Blender and kit bashed them together into an initial draft of the space ship cockpit and living quarters.

Mar 7, 2024

Thinking about how I can use what I've been working on as the basis for a playable section.

[♪] Ben Chatwin - Burning Witches

Mar 6, 2024

Back to the orbital view.

The clouds are made up of two 3D noises (at different scales) blended together and animated along one spatial dimension over time. It's basically a 3D noise pattern that's intersecting a second sphere mesh around the planet. The resulting intersection is then used as the alpha value of the transparent cloud shader. The color (and master oppacity) is exposed and adjustable in the material.

[↓] This keeps happening whenever I create a new transparent shader. Clearly I'm messing something up, but in a consistent way - so there's that.

[♪] Magic Sword - Kill Them All

Mar 5, 2024

I don't know if this'll make it into the game. For now I'm just experimenting with celestial mechanics and exploring the shape and content of the star system where Vesper plays out.

The sizes, distances and placements here are based (roughly) on our own star system - to give me a starting point. I've had to cut the distances to a tenth (for the vizualisation. The math is full scale). Also, this is obviously sped up a lot.

[♪] Metallica - Ride the Lighting (Remastered)

Mar 4, 2024

Getting back into it after clearing a milestone always seems to come with a dip in energy. All the more important to focus on process.

I knew I wanted to have an orbital view of a planet, and accomplish as much as possible of that with shaders.

Experimenting with noise.

Mar 1, 2024

My first milestone for Vesper has been to create and publish a short teaser. Something that captures a piece of the mood and style I'm building towards.

Most of what I've been working on thus far has been to that end - though I haven't kept myself from going on tangents and exploring stuff that has no real bearing on the teaser.

This is a sketch (the fifth iteration). It might be the final version, or not. It's also unlisted (as of me writing this). I wanted to share it here anyway.

Feb 29, 2024

Working on a heat haze effect for the desert.

My thinking here is that the sphere that applies this effect could be centered on (and follow) the player character.

Feb 28, 2024

Some things are coalescing.

[♪] Jim Guthrie - With Sword and Shield

Feb 27, 2024

Working some wind movement into the tree branches by way of vertex displacement in the shader.

Wasn't using the vertex color channels for anything so I used it to weight paint the branches for the wind effect. It works, but I have no earthly idea if this is anything close to a good way to do this.

Getting there.

Feb 26, 2024

Once I saw the winter scene with the snow storm I knew I needed to add some drifting snow build-up on the tree.

[♪] Tool - Schism

Feb 23, 2024

Wanted to try out GL. After doing some reasearch I decided to make a camera overlay script that adds some compositional helper lines in the game view.

[♪] Zeal & Ardor - Servants

Feb 22, 2024

Adding drifting and falling snow to the winter scene.

Feb 21, 2024

[♪] Kvelertak - 1985

Feb 20, 2024

Building out the underwater variant.

Feb 19, 2024

Exploring light baking in Unity. Seems like there's a lot of moving parts. It'll probably take some time to figure this out, but seems doable.

Feb 16, 2024

Feb 15, 2024

Tried my hand at generating a pattern in the sand here.

Not quite there yet.

Feb 14, 2024

Starting out on the desert scene. Learning a lot about mesh topology and edge flow.

Feb 13, 2024

Working on the winter variant of the tree scene.

Feb 12, 2024

Generating a mist cloud mesh and animating it in the shader.

[♪] Vangelis - Blade Runner Blues

Feb 9, 2024

Working on a camera drift/sway effect and continuing to visualize stuff with Handles and Gizmos in Unity.

Visualizing what's going in the code like this takes a bunch of time, slowing down development, but I find it helps me keep a good mental model of he logic and whenever I come back to something like this I instantly remember how it works.

Feb 8, 2024

Stylistic explorations with character variations in 3D.

Feb 7, 2024

Making a star field generator and getting better aquainted with some of the tools Unity has for vizualising stuff in the editor — mainly Handles and Gizmos.

Feb 6, 2024

Testing out movement animations for the main character. I'll probably have to redo these about half a dozen times before they're anything close to okay.

Feb 5, 2024

Exploring the look and feel of the tree across realites.

Feb 2, 2024

/ Reflections

Sketched out the tree in Blender and began building the scene in Unity.

Reflections proved a challenge. Did some research and found a lot of forum post, articles and instructions on planar reflection in Unity.

I set up a secondary camera that mirrors the position of the main camera - capturing a reflected view of the scene into a render texture. Plugged the render texture into the shader for the water and flipped it upside-down.

Slight issue. A part of the tree juts out under the surface of the water and that's captured by the reflection camera.

Duplicated the tree and made a shader that chops away (clips) everything below the water level. That version is then rendered by the reflection camera alone.

[↑] Playing around with the colors.

Considering mirroring the mesh to create the illusion of a reflection later (I'd be able to get rid of the extra camera). Keeping this solution for now.

Feb 1, 2024

/ The Old Tree

The gnarled tree is an important presence in Vesper. I won't go into it now, but it occupies a pivotal role.

I already had an earlier design, but I wanted to revisit and update it, so I did a bunch of exploratory variations to see if something stuck.

Jan 30, 2024

/ Lighting

I know a little bit about lighting, but mainly the aesthetics of it. A lot of lighting in concept art and illutration is faking it. When it comes to the techical aspect of light I'm pretty much starting at square one - Optics, I guess?

Still, I have intuitions about the look and feel I want for Vesper. I could have tried to describe it, but I probably lack the language.

Instead, I just started experimenting. After playing around with shaders and lighting for a good while I arrived at this [↓]

I also considered rim lighting to help accentuate the shapes.

I'll keep experimenting.

Jan 29, 2024

Having a lot of fun figuring out deformation.

Jan 26, 2024

Looking for strong shapes for the helmet design.

Jan 25, 2024

Experimenting with halftone shading.

[♪] Lustmord, Bohren & Der Club of Gore - Plateau

Jan 24, 2024

/ RIGGING & SKINNING

Again, no real experience here.

Jan 22, 2024

Modeling a first draft of the main character.

[♪] Sea Power - ZA/UM

Jan 19, 2024

To keep things moving I decided to translate one of my concept art pieces into a 3D scene in Unity.

Jan 18, 2024

Some exploratory concept art.

Jan 17, 2024

Part of my reason for doing Vesper has always been to explore my intuitions about concise 3D, lighting, and shader design. I'd like to see if (and how) those ideas survive impact with reality.

Jan 16, 2024

[♪] Kvelertak - Skoggangr

Jan 15, 2024

/ Animating Vesper

I've never really animated much. That, paired with my inexperience with 3D and I really should get started.

Needs work. We'll get there.

Jan 12, 2024

One of the things I want to explore in Vesper is a sparing use of textures. This goes to that. My first draft of the cassette deck had texture for the decals and wood grain textures, so I went back to change that.

[↓] Procedureal wood grain.

[↓] Mesh decals. I have no idea if this is a good way to do this, but I enjoyed the work flow and I likethink it turned out pretty good.

Jan 10, 2024

/ Unity

Biggest take-way from previous attempts at this is to stop planning and just get into it.

Took a bit figuring out export from Blender and import to Unity.

Hooked up some basic animations and button logic.

[♪] Tool - Sober

Jan 8, 2024

Jan 5, 2024

/ 3D

I have close to zero experience with 3D. Never really got into it. Vesper is going to be a 3D game, so I need to learn.

Started by designing this cassette deck and modeling it in Blender.

Jan 3, 2024

/ Vesper Devlog

Never really kept a devlog before. Main reason for trying it out on Vesper is to put something out there, Be visible. Transparent even. Also, to have something to look back on - especially when the going gets rough.

It'll be what it needs to be. Probably short posts and a bunch of work-in-progress screengrabs, GIFs and art with comments. Unless inspiration grabs me I don't expect to post any extensive write-ups. We'll see.

Jan 2, 2024

/ Vesper

Vesper is the game I'm working on now. It's a compact sci-fi adventure game about a person trapped in a small, derelict space ship in a slowly decaying orbit around a far off planet.

I began working on Vesper back in 2019, but inexperience and bad luck eventually made the project a misery. Hadn’t figured out my process yet, and sorta skirted around the work, fretting and revising plans.

I used to think I needed to know everything there was to know about what I was making and be able to answer any question. Have it all figured out. Slowly I discovered that making games only works if I keep the freedom to experiment and rework. For me, it's about trying things out and learning.

Jan 1, 2024

Happy new year!

I‘m moving from monthly updates to something a bit more frequent and light-weight.

[↑] A sketch of the fjord outside the window one morning during the holidays.