Moiré - Development Process
Lucas Cavanna
This is an explanation of my creative process in the development of my short game "Moiré" done for the Non-linearity Level Design Jam by Steve Lee in around a month and a half.
I built the project on top of a small prototype I had with an already programmed Player Controller and a time rewind mechanic. 
From there, I programmed a simple AI for the enemies.
At first stealth wasn't considered and I had thought of a gameplay that felt more like DOOM with bouncing bullets. 
I failed enormously at coding them.
I used a 1-bit shader made by YouTuber Madalaski to stylize the blocking process without needing to spend much effort into props and textures. I still did anyways...
I wasn't aware of the problems that it would bring...
I started by writing a list of the gameplay mechanics and other characteristics I wanted to implement to bring an interesting gameplay and be able to design a fun level.
At first I had thought of a more puzze-like game design, in which the player could shoot platforms that could then ride like a hoverboard. I even had ideas of floating islands that the player would explore while shooting at enemies.

I'm not a programmer so that seemed quite unreachable for me and had to be scrapped off.

At the same time I had also thought of the boss being a human who could escape in a helicopter if you were detected. That focus put too much weight on stealth, which wasn't my goal, and required me to not only model a human, but rig and animate it as well. That's why I chose instead the "mind transference" topic, and having the target in an induced coma. Enemies were chosen to be "Dalekesque" robots to prevent the same situation.
I started by making the tutorial before the main level.
Ideally the level should include the tutorial in an organic way, but in this case I wanted the player to be familiar with the gameplay mechanics in order to allow a wider freedom and less linear experience. 
I sketched this overlay based on the list of things I wanted to teach the player one way or another starting with the most essential: movement. This is the actual map of the tutorial, with the player starting on the top left corner. 
At first I wanted the floor to break but that would need me to do some alembic baked physics simulations and it can be a lot of work. In the end I liked the black floor perspective trick trap. And I like to see how everyone falls for it.
I removed the "move around crates" room as I found it unnecessary.
This is the first rendered version of the tutorial. It didn't have a ceiling and at first I could notice a big problem I had... It's very hard to understand what's going on with the monochromatic shader. Oops. My first instinct solution was to then have "unlit" materials that wouldn't be affected by the lightning, and bake all the shadows and ambient occlussion through texturing softwares. The result is the one you see currently in the game, but depending on textures makes it very hard to iterate if anything needed to be changed. I also modeled the tutorial in a 3D software, which is not advisable on early stages of level design, as I have to go back and forth to change stuff.
I sketched a first version of the main menu, setting a tone by the "go big, go home" buttons. When I made it I found it lacked something special, so I added the spinning red lines in the background emulating pseudo moiré patterns.

Why Moiré?
When playing with the 1-bit post processing I noticed that because of the screen resolution and variation of pixels it created Moiré patterns on the screen. It felt like an ominous mysterious name.
This is a moiré pattern. Very common if you take a picture of a screen.
I also made a sketch of how the player would recieve the objective for the level. Wanted to play with some shady pseudo government hitman theme, similar to Deus Ex. At the same time I looked for a retro aesthetic that corresponded my 1-bit graphics, being inspired by Lucas Pope's games. 
I started the design of the level right on paper by scribbling the main goals and then going into details by writing ideas. Your objective is to reach the target you have to kill, killing him and escaping. At least on the surface. I wanted to include both intertwined stealth and action routes for different gameplay approaches. Still both routes can be played in as you please, making sure that the player has some degree of stealth and action choices everywhere. Then I decided to explore the possibilities of each game mechanic and how they could potentially be exploited in the level. 
You can also observe the sketch for the design of the target, in which I based the 3D model.
It's very low-poly
But the target is highly detailed...
Now here comes the fun part!
Designing the level.
I looked for a totally different approach by installing ProBuilder in Unity and using it for sketching the level.
The level is based on the blueprints of a mansion I found online which I adapted for the sake of gameplay.
I printed it and made a first approach of gameplay with color pencils. I was fed up with screens and I usually prefer to work analogically for these things.
So I started building with ProBuilder from the basement up to the last floor. Then, I exported these .obj files into Maya and made a facade and filled some holes.
This took me more than expected and was a pain in the ass...
A first approach of the level looked like this! without the post processing and with cozy developer textures. 
If you want to deactivate the post processing yourself why don't you try the Konami Code while playing the level? ;)
The multiple endings idea comes basically from realizing how many possibilities the player had and variables to kill the target. I didn't want the last message to just be a "congratulations", so I decided to write 10 unique levels based on how the player decided to complete the level, including some secret endings and an easter egg ending (if you manage to find it and break it).
This also adds to replayability and exploring which is always welcome. I got inspired by how Lucas Pope tackles down endings in his game. Even just getting a different line of text based on your actions can be so rewarding.
In the end the level was built on top of a lot of testing and iteration.
I didn't use the prebaked textures as I had done with the tutorial which meant I had to find a new way to make sure the player knew where to go and could orientate itself.
The solution? Lights. Create a high contrast between dark and light and basically attract the player like a moth to a lightbulb. 

The problem? Lights take a lot of resources to be rendered in real-time. And I had like 100 lights...

The solution? Baking most of the lights! this doubled the fps count!

The problem? Baked lights are pre drawn into texture, or in other words, they cannot be turned off, which was one of the main mechanics of the level...

The solution? Baking a dark and a light version of the level and switching each baked texture for the other one... the 34 texture maps... This turned the project from around 200MB into more than 500MB... 

Most of the textures in the game are in grayscale which means they're smaller in size, and many of them are made of pixel art (like the key designs). And it still was that large!
Finally I did the music for the game using GarageBand inspired in analog synths and soundtracks such as Blade Runner and A Clockwork Orange.

I implemented stock SFX that I highly compressed to give that retro 3D game vibe. 
Play the game here!
Thank you for reading!
Moiré - Devlog
Published:

Owner

Moiré - Devlog

Published: