"init" = initiate (start)

function _init()


In game development, "init" refers to a function that initializes or sets up the game's initial state, variables, and resources before the game starts running. This can include loading assets such as graphics and sound files, setting up the game world and player, initializing game mechanics and rules, and performing any necessary calculations or configurations. The init function is typically called at the beginning of the game or when a new game session starts, and is important for ensuring that the game runs smoothly and as intended.


24 Apr 2023

function _update()


In game development, "update" refers to a function that updates the game state and renders the game world on each frame of the game loop. The update function can include code that updates the position and behavior of game objects, handles user input, performs game logic, and calculates physics and collision detection. The update function is called once per frame (30 times per second) and is critical for ensuring that the game runs smoothly and responds correctly to player inputs and in-game interactions. 

To increase the framerate of the game, use _update60 instead.

function _update60()



15 Mar 2023

function _draw()


In game development, "draw" refers to a function that renders the game world and its objects onto the screen. The draw function can include code that displays graphics, animations, text, map, and other visual elements that make up the game's user interface. The draw function is called after the update function has updated the game state on each frame, and is important for displaying the updated state to the player. By rendering the game world on each frame, the draw function ensures that the player sees a smooth and responsive display of the game, enhancing the player's experience.

The draw function will match the update function's framerate. So if you use _update60() then _draw() will also run 60 times per second.


15 Mar 2023

Game development is the ultimate creative endeavor, with the potential to bring all forms of art, music, science and mathematics together. So it's no wonder why game developers often struggle with lack of motivation and creativity.

We have gathered experiences and advice from game developers in the community to create this reference to help you "debug" your motivation "errors" and get you productive again.

# Error Message Read How to Debug
1 I feel overwhelmed. The project is too large, difficult, or complex, and I don't know how I'll manage to finish. Too Large of Scope
2 I feel lost and uncertain of what to do next or where to take it. Lack of Clear Goals
3 I feel deflated like someone took the wind out of my sails or snuffed out my fire. Negative Feedback
4 I feel pressured to reach the expectations I or others have for my quality of code/sprites/audio/gameplay. Fear of Failure
5 I feel a desire to make something but I'm stuck not knowing what or I already started but I feel bored with my own project and progress feels like walking through mud. Lack of Inspiration
6 I feel detached, separate, and alone, wondering if anyone will even care about what I am making. Isolation
7 I feel like people don't understand what I'm trying to do. I question whether I should be doing something "more productive" with my time. I hesitate to show or ask others about my project for fear of them being more discouraging. Unsupported
8 I feel slow and unproductive, debugging or rereading the same line of code, fighting myself to focus. Rest
9 I doubt my own knowledge, abilities, and skills. I feel like a failure and a fraud. I feel like my past successes were purely through luck, and I fear that the people who think I am good will find out that I'm not. I worry that I'll never actually be as good as others think I am. Imposter Syndrome
10 I feel like I've lost my drive, passion, or purpose. Like the fire in my belly has been put out and I just want to reignite it. Intrinsic Motivation

Too Large of Scope

Scope refers to the boundaries and limitations of a game development project, including its goals, timeline, and resources. It outlines what the project will and will not include, and helps ensure that the project stays on track and meets its objectives.

When a project or a problem within a project seems too large and complex, it can be demotivating. Break it down into smaller tasks and consider their priority and order. Create a checklist or a to-do list to keep track of progress and provide a sense of accomplishment as these smaller tasks are completed.

Instead of looking at a giant wall in front of you that you can't imagine climbing, creating smaller more achievable tasks is like turning that flat wall face into stairs. Start climbing those stairs one at a time and you'll soon be able to look back down and be proud of how far you've come.

You can also break one large project down into smaller projects. If you have a dream game in mind, break it down into it's component parts. Set the dream game aside, and take each of its component parts as a challenge to create a small game focusing on one component at a time. Eventually, you will have learned the skills to put all of those component parts together to pick back up and create your dream game.

Lack of Clear Goals

Without clear goals, it can be difficult to stay motivated. Set specific and achievable goals for each task or project, and create a timeline for completion. Having a clear sense of direction can help maintain focus and motivation throughout a long project. So take the time to step away and lay out your design ideas in an organized list of priorities of what you need to get done. Making a checklist out of them often helps.

It's also a good idea to find your MVP (minimum viable product) within your list of tasks. Ask yourself, "at what point would the game be fun to play?" All the rest is just extra icing on the cake. So lay out your tasks with the goal of reaching MVP before doing any of the extra polish.

However, sometimes we start a project without any specific idea in mind. It is very possible to develop games, starting from a single mechanic and see where it leads, hoping it becomes fun and interesting along the way. But there is a common pitfall with this approach. You can develop it in a wrong direction for too long and find a deadend or not like where it is going.

In this case, take a look at your project so far and be honest about what you feel is working and what is not working. It may be hard to admit, but you may need to cut out something you've spent too long on that is simply derailing your project. When we are developing a game by experimentation then we are bound to make a wrong decision or two.

So when working on a project that intentionally has no end goal, you must also be willing to backtrack and admit when an experiment has failed. You will stay much more motivated if you can make small course adjustments sooner than major ones later. This is because the more time and effort you put into a specific course, makes you feel more invested in that and less willing to give it up.

One way to ensure you are making smaller adjustments is to prototype ideas fast, and have playtesters try them out. Even if you love an idea, be willing to throw it away if your playtesters hate it. Then quickly try something else. Eventually the trial and error approach will reward you with a clearer image of what your game is turning out to be.

Negative Feedback or Harsh Criticism

Negative feedback or criticism can be demoralizing, especially if it feels unwarranted, or unfair, or coming from someone you expected positivity from. As much as you may want to withdraw and stop communicating with that person or within that community, fight against this feeling and continue the conversation instead.

It is possible that this person meant to be helpful not harmful. In which case, expressing your own feelings of hurt could elicit an apology and clarification from them.

It is also possible that they are offering suggestions for improvement more bluntly than you are used to. Asking them to explain more about what they mean could help you both discover the true source of their criticism and you might find that it is actually simple to improve on.

It is unlikely but still possible that this person is actually trying to be hurtful and demoralizing. In this case, it is important to recognize who these people are and realize that their opinions are not genuine and don't represent the opinions of others.

In all cases, remember that criticism is an opportunity for growth and improvement. Take a constructive approach, listen to feedback, and use it to make the project better, or embrace it to fuel and inspire you to prove them wrong.

Perfectionism & Fear of Failure

Striving for perfection can be paralyzing and lead to procrastination. Accept that not everything will be perfect, and focus on making progress instead of achieving perfection with every step. Embrace imperfection and any failures as part of the learning process and a necessary step towards improvement.

Focus on measuring yourself by your progress and small wins, and seek support from friends and community members when needed. The goal is not to get it right the first or even second time. The goal is to compare where you started with where you end up and be proud of the difference. The mistakes you make along the way are necessary to increase the amount of improvement in yourself that you will be proud of.

If you are seeking perfection, it will shine in the final product, not in your drafts, but polishing that gem is a process of trial and error.

Lack of Inspiration or Interest

If you are having difficulty starting a new project, and are feeling uninspired, then seek out inspiration through other mediums, such as music, art, or literature. Don't stare at a blank page or screen and try to force inspiration. Engage in activities that bring new experiences. Allow inspiration to come naturally and from unexpected places. You'll never find inspiration from things you already do often. So take a different road on your way home. Watch a movie you would never choose for yourself. Allow for more variety of what you take in and you'll discover more variety of output in the form of inspiration and ideas.

If you are already midway through a project and find It hard to stay interested in it, then take the time to find ways to incorporate your personal interests into the project. If you find that your interests have shifted to something else, first try to bridge your current project over to follow your new interests. Try not to set your current project aside for something that appears more interesting right now, because that will likely happen again and again and you will feel much worse when you look back on a mountain of unfinished projects. Instead, use that interest in the new, to fuel your perseverance of completing the old.

If you don't see how to align your new interests with your current project, then make a decision to only allow yourself to start the more interesting project after you have completed the current one. Use your interest and inspiration in your next project as your reward and let that fuel your motivation towards completing the current one. You will be much happier for it in the long run. 

Isolation & Loneliness

As hobby game developers, we are usually working solo in secluded spaces for long times, hyper focused on our projects, and happily introverted. But introverted or not, working alone for long periods can be isolating and demotivating. So don't forget to check in with yourself if you start to feel too detached from others. 

Reach out to your friends and try to engage in something more social. It may be trying to have a board game session, going to see a movie, or doing some physical activity you enjoy together.

Within game development, seek out opportunities to collaborate with others, whether through involving your friends or asking within your online communities. Engage with other developers and seek feedback and support.

If any of those options don't sound appealing, even a simple change of environment could help. Instead of doing your work at home alone, bring your work to the library or café. Simply being among others could be all the social rejuvination you need to feel comfortable and motivated again.


Within a hobby community, a negative or unsupportive environment can be demotivating, especially for new members. Seek out a more supportive group within the hobby that values encouragement and positivity. If you feel it is possible, advocate for changes in the current environment away from the unhelpful, antagonistic, or demeaning responses you've received in the past. You may be surprised how your courage to address the issue can inspire others to speak up and agree with you.

Another way we can feel unsupported is from our close family and friends who don't share the same passion or understanding of this game development hobby or potential career. Be honest with them about your passion and don't shy away when they try to make snide comments or remarks that make you feel ashamed of how you spend your time. Communicate with them openly and come to an agreement so that you don't feel discouraged by their lack of support.

At the same time and just as important, listen to what they have to say, and reflect on it. We can indeed get carried away by our passion projects and neglect people or responsibilities that should have more priority in our lives. The important thing is to communicate and adjust your life so that you don't feel guilty of the time you do spend in the hobby and the people around you will be more encouraging of time spent here as well.

Working Too Long

Often times, our motivation to work on our project can even be too strong! It can keep us working for too many hours without breaks and can lead to burnout. Take the time to check in with yourself and be honest about your current ability to focus. Prioritizing rest is an important way to help maintain motivation levels. We often overlook eating or sleeping when we are enjoying what we are doing. The tough part is to stop yourself when you obviously need a break, especially when you feel like you are close to solving a bug.

Well if you are fighting to use what little attention and energy you have left to solve something you feel should be simple and obvious, chances are that it is simple and obvious, and you just need sleep in order to see it clearly.

Ask any programmer because we have all experienced regretting so many wasted hours staring blankly at a problem, only to give up feeling defeated, going to bed, and then immediately realizing the solution when we wake up. We all wish we just took the necessary break sooner and paid better attention to our body's need for food and/or rest.

Imposter Syndrome

This is a common feeling among game developers. Game development is a field that stretches into many disciplines of learning, and each corner of the hobby can be learned to a great depth. It involves math, language, logic, art, music, writing, story telling, design, and more. Each of us have different strengths and skills and it's near impossible to be great in all of those aspects.

So it makes it easy to see other game developers who are great in one or two areas and think they are simply far better overall and that can make you feel inadequate by comparison. But the truth is, those developers experience the same thoughts and feelings about themselves.

Take time to reflect on your achievements and give yourself credit for your successes. Keep a record of your accomplishments, and remind yourself of them when you start to doubt your abilities.

Share your feelings with others in the community, especially the ones you look up to, who can offer support and perspective. You may be surprised to learn that many of them also experience imposter syndrome.

Challenge negative thoughts about yourself by asking yourself if they are truly based on evidence or if they are assumptions. We often fall into the bad habit of assuming others are simply being nice when they give compliments and don't actually mean it. Throw those assumptions away and accept the compliments you've received.

Recognize that making mistakes and experiencing failure are natural parts of the learning process and that everyone, whether thought of as a master or expert, always has room to learn more. Know that you will earn more respect by admitting and displaying your own shortcomings than by appearing as flawless. You don't need to be perfect to maintain and gain respect from others.

Lost Intrinsic Motivation

Many of us don't actually know why we were drawn to this hobby, or what compels us to put so many hours into learning and creating. Our intrinsic motivation (the motivation that comes from within) is a very unique thing to each of us. It could be a desire to be recognized, to help others, to have fun, to learn something new, to prove something, to express something, to acheive something, or a number of others. 

The important thing is to look within for motivation, not at what you might gain externally. Stop chasing likes and follows on social media. Ask yourself, "what fueled you before? What emotion drove you?" Did you achieve that in your last project, and now you don't have that to drive you anymore? 

Find what is at the center of your personal motivators and reconnect those reasons to your current project. Make the decision to hold to this goal.

If you cannot discover and reignite your internal flame this way, then try communicating it with close friends who are good at listening. Trying to get others to understand what motivates you could help you to better understand yourself, and you might just have a realization along the way that sparks the flame you were looking for.


27 Apr 2023