There have been a myriad of real life distractions that meant Cave In went on the back burner for a short time while other products were developed to help with company income. After finishing up with some other products we returned to working on Cave In which meant also returning to Unreal Engine 4. Learning a brand new engine while attempting to develop a game is certainly not a bad idea, but at the end of the day I want to be able to reduce the development period for Cave In which meant returning to more familiar technologies. Given that NuVera Online was developed using theUnity Engine it was a natural choice.
So after debating the pros and cons between Unreal Engine 4 and Unity Engine we decided that Unity might just be the better option given the comfort level with the technology vs learning something completely new. Thankfully we weren’t too deep in to the development phase yet with Unreal and the art assets are easily transferable over to Unity.
So what now?
Well working with Unity is definitely much more of a blank slate than working with Unreal so some underlying technologies will need to be developed first. I’ve been adapting some management code from NuVera Online to get things up and running a bit more quickly which has helped a great deal. While NuVera Online is certainly not a comparable game to what we have planned for Cave In, some of it’s core logic such as custom input and settings management has been a good starting point.
The first thing I’ve been working on is attempting to build what I like to call the Puzzle Core. The Puzzle Core will be our core unity framework for developing first person puzzle games and I’m taking some time to build a good foundation moving forward. The more time spent now, the less time spent later or so I hope. A mistake I’ve made in the past is not always properly isolating core foundation code from game specific code, so this time around I’m focusing on maintaining a clean division there. That way as we develop more chapters for Cave In we can simply load up a blank core and start adding game specific content.
I started using Prototype for gray boxing out some of the levels for Cave In. This has helped immensely given that we can more rapidly lay out some design ideas and make quick alterations without feeling “locked in” to a given idea.
I also developed an internal tool for run time level notes which I later expanded in to a utility for the Unity Asset Store called RTLevelNotes.While we’re still very much in the development stage things are shaping up nicely.
There is still quite a bit more core logic to add such as a save game system, inventory management etc., but I’ve mapped most of it out already using UML.