Brief Update
Hello all,thank you for tuning in to my third development blog post. This post comes about a month after my last one which, I find, is a really good time period between updates. It gives me plenty of time to make progress as well as giving me miniature deadlines to keep. I’ll start as I did the last time with a brief update about my progress and then go into more detail later. In summary, since the last post I have fixed the visual issue where the player appeared to be squished, switched map editors and blocked out a rough level, added new features such as bullet impact decals and sound effects, and created a brand new weapon. That’s about as brief as it gets, so now i’ll just dive into it.
Early Progress
Immediately after my last post, I went back to work. The very first thing I did was fix the issue with the first person view model appearing “squished”. The configuration I am using to achieve the first person view uses one “main” camera and a “first person” camera. The main camera sees everything except for the models used in first person; the first person camera sees only those first person models. This includes the weapon models and is done to allow the field of view to be changed without warping and scaling the first person weapons and HUD. The view layers were configured incorrectly in such a way where the first person camera was not actually seeing the models which caused them to clip and warp. To my mild irritation, I fixed this the very next day after publishing the blog post. Regardless, you are able to see the changes now.
Next, I worked on adding sound and visual effects for the Mannlicher gun. I quickly composited some foley and found some gunshot sound effects online. I then decided that I needed some functionality for the gun past simply running animations. So, I programmed a bullet firing effect and a bullet impact effect. These were simple enough but required implementing quaternion rotations which I lacked prior experience with. The bullets work by spawning at the end of the barrel when the gun fires and are impelled in the direction matching the (quaternion) rotation of the barrel. When encountering a collision object, the bullet runs a simple script and decides what to do (such as deal damage or create a bullet hole on a wall) then destroys itself. When the bullet impacts a wall or other surface, it instantiates a decal projector that projects a simple bullet impact decal. I now need to add a timer that destroys the bullets and decals once they have existed for a set amount of time in order to ensure consistent performance or, find some other solution to prevent an infinite buildup of game objects. This was completed by the 20th of October as I began to turn my attention to level design.
Level Design
As I mentioned at the end of my last post, one of my immediate goals was to prototype a level. At that time I was using the Yumponics map editor which, while quality software, did not meet my needs. Shopping around for other options, I was suggested the software called ProBuilder. As it turns out, ProBuilder used to be a Unity Asset store asset until it was integrated into the Unity Packages, thus why I did not find it initially. Regardless, on the 29th of October I decided to switch my level editor to ProBuilder. I believe this to be one of the best decisions I have made during this project.
The advantage of ProBuilder is that it allows for the creation of custom level assets by giving the user tools to manipulate the geometry of models in-engine that can then be placed in a scene. Given my 3D modeling experience, this workflow is extremely intuitive and precisely what I was looking for. I desperately tried to avoid the potential process of creating a model in Blender, exporting it to Unity, only to then find out that the scale was wrong, or that it didn’t fit how I wanted and then being forced to repeat the entire process over again. What I needed was the ability and tools to crudely sketch out the level in-engine, allowing me to then refine that rough sketch with external tools.
Enthused with my new workflow, I dove right into planning out the rough design for the level which is broken into 3 parts titled sub-levels A, B and, C. By November 3rd, I had completed a rough blockout for sub-level A.
I made sure to encapsulate all of the models made with ProBuilder into Unity Prefabs. Prefabs are essentially groups of objects that are meant to be instanced (copied) within a scene, meaning that all instances of a Prefab are identical copies of the original. For example, say I am using a pillar asset several times in a scene. Without using a Prefab, editing all of the pillar instances would require manually editing each copy with ProBuilder every time I wanted to update the same pillar. Instead, by placing the pillar model into a Prefab, each copy of the pillar will mirror the changes made to the original Prefab. As a whole, utilizing Prefabs and ProBuilder this way allows for far simpler asset management and is, so far, resulting in a very smooth production.
After much trial and error, I have been able to find a good approach to level design. I attempted to create a modular kit which did not work all that well. I tried the block approach with YuMe which was also unsuccessful. Now, I create the blocked out assets in-engine then export those to Blender and Substance Painter which makes for a very comfortable workflow. From a technical standpoint, this is great, simply because I found a tool that works. On a higher level, I now know the methods and techniques I will be using to bring this project to completion.
Winchester 1883 Prototype
After working for several days to create the level blockout, I was satisfied with my progress and wanted to turn my attention back to asset creation. I had actually begun work on a new weapon, the Winchester 1883 Prototype revolver, on the 22nd of October however, I only finished a simple blockout before switching my attention to level development. By the time that was done, I was rearing to jump back into modeling.
The whole process took about a week, starting on the 7th of November and rendering the final shots on the 12th (Cycles is rendering as I write this). This week included high and low poly creation, texturing and a small amount of animation work. I used RetopoFlow for the low poly models which might not have been the most efficient solution for this particular project but, I think the end result is perfectly adequate. After retopologizing, I imported the model into Substance Painter for texturing. I realized that my UV unwrapping was causing aliasing artifacts when I was baking mesh maps (due to misaligned UV islands and low quality Painter bake settings), so I edited my UV unwraps and increased the bake quality in Painter in order to make the best out of non-optimal circumstances. Properly fixing the issue would have required re-doing the bulk of the project however, the situation was ultimately salvageable without the need for a total redo. In the future, I will be focusing much more heavily on planning UV unwrapping from the beginning of the project in order to mitigate issues like these down the production line.
As far as design goals go the reference used is a real gun, and was a prototype of a revolver produced by Winchester before their “gentleman’s agreement” with rival Colt. The real prototype’s frame is an unfinished steel material with many manufacturing marks still present, lending it a distinct look. The wood grip is of a very high quality finish contrasting the appearance of the metal. I sought to replicate both of these looks with the highest fidelity possible, as I found this contrasting effect to be the most appealing part of the design.
Reference Image, courtesy revivaler.com/
However, a few changes had to be made from the original, such as the bracket holding the ejector rod. That aspect was, truthfully, a necessity born of poor planning. Early on, the underbarrel section was accidentally misaligned with the cylinder chambers so, later in the modeling process, the ejector could not line up with the chamber. To solve this, I decided to add a simple bracket to the barrel to hold the rod and ensure its proper alignment. I found this option superior to completely re-working the model, as it adds character and unique detail while still being faithful to the reference. I think the design holds up, but I found this detail worth noting.
Overall, I am quite pleased with this piece, even though it has its visible flaws. I was able to create this asset much faster than my prior gun and with a much higher level of quality. More images can be found on my portfolio page. I really enjoyed making it and I look forward to my next asset.
Direction
Now I would like to have a more meta-discussion. I was not exaggerating when I said that using the ProBuilder tools has been the best decision I’ve made so far. Being able to create a rough concept so quickly was a huge boon that allowed me to really start seeing what the final product will look like. It has given me immense motivation and confidence about the future of this project, and I hope that this blog post illustrates that motivation. I’ve been absolutely thrilled that I get to share this experience with everyone and I hope that in the next post you will see the continuation of this momentum.
Next Time On…
My goal for the next post is to have some basic textured props and level geometry that can be reused for the rest of the level. I will also ideally have at least sub-level B blocked out, and have implemented the inventory system (considering how I have two usable weapons in the game). I will also probably go into detail about the currently incomplete animation for the Winchester 1883 that I have big plans for. I also intend to utilize the taser model that I presented in my first post in order to have a third playable weapon (as it’s not currently in a playable state), with the fourth soon after, as my next gun is currently in the works. I think that should keep me busy for another month.
With that, I thank you from the bottom of my heart for taking the time to read this post. So much time and energy has been spent on this project and the support that everyone has shown means the world to me. I could not do this without all of you. Thank you, and I will see you in the next one.














