Monday, January 18, 2016

Debatable Complexities or: How I Learned to Stop Worrying and Love the Code

Creating a game can be a simple thing, or really complicated. There are several things that will change how complicated it is. You should never expect to make real money with something that's thrown together in a day. To be more realistic, a week or even a month would still be considered "thrown together" depending on the scale of the game. If nothing else, it would take at least a week for testing, debugging, and fixing, even for a small scale game.

There are several factors, but the very most important one to start with is your own skills. While under ideal circumstances, you will be learning even more while you work on a project, you shouldn't set your bar too high. If it's your first venture into making a functional game, don't plan on learning everything there is to know all in your first foray. You should get a handle on how your development environment works first. My favorite environment to work in is GDevelop. It's really simple, and really powerful. You don't need to know a single bit of code to be able to create a fully functional game. As a matter of fact, it kind of hides code functions out of the way. If you really want to do something that isn't offered in the predefined events system, it's easy enough to drop in some C++ or Javascript (depending on your target platform). But being realistic, you can create something great if you take the time to figure out how different things work, test, set your variables, test, create sprites and sprite effects, test, and debug after testing some more. Did I mention you should run tests?

If you are wanting more features, that's when you need to get into more complicated methods. Some things like creating installers, resolution handling, and other back-end stuff might be an issue with "simple" methods. That's where you need to get into coding, or more elaborate development engines with more elaborate engines. Using more complicated methods like this will require more advanced skills.

When planning your project, the first thing you should think about is "What am I making?". There are other questions to ask yourself as well, like "What's my target audience?" and "What platforms am I making this for?". But the first question should be about what you are making. If you are wanting to make a casual game with simple functions and features, a basic environment and basic skills will suffice. If you are wanting to make an open world MMORPG with 3D graphics, questing, lots of stats and skills, an inventory system, many types of enemies, and more, you won't be able to do this in a month with an "easy to use" game development environment.

In short, you need to make sure your skills, desires, and development environment align. If they don't, you'll end up with a half-completed project that won't get anywhere. It's a pain to start over from scratch in a different environment. If you're not sure your environment of choice is enough for what you want to do, work on a small scale to get your basics in place. Once you have a basic framework in place, make it functional. Then you make it look great. Doing this on a small scale will tell you if you should keep going or try it in a different environment. If you are going from GDevelop to GameMaker Studio, it will take quite a bit of learning to make that transition. While GameMaker Studio claims to be "easy to use", it's easy to get spoiled by the really easy to use GDevelop and the lack of drop-in functions in GameMaker can be a real turn off. It's important to keep learning so you can do bigger and better things.

If you have experiences or tips you would like to share, I'd love to hear about it. Please leave a comment!

The views and opinions expressed in this post are those of the author. If you have different views or opinions, please feel free to comment. The author promises to refrain from belittling you for having different opinions. I can't speak for the responses from other readers though.

No comments:

Post a Comment