First Completed Level

When I look at this level, all I can think of is how I could have made it better. It is really difficult for me to wrap the project up and call it complete. There are so many things I want to improve on. I am almost tempted to go back and do it all again.

But it is time for me to move on. I learned the things I set out to learn with this project. And a million other things, that I didn’t even realize that I needed to learn. I think I am ready to really build my first game. Only this time, it will really be a game that you can play. Not just a level to cruise around.

The compressed version is 42mb. You can download the complete level and check it out with the link below. For some reason if you play it “windowed” the glass won’t show up correctly in sizes other than 1024×768. Just uncheck the windowed option and you can run it correctly in any size. NOTE: This build is for windows only.




No BackFace Culling Shader for Unity

Unity doesn’t have a way within the program to turn off BackFace culling. You can do it but it requires code. There is no little button to check. Like most others, I didn’t realize this until I already had spent many long hours optimizing the model with the assumption that I could just change the setting as in other 3d applications.

In my case it was the hair I wanted to show backfaces on. And I really didn’t want to double the amount of faces because I had to go a little high to begin with in order to get the style I wanted. For this character, I wanted a fiery redhead.

Anyway, as a matter of principle I needed to solve the problem. But have been putting it off so I could complete the level. The level is done, and I am on to the character. I finally figured out how to do it and the code is below, just in case you are stuck on the same problem.

Github Download Link:

Here is the Before and after photo.



As a Brunette
















You can see that half of my hairstyle disappears with the standard shaders

















HERE IS MY CODE: JUST in case you are having the same problem


Shader "Hair-Shader-No-BackFace-Culling" {
Properties {
_Color ("Main Color", Color) = (1,1,1,1)
_SpecColor ("Specular Color", Color) = (0.5, 0.5, 0.5, 0)
_Shininess ("Shininess", Range (0.01, 1)) = 0.078125
_MainTex ("Base (RGB) TransGloss (A)", 2D) = "white" {}
_BumpMap ("Normalmap", 2D) = "bump" {}
_Cutoff ("Alpha cutoff", Range(0,1)) = 0.5

SubShader {
Cull Off
Tags {"Queue"="AlphaTest" "IgnoreProjector"="True" "RenderType"="TransparentCutout"}
LOD 400

#pragma surface surf BlinnPhong alphatest:_Cutoff
#pragma exclude_renderers flash

sampler2D _MainTex;
sampler2D _BumpMap;
fixed4 _Color;
half _Shininess;

struct Input {
float2 uv_MainTex;
float2 uv_BumpMap;

void surf (Input IN, inout SurfaceOutput o) {
fixed4 tex = tex2D(_MainTex, IN.uv_MainTex);
o.Albedo = tex.rgb * _Color.rgb;
o.Gloss = tex.a;
o.Alpha = tex.a * _Color.a;
o.Specular = _Shininess;
o.Normal = UnpackNormal(tex2D(_BumpMap, IN.uv_BumpMap));

FallBack "Transparent/Cutout/VertexLit"

Code Screenshot (In Full Technicolor)


Creating the Feeling of an Endless World

I hate games that feel like you are playing inside of a confined area. The feeling of an endless world is so much nicer. I am going to have the balcony look over a mix foreground terrain with vegetation meshes and textures, with a Matte Painting layer over a skybox.

I start with a box and block it out to the shape that feels right in the engine looking over the balcony:


Then I sculpt it to look a little bit more like terrain


Decimate it down so I can use it in a game


And then texture it:


There were a few baking errors, but I will just cover them up with rocks, plants and trees. A lot of it won’t be seen so it doesn’t need to be perfect. This model should do.

From the blockout model it was already in place. I add it to the scene under the house and then put in some trees rocks and vegetation.


That is all I did and the end result is when you get to the end of the level instead of seeing a wall, you see this: