Preventing Developer’s Block

Preventing Developer’s Block

Have you ever got stuck or lost motivation on a project? Learn to avoid and prevent developer's block.

Beyond The Blox’s first episode focuses on the causes of developer’s block, some ways to prevent it, and discusses how to get rid of it once it’s there. Developer’s block is when you struggle to continue working due to a lack of motivation or passion for the project, or you simply run out of ideas.

In this episode, BanTech speaks about his own experience and that of other developers on Twitter and the Developer Forum, and provides advice on how to prevent and avoid developer’s block.


Show Notes

On this episode we’re unpacking the topic of Developer’s Block – when you struggle to continue working due to a lack of motivation or passion for the project, or you simply run out of ideas.

Let’s begin by looking at some potential causes. I started developing games on Roblox 9 years ago, and spent 5 years as a freelance web developer, so I’ve experienced my fair share of blocks. I’ve put together a list after adding a few extra stories from Twitter and the Developer Forum. I’ve found that developer’s block can be caused by:

Inexperience – the project is too difficult or it takes too long.

Lack of inspiration – you ran out of ideas and don’t know what to do next.

Distractions – life, other ideas, or school/university getting in the way.

Active dissuasion – negative comments or family/friends put you off.

Annoying team members – slow workers and hollow promises.

Feeling over-pressured – worried that you’ll break the game or put off players.

Roughly half of these reasons I’ve experienced myself, and others are from stories that I’ve been told on Twitter and the Roblox Developer Forum, so we’re going to break these down and come up with some ideas for how to avoid them.

Inexperienced

If we look at the idea of being inexperienced, what does that mean? I categorised it as developer’s block that arises because you don’t know how to achieve something, or it’s taking “too long” to achieve it, in your own opinion. This can be hugely demoralising, particularly if it happens more than once on a project and can quickly kill your passion, so here’s my personal tips:

Be aware of your own skills and limitations. A lot of practice is required to be able to turn an idea into reality. Try working on small tests and demos to hone your skills. If you’re finding it tough to create a whole game at once, perhaps little mini projects is the way to go to build your confidence and your armory of skills.

Use resources like the Developer Hub and the Developer Forum when you get stuck. The Developer Hub is a self-help reference with tutorials and articles on a wide range of game topics. Even experienced developers come back to the hub frequently to remind themselves of API when scripting, or for tips when building. The Forum is a combination of self-help and actively asking for help. You can search existing resolved topics to try to find your issue, and if there’s nothing of use you can create your own topic asking for help. Just be sure to describe your problem and any attempts you’ve made so far. Don’t be afraid that people will judge you on your attempts, as I can guarantee there’s people of both higher and lower skill level on there.

If the project is still too big or complex and is taking too long to complete on your own, consider working in a team. Find some people on the forum or on Twitter who are interested in your project’s theme and goal, and bring together a team of different skill bases. Some of the other member’s skills will rub off on you as you work together and talk about what they’ve done, and you’ll hopefully avoid losing motivation.

Uninspired

Being uninspired is frustrating and confusing. Am I broken? How do all the front page games come up with these amazing ideas? Am I just not cut out for game development?

You might ask yourself these questions when you run out of ideas and don’t know where to take your project next. Perhaps you started with a really cool building or system, but didn’t really have a plan of how to incorporate that into a game people would actually want to play. So what now?

You could accept that you aren’t sure what do you with it and sell it or give it away. Your asset might fit perfectly in somebody else’s game and if you sell it you could earn some cash too. Perhaps think about going into asset development rather than trying to create a whole game. If you’ve got the skills to create, but are struggling for ideas of what to do with it, let other people pay you to make their idea come true.

If you’re set on making a game, then take some time to play other games on the platform. And as you’re playing, ask yourself: “What makes me want to keep playing?” “What makes me want to leave and never come back?” The more games you play, the better you’ll be at spotting patterns and feeling attraction towards certain games. Even if you spend a whole week doing no development and just doing this sort of research – it’s not wasted time – it will really help. Get some inspiration from successful projects and pick the elements you like most. Once you’ve got some ideas, have a planning session to come up with how you might feasibly integrate these into your project, and prioritise them.

If your project is already live and has players or users, and you’re struggling to come up with what features you want to add to keep them interested – ask them. Your players are a valuable resource and they often know what they want. Just be sure to listen to a large sample size before making any major changes to the gameplay to ensure you aren’t putting off existing players in the pursuit of gaining more. Having a suggestion system with up and down votes could help you make these decisions.

Distracted

Distractions come in all shapes and sizes, but what do you do when they start holding up a project? It’s easy to say “just ignore it” but some distractions are genuine, for example, another job, school, family and friends, holidays, etc. So how can you organise your time to allow for distractions without losing momentum on your project?

Self-discipline is one of the hardest skills to keep up, but I try to organise my time to make a clear split between work time and free time using Google Calendar. I’ll create meetings like “Watch TV” and “Check social media” as discrete blocks of time dedicated to that activity. If I’m tempted to do them in the middle of work, I remember that there’s plenty of time put aside for that later, so I’ll get the work done first. I do this with nearly all activities, including eating, practising an instrument, and seeing friends. It both stops my work distracting me from these other things, and it stops those other things distracting me from work.

Distractions don’t have to be outside of Roblox though, there’s plenty on platform while you’re working to distract you too. Maybe another idea has popped into your head and you want to start that now before you forget it. I think this is quite common, particularly if you have lots of ideas, so here’s a few things I personally do to stop this from taking over:

I have a Trello where I store all of my ideas. Several boards with several lists full of ideas. Some of them might come to fruition, others might never go any further, but they’re all there, and once I’ve written them down, I clear them from my mind and carry on with what I was doing. Eventually I might give away the idea, or work on it when I have some time, or after leaving it for a while and coming back to it, I find that the idea sounds cool but wouldn’t really work.

Suggestions for my existing games are only accepted via my website, and must be voted on by players before coming to me for review. I review them in my own time instead of real time. A great distraction can be if you’re receiving hundreds or thousands of wonderful and interesting ideas that you would love to implement. It’s important to have a filter to allow you the time to work on the current task uninterrupted, and then you can grab the next task from the hopper when the time is right.

Work on projects you are passionate about. If you’re working on it because there was nothing else to work on, then of course a better idea is going to snatch your attention. If you’re going to work on a project you aren’t too fussed about, then treat it as practice and accept that you might not finish it.

If you’re at school, homework or exams can get in your way and by the time you’ve finished those you’ve lost all momentum on the project. In this case, it’s all about time management. You want to split your working time into school and game development, or between projects if you are working on more than one. Priority calls do have to be made sometimes to focus on one piece of work if a deadline is approaching, but the trick is being able to resume your other work once that is complete. If I ever find it tough to go back to a project after taking a pause, I’ll read over the concept again, perhaps look at my idea lists, or planned features, to get my head back in the game. Sometimes that self-discipline needs to kick back in and give you the initial push, but once you’re back in it’s easier to keep going.

Dissuaded

Next up we have dissuasion – the opposite of persuasion. It’s where you get actively put-off developing either because your work is unappreciated and negative comments cause you to fall out of love with the project, or perhaps people in your life such as family and friends don’t recognise Roblox development as a legitimate job and tell you that you’re wasting your time. So what exactly do you do in this situation?

Easiest to say, and hardest to do: Ignore them. Probably not the best idea long-term, but if there’s 1 negative comment per 100 good comments on your game, ignoring it is better than letting it get to you. If it’s a bit more of a tie between good and bad – try not to take it personally and speak to some of the negative commenters about what they don’t like and what they would want to see improved. This might spawn some new ideas that could benefit all players. Sometimes it can also be due to the way you’re marketing your game – if players expect one thing and get another they’ll be disappointed. Look into whether your marketing is truly aimed at the correct audience.

Of course, this doesn’t solve the family and friends issue so easily. Maybe they don’t understand what Roblox is, the opportunities it provides and the skills you can develop here. And if you’re in it as a job, explain features like Developer Exchange (DevEx) to show that you can genuinely earn money doing something you love. They probably think that they have your best interests at heart, even if it doesn’t seem like it – if you can understand why they feel like game development isn’t a good choice for you, perhaps you can convince them otherwise.

I do think dissuasion is the most difficult cause of developer’s block to prevent, but the key point is to step back and ask yourself why you’re working on this project. You’ll never satisfy every single player, and you’ll never impress every person you meet.

Annoyed

Being annoyed by your team can lead to a very quick loss of motivation and sometimes complete abandonment of a project. Other team members might work at a different pace to you, or could even be dealing with their own developer’s block, but if the project gets held up for too long, distractions start kicking in, other projects start looking more attractive.

Whether you’re team leader, or just a member of the team, there are some things you can do:

From the onset you need a good team. Clear roles, similar experience and skill levels across the team, focused on different areas. If you’re stepping on each other’s toes or one person is carrying another, the working relationship will fade. Each member needs a clear role, and ideally their work should be able to be completed without the work of other team members, and can be integrated at the end. If there’s too much reliance on passing things back and forth between team members, even a small slip can spell trouble. Communication of requirements is absolutely key – for example, if the scripter needs the building to be in a specific hierarchy and specific grouping, that needs communicating to the builder as early as possible to avoid frustration and rework.

But what if the other team member promises to have their work done at the agreed time and then fails to deliver? Every team needs a leader who will check in every so often to make sure work is on track. If something has slipped, the earlier the rest of the team know about it, the sooner you can replan, or help them out. If the first you hear about it is on deadline day, that’s when team members become annoyed, frustrated, and don’t want to work anymore. It’s important to remember that we’re all human and things come up, but communicating about it is what makes a successful team.

Next time you feel annoyed by a team member, have a chat with them, and ensure you’re both clear on your expectations. It could be as simple as a misunderstanding.

Pressured

Pressure is inevitable. You’re just one person – your game has thousands, or millions, or maybe even billions of visits. Your Discord server is blowing up, you can’t keep track of all the messages. And you feel like you have no idea what you’re doing. What if the next update breaks the game and you lose all your players? Which feature do you prioritise first? What if they don’t like it? These feelings, these questions, they’re totally natural.

There will always be some players who don’t like something. In game development, we have to work in majorities or you’d never make anything. So let’s go over a few options:

If you’re worried the game might break and you’ll lose some players – the single biggest piece of advice I have is to test everything. Test it again and again in different scenarios with different people on different devices. If you push lots of half-baked untested updates, your players will get tired. Testing doesn’t guarantee there aren’t any issues, but it certainly catches the majority of them. And remember – if an update goes really bad, you can roll back to previous versions on the Place configuration page. I’ve had to do it once or twice, but be honest and let your players know what’s going on with all the server restarts. Take the time to understand the problem before trying to release it again.

You’ll be surprised how resistant your player count can be to things like that. It’s certainly not the end of the world, and if your game has good retention your players will come back once everything is stable.

Knowing which features to prioritise first is hard. It should be a combination of what you want to do, what you feel is feasible to do in the time you have, and if you are taking suggestions from players, you ideally want to focus on things they’ve asked for. If those three factors don’t agree with each other, then work on the feature that you personally want to work on. If you force yourself to work on something you don’t like, you’ll just run into another form of developer’s block. For your own mental health, sometimes you have to take a step back and forget about the player count for a moment.

What about when you’ve got a new feature or a new game, you’ve hyped it up and drawn lots of attention, made some big promises, and now that the release is approaching you realise that the final product might not be as good as you’d hoped. You did your best, but perhaps you got carried away on the hypetrain. Well, again, it’s not the end of the world and it’s not necessarily the end of your game. Try getting a small group of testers to try it out and let you know what they think. If they say they’d still play it anyway, then press ahead and perhaps have a list of some of the things you want to incorporate in the future to improve it. Alternatively, if your testers really didn’t like it and you’re not happy with the product, then postpone the release. Tell your players it’s delayed because the quality wasn’t right and you’d rather release it properly than need to roll out loads of extra updates to get it to where it should be. I’ve personally done this a few times and the response is usually positive – people want to play the thing you promised them, and if it’s a choice between getting a worse version now, or a good version later, most reasonable players choose the latter.

Acceptance?

That’s my take on the causes of developer’s block, and a few ways to overcome it, but I’d like to take a moment to explore the other side – is developer’s block actually a bad thing? Should you even try to overcome it, or is acceptance the correct thing to do?

Sometimes it’s okay to leave things half-finished and treat them as practice. Any development you do, whether seen through to completion or not, will benefit your skills and experience. I have plenty of abandoned projects under my belt, and I’m pretty comfortable with that. Looking back I can see why some of them failed, why I didn’t fight to keep going, and I’m glad that I chose to focus on more successful concepts that I enjoy more.

I think it depends on how you truly feel about the project. If it’s something you’ve always loved then perhaps you’ll want to employ the techniques mentioned earlier to keep the project alive. If you weren’t too bothered in the first place, then maybe this block was inevitable. And as I touched on earlier, not everyone is cut out for developing whole games from scratch – becoming an asset creator, renting out your skills, might be a better career choice for you.

Conclusion

If you don’t feel like accepting it, and still want to push ahead, then here’s some final, general advice that I think can help us all to stay focused:

Get a version of your game live as soon as possible to start growing an audience. Work towards a minimum viable product and add more features later. The audience will provide motivation and ideas, and if you monetise early you should be able to fund the project and avoid running out of cash.

Work in a team (though keep an eye out for the team-related blocks). Doing everything yourself can take a long time, even if you have all the skills, and you can motivate each other. If you are worried about someone judging your skills then pick team members with different specialties to avoid overlap.

Try to stick to the plans you’ve created and identify delays early to allow you to replan. Ignoring or deviating from the plan can lead to a lack of direction, and ultimately, lost focus.

With these ideas and tools to help keep your mind on track and keep the project rolling, hopefully developer’s block no longer controls you, and becomes a little bump that you can easily step over.


Beyond The Blox is brought to you by BanTech Systems.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.