Swiss Army Knife Syndrome

You’ve probably heard the phrase “jack of all trades, master of none.” The idea is simple: when you specializing in everything, you specialize in nothing. So, fundamentally, you’re “kinda’ good” at everything; but, never great at one particular thing.

This applies to technology.

Generally, a swiss army knife will provide you with a blade that’s not sharp enough or sturdy enough, a toothpick that gets lost, scissors that can hardly cut through an envelope, and a tiny magnifying glass that’s useful for… what, exactly?

Compare that to a Gerber knife.

The Gerber is a precision instrument. It has only one purpose: to be a damn good fixed blade.

Technology is like this.

Unity, for instance, advertises itself as a highly configurable, general purpose engine: “Unity is a multiplatform game development tool, designed from the start to ease creation. A fully integrated professional application, Unity just happens to contain the most powerful engine this side of a million dollars.” (From Unity3D.com).

Well, that’s all wonderful. It’s a general purpose engine that can do 2D, 3D, RPG’s, FPS’s, deploy to the web, deploy to various platforms, etc. But, at what cost? What is it sacrificing for this generality?

A simple question: why has it taken so long for Unity to support the Android OS? (They still haven’t fully supported it).

Let’s look at another element of the modern engine. Typically, as the number of supported features increases, the complexity of the system MUST at least linearly increase. For instance, on that Swiss army knife we see various tools, each tool requires an understanding of how it works in general, how it works for that particular implementation, and its strengths and weaknesses. The more features, the more overhead.

This can be seen in Ogre3D. Ogre3D is an extremely powerful, general-purpose renderer. The problem? It has so many features that sorting through them when attempting to build a simple application becomes a chore. Sure, Ogre3D is great if you’re going to build a large-scale application or game! But, when you just want to develop something small? Well, then you’re forced to use a template they developed in an effort to hide the complexity of the renderer (http://www.ogre3d.org/tikiwiki/Basic+Tutorial+1&structure=Tutorials).

This isn’t to say that specialization is the key to solving all of these complexity issues/change dependencies. Unreal Engine shows us that this definitely isn’t true. UnrealEd, Unreal’s editor, has a variety of subsystems and complex displays for building out advanced FPS games. Once you’ve wrapped your head around the entire system, it’s not too bad to throw together a high quality product; but, there’s a lot of overhead to learning the engine.

Well, what’s the solution, Andrew?

First, simplicity. The kitchen sink isn’t needed. An engine’s purpose must be strictly defined. Its method of achieving that purpose needs to be explicit, as well. The Cuttlefish Engine’s motto is “write your game once.” How does it achieve this? Well, by “…generating native source code (Objective C, Java, and more).”

Second, intuitive tools. Developers understand Photoshop, Maya, IDE’s, etc. Why reinvent the wheel? Why should programmers learn a complex, new language? Cuttlefish uses a C#-like language for scripting as well as a series of well developed visual scripting systems. Additionally, Cuttlefish’s designer is simple to comprehend with few windows, immediately understandable options, and without a plethora of screens. So, check that off our requirements.

Finally, an engine must be humane. It must anticipate the needs of the users and provide human understandable output when errors are made without exploding. Many engines have utilized C++ and asserts to build their tools. This leads to multiple crashes throughout the day that can inhibit content creation. Reliability and having a system in place to recover from faults is pivotal to staying on schedule. I can’t stress the frustration of having worked hours on content only for the tool to crash and corrupt the data. Horrible. Cuttlefish’s designer is a kind, warm friend that explains your mistakes without exploding.

That’s why we’ve decided to go with Cuttlefish. It’s simple, but strong. It provides us with the platform we need to develop rapidly.

We’ll be the first title to ship with the Cuttlefish Engine :) Stay tuned for more details on our project, screen shots of development, etc.!

Posted in Cuttlefish | Leave a comment

Wow, nice… layout

We’re looking for artists, could you tell? Programmer art on the web worked in the 90′s, not so much anymore. If I had extra money to spend, I’d head over to 99Designs and get us something pretty; but, like most of the other developers at Mythos, I’m more focused on paying rent.

A quick introduction

I’m Andrew, man of many hats. I’m a full-time professional game programmer employed by another studio (actually, I’m in transition from one employer to another, at the moment). Mythos is where I get my independent challenge desires fulfilled. For our projects, I’m lead gameplay programmer, chief writer, and general busybody.

I’m also, technically, the owner of Mythos Studios, LLC and MythosStudio.com. At some point, we need to get our contract drawn up. All Mythos employees will be part owners in the company–that’s my future goal, anyway. There’s still a lot of ground between here and there.

Back to:

We need artists

Somehow, finding programmers has never been an issue for me. Indeed, I even have amazing designers at my disposal (both level designers AND gameplay designers, brilliant individuals). Still, I can’t find artists for the life of me.

Wait. That’s a lie. I have a stunning animator at my disposal, as well. An animator without any models to animate! Can you imagine?

We’re working on a tile-based hack-and-slash RPG for iPhone and Android using the most amazing technology you will ever find: The Cuttlefish Engine. Check it out. Drool.

The project is nicknamed Darkland. I’ll have a post really soon to detail what we’ve been discussing and prototyping.

So, if you’re a talented artist, consider joining Mythos. We need all of the artists we can get.

Posted in Openings | Leave a comment