How efficiently do you spend your time when developing a game?
It’s is a huge undertaking, especially for an indie developer working on your own or as part of a small team. These tips help ensure that your valuable time is spent creating something awesome and not wasted on dealing with common frustrations.
Tip #1: Organize Your Code
By implementing collapsible sections and dividing your code into separate classes and packages, you can turn any script, no matter how large, into something more manageable.
In C# and Python, these are #region and #endregion fields. In development programs like Eclipse for Java, this same feature is accomplished via the commenting structure. Whatever the specifics are for any particular language, know that they exist and are meant to simplify even the most difficult scripts.
A good way to put these into use is to group similar methods together. For example, if you’re dealing with a player script, group all of your physics and movements into a single region. Methods that deal with health and stat changes go into another—implement sub-regions within regions.
Tip #2: Treat Each Project Like You Have a Team
Even if you’re a solo developer, work on your project as if you have a team of five to twenty people.
An easy way to accomplish this is by adding comments and tooltips. Comments explain, in plain English, what is occurring inside of your code. Tooltips do something similar, but show within your development program, like Unity or Unreal. Write these as if you’re explaining how your program works to someone looking at it for the first time.
Another good idea is to write your code as short, sweet and specific as possible. Methods should accomplish their core function and nothing additional. For instance, a method called AddUpgrade() should only add an upgrade. It should not be responsible for removing an upgrade, modifying it, or changing it otherwise.
Tip #3: Know When to Invest Money in Your Project
Work on your projects as if you’re paying yourself hourly. What are your strengths? What are your weaknesses? At what point do you benefit by contracting them out?
Even as a coder, there are different areas of expertise. You may feel comfortable writing gameplay mechanics, but less so when it comes to implementing in-app purchasing, advertising, or save states. Contracting someone or even purchasing pre-made scripts can save time and prevent headaches.
The same goes for music, voice work, and story writing. Unless time is not an issue, you may find better value at being great at one or two development-related tasks and then investing money into obtaining the rest.
Tip #4: Know How to Debug Your Own Code
No matter how well you explain a problem, no one understands your program as you do.
Depending on the error, different debugging solutions may be more helpful than others. If it’s syntax related (ie. missing or having extra punctuation), then using a CTRL+F “search” feature might be all you need for a quick and easy fix.
When problems become more complicated, that’s when it’s time to consider using console commands and debugging tools. Your development program should have a debugger built in that is capable of pausing your program where you set your breakpoints. If not, having console text print outs when certain events occur (or fail to) can help isolate the source of a problem.
Tip #5: Learn How to Ask for Help Online
At some point, you’re likely going to run into a problem you don’t know how to fix. When this happens, the best way to get help is to first know how to explain what your issue actually is.
Before, and when posting a question online, be prepared to give as much information pertaining to your error as you possibly can. Here are a few bits of information to provide when you post:
- At what point in running your game does the error occur?
- What steps have you already taken in an attempt to solve it?
- What is the exact error and what’s the line of code causing it? (if known)
- What solutions have you already ruled out?
- Can you post screenshots or videos of the error?
Start Developing Your Game!
Making a game is no simple task, but the best way to succeed at it is to try—regardless of whether you succeed or fail. Perhaps the best way to start developing your game is a little bit before you think you are ready. You may just surprise yourself with what you can do.