Game-Logo-Alt

A 3D Adventure game made in Unity.

Opening Up

Timeframe: January 2018 - June 2020 

Tools Used: Unity, Substance Painter, Blender

Opening Up began with a simple idea; making a horror game set in one room. I figured that if I could not make a single room scary, then I could not make an entire house invoke fear.

It quickly grew beyond that.

It all began in this room. I work best when I have something visual in front of me, so it was important that I get a half decent looking prototype running right away. This project was going to be my first 3D game (I had previously done some 2D projects for school), and I wanted it to look nice.

The concept for the game (at this point) was that you would be in this room all night, chatting with some random stranger on the internet. Through your conversations you end up leaking too much of your personal information, and the stranger eventually comes into your room, and well, you can probably guess what happens next.

I quickly realized how difficult (and boring) it would be to have a horror game set in one room, and I was also surprised at how straightforward it was to produce a decent looking scene in 3D in Unity. With those two things in mind, I decided I would expand my idea and design around an entire home, rather than one room.

spook-1
blender2
blender1

I used Blender to model  the house used in Opening Up, and here is where we will see the start of many problems to come. I really wanted to focus on getting the scale of the house right on the dot, and I think I accomplished that nicely. The problem was that I focused too much on scale without taking into consideration some other dimensions involved in the geometry of the house, mainly the thickness of the walls.

The walls were too thin, which would later cause lights to bleed into other rooms and other artifacts to appear throughout the house. The UVs for the level were also flawed; I ended up outsourcing fixing the UV maps to someone else, when I should have just remodeled the entire house. There were also quite a few seams in the level that looked very off-putting, I tried to cover them as best I could.

Still, I knew this project was not going to be my magnum opus; it was a learning experience, my first dive into the world of 3D game development. I took a very valuable lesson away from all the issues I had with 3D modelling: start off on the right foot, and have a solid foundation before going any further. If the layout, geometry, etc. of your level has issues, it will only cause more issues down the line.

Modeling issues aside, I pushed onwards. The video above shows off what I would consider to be the Alpha of Opening Up (forgive the crazy framerate, Unity's built in recorder was not very kind to me).

It was also around this time that I began to stream my game development sessions on Twitch.tv. Having folks come in and ask what I was doing, give me advice and suggestions on how certain things looked, and just interacting with the development of my game in general was a nice way of keeping sane while working on this.


piece-of-paper-final_DefaultMaterial_AlbedoTransparency-1

I tried to use Substance Painter to texture the house, unfortunately the resolution of certain textures in the level was not to my liking, so I stuck to setting up and applying materials in Unity. I wanted a seemless workflow from Substance Painter to Unity where I could apply decals, scratch marks, scuffs, dirt, etc. to my liking on a whim.

I was still able to get a lot of use out of Substance Painter though, I used it for making all of the documents found in game. I had so much fun adding in little details like smudge marks and coffee stains on certain documents, and I look forward to using Substance Painter in my future endeavours.

Lessons Learned:

What started as something that was supposed to be a quick summer project turned into a two year endeavour of creating and releasing a game.

I know full well that I made many mistakes working on Opening Up, here are some of the takeaways from this project:

  • Spend less time in Unity, and more time working on a better development pipeline.
    • My source control was a mess. Git has laughably small file limits, which can be a hinderance for larger Unity projects. I only discovered better solutions like Perforce or Plastic SCM after I had already released my game. 
    • My project management solution was not well-suited for solo development. I used a tool called HackNPlan to establish the game design document of Opening Up. Ordinarily I would recommend it in a heartbeat, but it is definitely more suited for teams than for a solo dev. I need to find a tool that is not hamstrung by features that are focused for teams, something that focuses right on what I need to do: plan and design without obstruction.
  • Performance and optimzation is critical.
    • I learned this the hard way through some customer reviews on Steam. It seemed like half of my customers could run the game without issue, whereas the other half ran into many performance-related issues. I knew that my lighting optimization was definitely a key factor in this, I just did not have the time to go back and redo the lighting system. In the future, I will make sure my future games can run on a toaster without any issues.
  • Making games is difficult.
    • I had worked on some games previously for school projects, and I knew from those projects that game making is not simple feat. But working on Opening Up was, well, an eye-opener. This isn't easy, especially when you are by yourself. I don't think there was ever a time I wanted to quit, but there were definitely times where I had no idea how I was ever going to get to the finish line.
  • You will surprise yourself with what you can do.
    • Going back to some feedback I received from customers, I was genuinely shocked at some of the comments I had praising the story of Opening Up. Most of what I have discussed above has been a technical aspect in some way, but I never expected folks to enjoy the story as much as they did. It showed me how rounding out skillsets doesn't necessarily mean learning all the newest frameworks or technologies (granted that is still very useful to know!), it's also a bit about just getting outside of your comfort zone, and trying something new.

 

There is no question I am proud that I worked on something like this. Opening Up is rough around the edges, but working on it taught me more about software development and managing projects more than any class I ever took in university. There is no doubt in my mind I want to keep working on games, only this time, I want to push myself even further. Even if it takes me another 2 years, I know now that it will always be worth it in the end.