10 Things I Wish I Knew Before Starting Game Development

Hi, I'm A. H. Alwagdani, and I'm just like you, a game developer with big dreams to develop games bigger than me and make my own indie studio. I've released two games so far - currently working on my third one.

A preview of my third game, Neon Moon.

Before starting game development, knowing these 10 things would have saved me a lot of time and headache. Although they're important to know in any profession, in the game development world, I feel like these things are even more vital. I'll even dive into some more topics within those 10 points so you can also know what to avoid.

Before starting with your first game and your journey into game development, there are a lot of things that can be confusing and intimidating. From understanding the different types of assets to knowing which game engine is most appropriate, it’s easy to feel overwhelmed by all the new terms and ideas. To help you get started on your journey as a game developer, this article will cover 10 important things I wish I knew when first starting my journey into game development!

If you find yourself feeling lost or confused about anything concerning video games and their creation, then hopefully, these tips will help clear up all the blur.

1 - Let's answer some important questions:

What is your motivation to make games?

If there's no motivation behind making your first video game, chances are it won't come out very well or you'll get bored with it before it's finished. That is why potentially great developers can't get their appropriate start on this journey. Maybe you just think creating games is just fun or that it looks simple enough to be able to crank something out over the weekend (spoiler: It isn't, but is still fun.)

You need to have a clear answer to this other question:

Why do you REALLY want to make a video game?

There is a lot of information about video game development that can be confusing and discouraging as one first starts their journey. Luckily, there are also many resources available to help first-time developers (like this one). However, to avoid feeling lost in the process of making your first video game, it's important to know the answer to that question.

It's very difficult to respond to that without ending up with another question, and that question usually is...

Can I learn game development on my own?

The answer is: Absolutely, with a twist.

It all depends on how independent you are in finding information and how fast you learn from experience. While online courses can be tempting, they shouldn't be your primary goal. Instead, try to learn from experience. After all, you are not only learning game development; you are learning how to develop games; to create games is to have a clear understanding of what triggers that excitement factor in your games and what makes them more interesting for the user.

So, to summarize this point:

- If you want to make video games because you think it's easy, you'll soon realize it is not.

- If you don't know why you want to make video games, you won't have the motivation to continue your journey and make a complete game.

- You can learn game development on your own, but it can be difficult with a grain of sugar.

How game development works:

Most likely, the first thing you want to do is make sure you have a clear picture of how game development works. One way to describe it may be like this: game development requires many different skills to come together (programming, art, music, design, etc...) to make one finished product. Normally, in big companies, each aspect is handled by one or more people that have more experience with that subject. However, if you're on your own, you'll need to wear many hats and stretch yourself far beyond your limits if you want to make something great.

That doesn't mean it is impossible! It just means you'll need a lot of discipline and resilience.

How do I get started in game development?

That is a very broad question and answering it is not easy, however, I can share how I started down this road and it should be on par with what most newbies should do.

I knew nothing about game creating when I started. I had little to no experience with any of the skills required to make video games, but that didn't stop me. I just picked a story, found a source of inspiration, and said, "Let's do it!".

I started playing around with random tools and got a feel of how each one worked. I didn't know the best way to go from point A to point B, so instead, I started from point Z and slowly progressed on my journey.

What does that mean? I jumped in deep and started to mess around until I understood it all. It took time, but everything worth doing takes time. However, with the pointers I'm going to provide you, you won't have to be as confused as I was.


2 - None of us know everything

SoUnd Is ToxIc

SoUnd Is ToxIc

In the first few months of my first endeavor, (SoUnd Is ToxIc), I tried to learn everything.

I spent more time on forums and blogs than actually thinking of what my game idea was going to be. That was a huge mistake I made that I wish someone had told me about beforehand. Don't try to learn everything before you create your first video game! You'll just burn out and never get anything accomplished.

Instead, pick a small topic to study and think of your first game's idea. Trying to understand everything from A to Z will not help you get started on your first video game at all! For many first-time developers, it's best to start with something you think you'll enjoy or have an interest in - things like animation or your choice of programming language. No one is a jack of all trades, and even if someone like that exists, they'll never be good at everything.

By saying all that, what am I trying to get to?


Anyone can make a video game:

While it is true you need to learn many different skills in game development, don't let that intimidate you! You CAN make a video game. It doesn't have to be hard. The hardest part about game development is trying to get started! The journey itself is bumpy, but way easier once you pass the first bump.


How much of a game programmer do you need to be?

Visual Studio

Game programming requires a lot of attention and care. You can't just slap code together and expect it to work, but there are ways around that.

One way is by using tools such as Visual Studio, which, while using something like the Unity Editor (explained in further points), can autocomplete for you.

Programming in itself is hard enough, so not everyone needs to be a programmer in video game development - unless they want their own engine of course. But I think most beginners should consider becoming more of a jack-of-all-trades instead of a king of one!


Do not compare yourself to others:

You are not them.

You are you.

And they are they.

That's the golden rule! Never ever compare yourself to other game developers. Indie game development is a very unique and special area of interest. Indie developers are so quick to share their works in progress and the behind-the-scenes of their progress. They tend to be very passionate about the games they create and want others to know how much work goes into them. So, don't compare, because if you keep dwelling on how your game doesn't look as good as others', then you'll never finish your own games.

The most important thing you can do is to do a lot, but not too much:

It's a common mistake for new indie game developers to feel they have to implement everything by themselves. While this may seem simple, you should NOT do it!

You don't need to make every asset from scratch and you definitely don't need to code your own engine. Indie studios usually consist of around four or fewer people - making something from scratch is incredibly hard when there are only a handful of team members.

That being said, if you want an impressive portfolio, go ahead! But know that not everyone needs to be a master at everything. If you're a great artist and not so keen on programming, that's fine too… Just take advantage of tools such as Unity which allow programmers and artists alike to come together and create stunning games!

So, while you should do a lot...

Pong game

3 - Your first game should be as big as Pong

There are a lot of first-time developers that have this idea that they're going to make the next Grand Theft Auto or The Legend of Zelda. I know it's exciting to make games like those, but first-time game developers shouldn't start with something like that.

Instead, your first game should be as small and simple as possible. This will allow you to learn things without feeling overwhelmed and is way more motivating than starting with something out of your league. You start to learn the process of making games gradually instead of getting discouraged early on. With a simple game, you can check it off your list as done and move on to something bigger and more your new size.

It also means you'll want to spend less time making your first video game, which will give you more time for marketing (which is 75% of the game-making process) your next and bigger video game.

So, focus on building your valuable skills while making that first simple game. And now let's move on to the fourth point of this article.


4 - Pick a small idea for the second game and watch the game's scope

This is another mistake first-time developers tend to make in their game development career. Just because you are now jumping into the second game after learning some valuable tips doesn't mean you should inflate your game to infinity.

I'm sure you've seen this happen with first-time game developers. They'll spend years on their second game, but it's too big and complicated, so they end up getting bored or not finishing it (thus wasting all that time).

This is because first-time game makers often break one of the few golden rules for video game development: pick a small idea, even for the second game! It's better to grow slowly than to grow and fall immaturely because you didn't build that necessary knowledge. Making a complete game is a huge undertaking and its scope determines if it will end up a completed game. These first games you make are the seed of your game development career and they'll be the foundation of everything you do later on.

Basically, if I had to tell you how big that second game should be...

An image of Super Mario Bros.

Your second game is to be as big as Super Mario Bros.:

Why am I using Super Mario Bros. as an example? Well, it is a perfect method to make a game that works and to finally understand your strengths and weaknesses as an indie developer.

You might be wondering how a game that is as small and simple as Super Mario Bros.. could be successful and why it is such a good example for first-time developers. Well, the answer to that question is simple: because Nintendo was mindful of how large their game's scope would be.

In the video game industry, every developer wants their video game to be a success- meaning they want these games to have high sales figures and high customer ratings. As a result, many developers go into making games with a huge idea in mind- one that will take a lot of time and money to complete. The problem with this is that when you have a huge idea, your game's scope becomes unstable and prone to unintentional expansion. With Super Mario Bros., it was already in Nintendo's mind since the beginning how large the game would be. The sequel to Super Mario Bros., entitled Super Mario Bros. 2, was created in a shorter time than the first because they wanted to make a game that felt like the first one much faster to remain in the buzz. They started with a small concept and when they had finally learned how much work really went into completing a game like Super Mario Bros., they decided to make the sequel bigger. As time went by, Nintendo had started to design games with that similar mindset, hence why they are very successful in this day and age.

5 - You must learn how to seek out resources on your own

The only way to really get better at game development is to learn and you'll never be able to do that if you don't know where to look.

I remember when I first started with game development and I would spend hours and hours looking for the right tutorials or articles online, but after a while, they all started to feel like one big blur of information. I had no idea what was helpful and what wasn't. If you're not sure about the tutorial or article you're reading, ask someone else. There are lots of useful places such as Reddit, Youtube, and many more. I myself have used everything at my disposal to learn, and I had some pretty unique experiences along the way.

Here are a couple of useful channels with great information that I had personally binged.

You can also find tips from other game developers and they'll usually tell you when they're up-to-date with industry changes so make sure you look at ones who are.

Remember: the video game industry is changing every day and you don't want to be the last one in the video game industry to learn about those new advances, hence why you should...

Image of the unity asset store

Find assets to remain a sane game developer:

Finding assets is crucial, and it ensures you'll learn about those new advancements. Remember what I said before: video game development is changing every day and you must stay up to date. If you don't, we'll all see you on the other side of the exit (hopefully not).

In my next point, I will be pointing towards some places for assets, but finding assets isn't about finding the venue at which they are sold, it is about finding that package that will push your game development to the next level, and it all depends on the engine you use.



6 - The topic of game engines and how they affect game development

In the past, game engines would only be available to big-budget studios and publishers. But in recent years, thanks to a range of new options, small developers have been able to create polished games without needing a lot of resources.

With a game engine, this is how it works: you can simplify your workflow by using pre-made functionality that allows for easy development, such as a working physics system which is one of the hardest things to create. In addition, game engines also provide an environment that simplifies the production pipeline. For example, you're able to consolidate all of the post-production stages into one program.

The best part? Game engines are customizable so they can be adjusted to fit specific games and game styles. And the even better part? They skip the process of having to create an engine from scratch.


Why are game engines such an important subject before starting game development?

As we've already talked about game engines, I'll try to make this short and sweet. As a developer, you should know that not all game engines are the same and each has its own advantages and disadvantages.

Some of them may be free and others can cost quite a bit (even thousands). It's up to you if you want to stick with one engine or use many of them, but it's important that you pick what best fits your game logic and its design (we'll get into the game design later). There are video game development companies out there that end up spending more on buying good game engines than actually making the video game.

It doesn't matter which engine is better either because what matters most is, again, what the game needs.

What are some of the most well-known engines and what are they best used for?

  • Unity Engine: Unity is one of the most popular game engines for small game development studios and hobbyists to make simple games. It's easy to use and provides a streamlined workflow that lets you focus on design, without the need to deal with the technical aspects of game development, and it is also what developers usually use to make mobile games. Also, the Unity Asset Store is another form of getting assets for developers. This store hosts a variety of different types of assets such as art, scripts, animations, and models. It is not all free and you will have to pay for some items but Unity does also allow their users to submit free assets to the store. Unity uses C# coding language.

  • Unreal Engine: Unreal Engine is one that's been around for quite a long time. It's been used to power some of the most stunning games, such as Fortnite and Gears of War 3. Unreal Engine 4 is now free and can be downloaded from the website with no strings attached, but is best used for AAA titles with a lot of graphical detail and budget, and therefore is not a good choice for solo developers or small teams, but that's just my personal opinion. Unreal Engine also has its own asset store called UE Marketplace where developers can submit their work for others to use in their projects, similar to how the Unity Asset Store handles it. Unreal uses C++ coding language.

  • Godot: Godot is an open-source engine that is quite popular among indie developers. It provides a huge list of features that are implemented internally, such as a built-in animation editor, shader support, and scripting language called GDScript. I’ve also seen Godot mentioned as the go-to choice for 2D games like RPGs or platformers. The disadvantage to Godot is the lack of resources available for it save for this site that doesn't pack too much content. If you’re looking for sprites or sound effects for your game, you might come up empty-handed with Godot.


  • Game Maker: This is a popular one that is available for Windows and Mac OS X platforms. It has been in use since the 1990s and it allows the user to create video games by using a drag and drop system. A large number of games have been developed using Game Maker and most of them are 2D action games. The process in Game Maker in comparison to the others mentioned above is much easier to comprehend and is perfect for a first game. However, it will not have as deep of systems like those in Unity or Unreal.



There are a couple more engines out there like the recent Buildbox or the visual novel engine Ren'Py that uses Python coding language (which I used for SoUnd Is ToxIc), and you can find a list of all engines by a quick google search.

Ren’Py

Buildbox

 

Which game engine should I use?

It's hard to answer this question because each developer has different needs and priorities for their creations and, coincidentally, it's also hard to know ahead of time what engine you should be using. It all depends on the type of game that you're trying to make and how serious your project is. As for which ones are accessible or simple to use? Probably Unity or Unreal Engine because they have a lot of support and tutorials available for them.

Pick an engine:

Once you have done the appropriate research on which engine to use, now it is time to download that engine and read up on its tutorials. There are many tutorials available on YouTube for you to get started, which means it should be easy to get your feet wet.

7 - Plan your third game and create the first prototype

It's true that most games are made by starting with a simple prototype to test out the game mechanics and then expanding them into full levels. I've seen this firsthand working on multiple game jams so while it's not definitely essential, it will help you get the game up and running easier while also allowing you to see how users will play your game, so if there is some sort of problem or annoyance for them they'll let you know about it right away before you invest more time into making advanced assets for something unnecessary.

Oh, and don't forget to plan your game! Game jams are great examples of why planning ahead is important because usually when participating in one of these events, people feel like they can just wing it but then it results in nothing more than wasted time and effort. You also don't want to start working on a specific aspect of your game only to find out that it's something that was never even planned for the jam, so always keep track of what you're creating and why you're doing it, regardless of whether it's for a game jam or the passion project.



P.S: If you're new to programming I highly recommend GameMaker because it will teach you the basics of how things work before diving into a more advanced engine like Unity or Unreal Engine 4.

Things to consider when making that first prototype of your passion project:

For a video game, the prototype should be a playable experience that you feel confident in. It should be a representation of what you want to do, and it's often tested by other people. The prototype should show what the player can do in the game, and have an idea of how it will make them feel when they play the completed game. Draw inspiration from your favorite video games to form your own idea - take note of the level design, character design, sound effects, and camera angles. All of those ingredients come together to form successful commercial games.



How to be a good game designer:

Game designing is a very important part of game dev because it will determine how users interact with the game, and it is why we see memorable titles such as Metal Gear Solid or the very first Mario game. It's all because the design of those games just clicked as soon as you picked up the controller (or keyboard).

Being a good game designer is more than simply creating mechanics and writing out lists of objectives. It requires you to be able to understand your target audience and what will make them excited to see the next section of your game.

If we had to summarize game design into two words, those would be:



Action and reward.

You'll want to be sure your game has enough mechanics and a good gameplay loop to cause that effect. Players should be rewarded when they do something, even if it is hitting some inconspicuous wall; the wall should break or disappear and reward the player for doing that specific action. Lots of successful games that rely on exploration do this and it's exactly why players enjoy those games.

Do you need cool features and art assets in this prototype?

No, only the main idea.

Don't overdo everything, just try to represent the game as best as you can with limited time and available resources; it should remain a simple game. If you need assets to represent your game, you can always get cheap art assets that can act as placeholders (temporary art) in order to get the idea across to your group of participating players.

You can also go with the simplest option available which is to show the game's concept art for your prototype, play around with some pre-made assets, or use assets that you can acquire for free (e.g: game design books, Unity tutorials).

As always, remember to plan your game thoroughly, preferably by writing a pitch to yourself.

If you have any questions about anything I covered in this point or the whole article, please feel free to ask in the comments section. But now, onto the remaining three things!


8 - It's okay to use assets

Game-making can indeed be expensive yet if you're just starting, it is recommended to use assets that are already developed by other people. All of the games I've developed for game jams or just in my free time have used assets that were either created by myself, found online, or bought from the Unity Asset Store. Thinking that people will belittle your game because you have used a purchased asset or thinking they will call your game an asset-flip is absurd. That is just called the spot-light effect (as Thomas Brush) terms it, and it basically makes you feel that people care a lot about what you do behind the scenes of your work.


Do you want to know something? They don't care.

An asset-flip is the term that becomes true when your game's identity is lost in an unclear mess of art styles that don't compliment each other and/or the game's genre.

Bottom-line, you will want to invest in assets because...


Your third game is to be slightly bigger:

Your third game, which doesn't need to be the dream project, can present a challenge. It should be much grander in scope compared to the first two games. Pong was just one ball, whereas Mario has multiple power-ups and abilities. It's not easy to take on the task of creating something large after you've finished your previous games. But it could be fun to figure out how to create a game of a larger scale by yourself and "live" to tell the tale.

9 - Marketing is the other 75%

My first game was a success and I had lots of downloads. However, I noticed that my second game didn't get as much exposure. For some indescribable reason, it seemed like people didn't notice the game. I realized that marketing was the other thing (next to design) that could make or break your game's success. There are plenty of marketing techniques that you can use to promote your game before and after release: start by making a trailer and social media accounts for your game, find out which website would be best suited for promoting your game and submit it there, find out about how Indie games are featured on Youtube channels and submit them there, etc.

Also, try to increase your social presence and the Indie community's social presence by going to Indie conventions, meeting devs and other Indie gamers, etc.

Always remember that a video game is a two-way street: you make it but others can affect its success as well. With networking, making sure your game has the needed promotion behind it means there might be a chance for your game to even reach an audience outside of your circle of friends or people you know from the Indie community. The Indie scene is growing rapidly thanks to groups like itch.io and indiegamejams.com so don't hesitate to use those resources!

10 - Making a video game is not about programming, art, music, or design

Making a video game is not linear; you might know how to make games, but it's more likely that you'll find yourself needing to put together different skillsets. You can't make an Indie game without knowing at least one of the four (programming, art, music, design). For example, I'm good at designing Indie games but terrible at programming them. I play around with ideas for Indie games in Photoshop and then quickly decide whether or not the game would work. After that, I would spend my time learning how to code that game or finding someone who already knows how to code Indie games to do it for me.

The most important thing about this journey is that you need to have fun doing it! If you don't enjoy what you do all of this for, why bother? Indie game dev can be very difficult but also satisfying... At least I know that releasing small games every month feels great.

Since the Indie game community is growing exponentially, I hope you'll find your niche and enjoy your Indie game dev journey as much as I have, and I hope my article helped you out in some way!


Take care and happy devving!

Leave comments and questions below, and I'll answer when I can.

Previous
Previous

What It Takes To Be A Successful Game Developer