We love classic video games, and want to make inspiring, funny and engaging game experiences utilizing emerging student talent to make the world of gaming a better, more open place. Blue Booth Studios was founded by Michael Morris and Brian Hoeksema on September 4th, 2012. Blue Booth works as an indie game development company, focused on providing new, commercial-grade video game experiences to our customers and providing valuable experience for student interns and other start-up companies along the way. Blue Booth Studios is one of the first companies on University of Alberta's eHUB, and proud member of Startup Edmonton's Students to Startups pilot program.

Report RSS Wisdom in the Trenches - Should I make my own engine?

Posted by on

Hi there. You probably don't know me yet (and that can be forgiven), but I go by Michael. I'm the president of Blue Booth Studios Inc. a company that plans on transforming the face of the gaming industry, one bit at a time. If that sounds vague, over-reaching, and stupid, you may be partially correct, but rest assured, we have a solid plan for doing so. Part of that plan involves reaching out and sharing our experiences with those interested in the gaming industry.

So I'd like to share with you my thoughts and experiences with game engines. Game engines are strange because there are far too many, and yet when it comes to designing our own product, it feels like there are far too few. Thanks to "Unity 2D", it looks as though 2D developers finally have a viable option apart from XNA (which was arguably more framework than game engine). 3D developers have a much wider range of options.

So, what are you, as a designer, going to do? Utilize an engine that may handicap your features, or design your own? We opted to design our own, and it was a mistake. Don't get me wrong, it was a mistake that taught me a huge amount about game programming, but it was also expensive in terms of time lost. We ended up abandoning our engine part-way through - it had potential, but I still lacked the experience to create a properly OO, decoupled design with sufficient quality assurance to ensure it's stability on a multitude of platforms.

The reason was simple. I didn't care. I want to create an amazing game, but does that mean I need to provide better line of sight processing algorithms than engines already available? What about shadow-casting methods? I don't care. I want something that works, today, and I can worry about tweaking it later. I don't need to design my own particle system, and unless that's what I'm particularly good at, how do I stand to benefit by doing so? Can I justify the initial and maintenance costs of doing so?

We decided to go with Unity. That has meant learning a new engine design and fitting our completed work into place, but now I have a solid test-bed to prototype on, I have shadows and ray-casting, line-of-sight algorithms and particle systems. This frees me up to focus on what matters most to our particular product, and avoid weeks if not months of slogging through issues like transparency and culling. There is no simple answer, and I know adopting an engine has both pros and cons, but for me, putting my pride aside was the best productivity choice I could have made.

What are your thoughts? Has creating your own engine worked well for you, and why?

Post a comment

Your comment will be anonymous unless you join the community. Or sign in with your social account: