How did I improve my game dev productivity?
If, like me, the things you were most afraid of when you set out to create your game are :
- be short of ideas
- having your concepts stolen
- not choosing the right game engine
- not finding the right name
What I'm about to tell you may not be pleasant to hear, but chances are you're overestimating your perseverance.
Of course, the concept of the game is very important, and of course we've all heard the story of the guy who got his genius idea stolen by a crooked multinational. But how many games never see the light of day because they are abandoned by their creator along the way? Did you know that the developer of Stardew Valley, Eric Barone, worked for 4 years solo on his game before launching it? Impressive perseverance, isn't it?
With a little hindsight, I realize that beyond having the famous good idea that will revolutionize the video game industry, it takes a lot of strength of mind to resist all the distractions that life offers (and I'm thinking more of the attention economy than a good beer) to move forward on your project.
On these undisguised accusations, I share with you some tips I use on a daily basis to gain productivity and thus increase the chances of publishing my game one day.
1. Limit social networking
If it's free, you're the product. In the age of social networks (I sound like the Boomer I am, give me a break), this sentence is a distressing reality. These platforms make money in two ways: advertising, and your data. The equation is pretty simple: the more time you spend on the networks, the more ads you see, the more data you give away, and the more cash they make. So it's in their interest to make you spend as much time as possible with them.
If you're interested in the concept and want to learn more, I think it's called the attention economy.
Be aware of the time spent scrolling
Aside from the adverse effects on our health that many studies point to, you wouldn't believe how long it takes to scroll. To scare you off you can, at your own risk, look on your Android smartphone in "Settings", then "Digital Wellness and Parental Controls" to bring up a graph that illustrates your phone usage throughout the day.
Far from me to blame you, personally I love to scroll and I find so many interesting things on Insta, Tiktok & Twitter that I don't plan to do without it. Let's just say that I'm trying to make people aware of the abyss that it can be.
2. Putting my smartphone to sleep
To gain productivity, I remove anything that might interrupt my task of the moment. Even if I can't deactivate my cat, I can do it for man's other best friend, the smartphone. I've gotten into the habit of putting it away from my desk or using the ForestApp app, which helps me separate myself from it while I work. The great thing about today's smartphones is that almost all of them have a "Do Not Disturb" mode to silence notifications. It's up to you to set this up.
The results? Fewer interruptions, more focus and more productivity.
3. To have an adapted work environment
Visual, sound or physical discomfort, I believe that my efficiency also depends on a healthy work environment. The noise of work, the crowd of a crowded café, an uncomfortable chair or a slow connection are all obstacles to my productivity. I like to work in a quiet place, accompanied by a Matcha Latte (which isn't just a boo-boo thing where I am right now), with plenty of light.
Who was it that said "Good in the head, good in the game"?
4. Reuse your code
If you're doing video game development, I'll let you in on a poorly kept secret to be more efficient: reuse your code.
I invite you to look at Object Oriented Programming with the notion of inheritance(the Parent/Child concept in Game Maker Studio), or theuse of functions. As soon as you have objects in your game that work in a similar way, there is a good chance that you can save time by reusing your code. This way you avoid duplicating things when you don't have to and you save time on maintenance.
5. Naming your variables & commenting your code
And no, the super developer I was three months ago probably doesn't remember the use of the
theVariable2 = 1because neither its name nor the lack of comments help me. While a well named variable, like
bulletVelocityX = 1This is the only way to ensure that the code will be easily understood, both by its creator and by the people who will one day read it.
Then, without turning my code into a living documentation, a few well placed comments will always be a precious help for a developer in distress.
6. Write down your objectives
Writing down your goals increases the chances of achieving them. I usually open my Git Hub project to put my next steps. The shorter and more concise the better. I like to add a deadline, a status (to do, in progress, done), and a category to have more visibility. I also try to keep it as realistic as possible, because noting "Finish my game" unfortunately doesn't work.
Special mention if I share my goals with someone else, in a way it forces me to move forward, and I have even more chance to validate them.
7. Take breaks
Contrary to the prejudices and the feeling that it provokes, taking a break is not a waste of time.
For a while, I used the Pomodoro Timer technique, which allowed me to alternate breaks and work sessions. If you have trouble managing your time, I urge you to take a look at this method.
8. Save your work online
A cat jumping on the desk and spilling coffee on the brand new MacBook Pro? The Windows update that restarts the computer without asking? The power outage that happens the second I think about hitting the save button? Yes, of course this only happens to other people. But in the unfortunate event that I have to pay for it, I have taken precautions and I save my work online.
I save everything on Dropbox, which is an online storage service and version my project with Github. Taking the time to protect my data is a small gesture that takes me a few minutes and costs me a little money, but what a relief to feel safe.
9. Doing research beforehand
Google is my friend, and someone has probably asked "how to create a rogue like " before me. I often save myself a lot of headaches by doing a quick search before tackling a new script. Similarly, when I'm making pixel art, a trip to Pinterest and Twitter allows me to get inspiration from the best (and there are many), so I can avoid the blank page syndrome.
10. Join a community
This point is somewhat related to the previous one: the power of collective intelligence is no longer to be proven. Many times I've asked questions on the Game Maker Studio discord (the game engine I use), and it's a real time saver not to be alone with your problems. Whether it's on Discord, Twitter, Facebook, Linkedin, or even a dark skyblog, having other people around can unblock many situations.
Here's the non-exhaustive list of things that help me improve my productivity, hopefully it helps you in your quest for performance! And if you have any tips to share with me, I'd love to hear from you in the comments.