Hole Up Creative

Creating Indie games in Unity

Adding more objects — June 27, 2016
Finishing up Texturing and Audio — June 26, 2016

Finishing up Texturing and Audio

Here is a video (with sound) of the latest gameplay and graphics. As you can see I’ve been applying some better textures. Probuilder has really helped in this instance because I can copy paste the mesh material so that it lines up. I jumped back into blender and exported the barrel FBX with textures. I also created a new corrugated roof mesh that you see in the upstairs ‘barn’. I need to add some new collectible objects next and tweak the reverb settings a bit. I also need to add a menu and credit screen.

Basic Texturing — June 14, 2016
Shooting an Object — June 13, 2016

Shooting an Object

I’ve now completed the shooting script so an object can be projected with force down the pit or into the wall / floor. In the video you’ll be able to see and hear this taking place. Notice in the bottom of the video the mixers active status. I’ve also been experimenting with terrain and applying a mesh collider with an attached audio mixer to get sounds playing back from the object. Some of the pit sections don’t have the proper mixer settings so the sound jumps from echo to dry in one part. Next I’ll be reapplying the footstep script back onto the player.

Level Audio Triggering

The Probuilder mesh allows me to add a mixer which affects the entire object meaning that the whole thing has an audio mixer attached. I’m planning to delete the floor and put terrain it its place (currently coloured yellow). I’ve also been able to reduce the terrain to its lowest graphical setting for performance which i’ll tweak later. After I’ve put all the scripts in I’m going to tidy up the audio mixers so the reverbs are correct on each section. I’ll then move onto some basic texturing.

Better Object Shooting — May 15, 2016

Better Object Shooting

I just discovered today is my blog 1 year Anniversary! Quite a long time for a dev blog but it’s been a great learning experience and I’m nearly finished now…


I started to modify the shoot script and realised my projectile was shooting from the camera rather than from the center of the screen as in this video. Note – I added a small yellow dot to the center of the UI.

I read that you should instantiate from an empty gameobject attached to the camera so I did this and added a mesh renderer component with a cube to demonstrate:

Now it’s working much better:



Basic Inventory Object Collection —

Basic Inventory Object Collection

After a long break I’ve spent some time on the trying to finish the inventory system for the game. I started by stripping it right back and removing the stats such as – ‘items in inventory’, ‘collected item name’ and having a basic image incrementer. I followed a really good YouTube tutorial here: https://www.youtube.com/watch?v=CHUOprBocoY

The tutorial uses collision events to pick up the object but as I already had a raycaster in place I’ve kept that and used a simple and basic if statement to detect which tag has been detected.


As you can see the icon is instantiated into a position in the array but there is a ‘Grid Layout Group’ attached to the UI panel. This GLG script comes with Unity and automatically manages the spacing and placement of UI elements added to the panel transform. There are options to set the size and padding of the icon squares which makes the placement seem very natural and the order changes when you pick up items.

GLG Script

Here is a video demonstration in action (No Sound). I have drawn some crude icons for demonstration purposes – later on i’ll create proper game assets (the fun part).


I now have an inventory that I could map to the keys along the keyboard 1 through 8 which would select the object an allow you to drop it or fire it down the pit. Pressing the numbered key once could select the object and pressing it again could drop it down the pit. Alternatively I could have a power meter when you click and hold to project it at speed.

Play-testing with particles — March 6, 2016

Play-testing with particles

I’m now coming to a point where the level looks ok enough to test out and improve the scripts. I realised I had an issue with footsteps because it always assumed raycasting was happening, and when it didn’t it stopped gameplay. I wanted to see if objects were colliding with the level so I attached a light to a sphere and used that as my projectile. I also was able to change the projectile to the dynamite in game. Here is an example of that:

For scripting this is what’s needed next:

  1. Complete footsteps audio
  2. Improve Object collection script with inventory system. This will use object recall (instead of picking up objects in mid air).
  3. Update the GUI
  4. Object impact velocity
  5. Audio pitch randomisation (for footsteps, impacts etc)
Geometry annoyances — March 5, 2016

Geometry annoyances

I found some gaps in the faces while building the rooms and I couldn’t work out what was causing it. I thought it might be where the vertices did not join up so I ended up spending hours rebuilding the rooms. Here is an example of the issue in the shadow:


I found out that the stairs weirdly enough were causing it so I split that into a separate game object and the issue went away. I also read on this link that you should mitre the edges and weld the joins. When you set the scene to static, the scene gets light mapped and it looks amazing. Here is a new screenshot lightmapped:


Inside Room.png

Level screenshots — March 3, 2016
New Level Layout and Real Time Lighting Demo — March 2, 2016

New Level Layout and Real Time Lighting Demo

I’m getting to grips with native geometry editing in Unity and I’ve begun to build the meshes for the updated level. I wanted to start fresh because I had far too many poly’s in the level and it was feeling sluggish. This is a much smaller level and I’m trying to build as much of the level as possible in Unity. This way i’ll add the interactive and ‘scene dressing’ elements with Blender.

I’m demonstrating the powerful split screen editing in Unity with real time lighting updates.


As you can now see in the top left the number of Vertices is 276 which I think is a lot less than the previous level purely because it feels performant and doesn’t rely on complex FBX models. The floor is a bit jigsaw puzzle because I couldn’t split the tiles where the pit appeared. This is where I prefer blender; you can just connect two vertices to create a new triangle. Level.png

Eventually I will probably have terrain but for the mean time I’l need the separate floor meshes for the footstep triggering scripts. To achieve this with terrain requires the use of splat maps which I’m sure I don’t need just yet.