Satellite Love

Satellite Love is a non-linear visual novel

Built for the A Game By Its Cover Game Jam, Satellite love is a visual novel prototype in which the player has conversations with various satellites orbiting earth. This was primarily a solo project, I handled all the programming and art assets. It was built over the course of a month in the Unity engine.

Each satellite was unique, using randomly assembled character portraits

Programming

The premise of the game was built around the idea of doing a procedural visual novel, one where each run would feel new a unique.

I had several programming tasks:

Shaders and FX

This project was a fun one shader wise. I wanted to emulate a hand-drawn art style, but have as much control as I can. I ended up working most of the hand-drawn effects into custom shaders. Here’s a couple of my favorites:

Animated fill shader

I created a shader that would give the impression of the art being drawn in real time. The shader takes a texture and a gradient ramp, and uses a ‘fill’ variable that can animate the drawing.

The title animation was controlled through a shader

A similar shader was used for the character portraits

Satellite Icon Shader

I wanted more control over the satellite icons as well as have infinitely scaleable textures. To achieve that, I ended up actually calculating the texture and animation all in shader.

The satellite sprites were generated entirely in shader

Shimmer Shader

To further capture the hand-drawn style, I wanted to emulate the common 2D animation practice of using “shimmer” frames. For textures I used a shader that distorted the uvs based on Gaussian noise. For the outline of the planet I actually used perlin noise on a line renderer. For both instances, time was stepped to be at a slower framerate to give the impression of being traditionally animated.

Noise was added to assets to create a hand drawn look

The planet outline used perlin noise on a line renderer