It has never been easier to learn game development. At the same time, I see more and more mistakes I made as a beginner developer propagating throughout development beginner level courses.
Some of the most common issues relate to initial scope (of the project or the team itself), the lack of appropriate realism/pragmatism around the delivery of said scope, as well as no proper study of the basics.
These were all my mistakes initially. Sure, everyone makes their own mistakes, but it's also true that most beginners make them, whether on their very first project or their first few projects. One of the important realizations for beginner developers is that they aren't simply making some plaything, but rather, a product.
Start with the basic building blocks
I could keep going on about why the above-mentioned mistakes are made. But I'd rather focus on an approach that will help you make any game you set out to create. It's not an exact science, mind you, it's just an observation based on experience.
Okay, so where to start? Make a game; an easy game, to be more precise. But dive straight in and make it. The best way to learn is to do.
But if you're struggling to know where to start, a good place to begin is to think about the kinds of interactions that will happen in the game. How do I move the player character? If I choose a point-and-click approach (for example), I'll need to "map" the position of the mouse (that is, a 2D movement over either a 2D or 3D space). So I need to be able to translate a 2D screen position to a 2D or 3D world position. In this case, the screen itself can be considered a window into the game world.
This may all seem highly elementary or even redundant. But in this example, where, say, the left mouse button has to do something in the world, this simple interaction will be dependent on whether or not the left mouse button is hovering over a specific position in the world. What is the target object? Is something covering it, or otherwise causing issues with this specific interaction?
Let's take a different example. If I'm making a platformer, what sort of controls do I want? More precise, or looser? Am I making a 2D or 3D platformer? Both can - and often do - have a very different game feel.
Bear in mind that it's possible to experiment with and test out these basic, fundamental interactions very early on. Sophisticated character designs and models can come later, once the core mechanics are settled. Avoid the temptation to polish all the visual details early on while you're still building the fundamentals.
The language of video games
It's difficult to escape code literacy when building a game, because all games are built on code. Remember that different coding languages are languages; what I mean is that each one has its own rules of engagement. Each type will have its own documentation and associated techniques.
Speaking of language, I recommend taking a pen and paper and writing. Write down all the keywords associated with your desired game. If you want to understand how this works in practice, take a video game you know and try to distil it down to its basic components on paper. What is the movement like? What fundamental actions/interactions are supported?
Think about scope and structure
Now that you have a sense of the basics, give some thought to the overall scope of your project. Start from the simplest components and build outward from there. Be cautious about scope creep, and consider how you can constrain scope so that you're able to focus on making the core gameplay fun.
I also recommend thinking about the in-game menus at this point; what sort of options should players have? How does this tie into the scope you've defined?
You can now think about fleshing out more details, including the art design. The design of your characters - their shape, size, and even the narrative - may change and shift during development, but everything hinges on the core mechanics we discussed earlier, so you're able to course correct without starting the entire project again or changing fundamental building blocks.
What is "fun"?
All of the elements I've described above need to work in concert with each other. At this point you're seeing a game take shape before you. It may not be the most fun it could be early on, because finding the fun can be an iterative process that shifts over time. Pay attention to "game feel" - this is also where it can be useful to analyze how other games achieve this. Be open-minded too, and avoid becoming too wedded to particular ideas. How snappy are your controls? Are they laggy? Is this deliberate or not?
Finally, as well as jumping in and building something, I also suggest making a study out of game design. Explore the possibilities around different game engines, for example, and have a go at experimenting with different ones. Try to make a small game every other week and track your learnings as you go. Study the tools and language you're going to use and focus on small, achievable projects. Go and explore.
I hope this approach helps you if you're stuck. If there's only one thing you take away from this story, then I think it's to always remember and focus on the basics.
Sign in or become a SUPERJUMP member to join the conversation.