Completely lost?
I read the topic, but the truth is game making is not one dimensional.
The main difference between a engine and a game is that an engine has a clear goal, and a clear solution. Everything you’ve learned in school can be directly applied to solving the problem. A tech demo that shows off the 2D particle engine has no other goal but to show off the particle engine. It is precise, concise, and rudimentary to perform.
A game is not clear cut…
Unlike the tech demo, there is always something you can do to expand games. In this case, games force a programmer to find focus. If a programmer can’t find something to focus on, the game will never be produced. So, even with all the advice, if a programmer can’t decide what to focus on within himself, the game will always remain lost in thought.
The way I keep my brain from going crazy is by telling myself to think of every possible crazy idea at the start of the program (brainstorm) and write them down. When the brain had its fill, I then get to work to see what is doable from what isn’t. I keep shrinking that list until it becomes a few tasks. I usually finish games and applications by finding a core mechanic and working on the mechanic until it is completed. Then I work on the next most important, and the third most important. Pretty soon, I end up getting a game… it might be rough, but it is still playable.
I always find it hard to define the word “fun” in terms of gaming.
It takes the right blend of visuals, mechanics, and challenge to hit that nerve. The weakness about something that can’t be measured is that it breeds discouragement. What is a fun game to you can be boring to another, there are niches for everything. When designing I always try to make something that is fun for me to play, something that engages me. If I’m not having fun with my game, how can I expect anyone else to?
Gaming is, well, just not in tune with the developer psyche.
When we code an engine, we know without a doubt that the time used to code that engine was not wasted, and that the result we’ll get is certain. With gaming, you have to be prepared to let go of 80 - 90% of your code base sometimes if a mechanic did not perform the way you wanted. The last thing programmers ever want to do is think that their code was a waste of time and scrap it.
Welcome to game programming…
I hate to say this, but when you develop games, you have to be prepared to lose code. Not every part of your engine will be used, not every piece of code you write will be important. You have to be ready and willing to drop your code if it doesn’t meet the mechanics. In other words, gaming is the slash and burn tactics of programming, and it requires programmers to achieve a new thinking process.
Are you crazy?
Well, if you want to be a successful game developer, you have to assume the risks. That is why many of these people achieve this by accident. They didn’t go out to create a successful game, they were just at the right place at the right time. As a programmer, it is about building the code and seeing if it is your time.
However, it is also the reason that many of these projects don’t get done.
The more you code, the higher the stakes of losing a lot of code and time. Programmers end up wanting so much not to fail, they end up walking away to forget about all that wasted time and effort. They start a new project to forget the fact they are sitting on a pile of forgotten work. A bandage over the wound.
However, like all messy closets, the space becomes so cluttered that the door can’t close. There you are with 100 unfinished projects and not one you can say you completed. It is a horrible feeling to have as a programmer, the feeling of not completing something…
Game engines are calculated. Game making is a risk.
When you go out to design a game, your code is already lost… so don’t try to salvage it. Keep going… keep going… and when you are at your breaking point keep going. It is only those individuals that end up with a game in the end of it…