Creating a game is challenging and if you have some programming knowledge you will undoubtedly have the question should I make the game engine yourself? While there is some debate on the matter from personal experience my opinion would be as follows.
Creating a game engine from scratch is a plausible option for a small game. For any other game it is not recommended, particularly if you are creating a game alone. It requires extensive programming knowledge and time. Utilizing pre-existing game engines such as Unreal Engine or Unity is recommended.
In this article we will look at both the advantages and disadvantages of creating your own game engine and how it compares to utilizing a game engine such as Unity or Unreal Engine.
What is a Game Engine
A Game Engine is an interface and a set of tools that enable you to create a game. These tools range from rendering graphics on screen, Physics, Animations, Sounds, etc.
All games have a game engine one way or another. It can range from being very basic only flexible enough to create a single game to as complex and versatile as Unreal Engine.
Creating your Own Game Engine
Creating a game engine can be a big job depending on the type of game you make. This being said there are some considerable advantages and disadvantages to consider. Below is a list of some of the biggest to consider before looking at creating one.
Advantages of Creating your Own Game Engine
- Reduces bloat associated with unnecessary code increasing performance
- No royalties payable to the companies of game engines
- More control over what you can do
- Fantastic learning opportunity
- Intimate knowledge of how the game engine works
Disadvantages of Creating your Own Game Engine
- Huge learning curve
- Limited training resources available to help create
- Takes a lot of time
Using an Existing Game Engine
There are heaps of existing game engines available. Two of the most well-known being Unreal Engine and Unity.
These engines have seen years of development and are used in many well-known games.
While the advantages are somewhat apparent there are also some disadvantages to consider.
Advantages of Using a Developed Game Engine
- Saves a lot of time
- Complex programming skill not required
- Tried and tested tools available to do almost anything
- Lots of resources available to help
- Easier integration of third party assets
Disadvantages of Using a Developed Game Engine
- Costs money either up front or in royalties
- Less control, some functionality could be lacking
- Have to conform to the rules of the Game Engine Eg. coding language
- Not all functionality required so may bloat the game
- You don’t know the ins and outs of the game engine
What to Consider Before You Create Your Own Game Engine
This is a contentious topic as some people are better at programming than others and some games have different requirements than others. As such I would recommend assessing this by taking into consideration the following.
How Much Time Do You Have
Time is probably the biggest factor in creating your own game engine. Are you part of a team that can share the load?
Are you creating games as a hobby in your spare time?
Can you dedicate the time you need?
The longer a project goes takes the more likely you are to give up.
If you have the time to commit and are the kind of person who does not give up easy then maybe this isn’t a worrying factor for you.
How Complex Is the Game
This assumes you know what kind of game you want to create.
If you don’t I highly encourage you to use a preexisting game engine. Creating functionality in case you might need it is not productive.
Considering what your game entails is an important consideration. Is it a basic side scroller or mobile game with a basic loop? If so it is totally achievable to create your own game engine.
If you are looking at having 3d models with complex graphics and multiplayer then you should carefully consider if creating a game engine is the right option.
What is Your Level of Skill at Programming
Like creating any piece of software creating a game can be challenging. You need knowledge of programming and what’s required to make a game.
You will run into problems along the way. Being able to diagnose a problem is an important skill to have
If you are new to game development it may not be the best idea to start off creating your own engine. Instead, get experience with a pre-existing one first.
Myths of Creating Your Own Game Engine
There are many myths that exist about creating your own game but some that I commonly hear are.
You have to use a certain Coding Language
This is not true you can use almost any language you like. This can be Java, Python, C++ or any language of your choice. Its your engine you make the rules.
You have to be a Mathematician
This is also not true maths does come in handy, but there are lots of online resources that can help with this.
You Create Everything from Scratch
This is also not true. There are libraries you can utilize that other people have made to assist you. You don’t have to build everything from scratch.
Myths of Creating a Pre-Existing Game Engine
If you are a programmer at heart and your on are undecided then these are some common misconceptions.
Using a Game Engine is Cheating
No it is not. It is a tool that A LOT of people use, after all you wouldn’t build a computer from scratch.
Game Engines are Inferior to Something You Code Yourself
This can be the case, but more likely not. You’re competing with a huge development team that has had years to develop and refine the tools.
Using a Game Engine Will Degrade Performance
Yes it will but computers are at a stage where this is allowable. We are long past the stage where we are required to squeeze every last bit of performance out of a game.
Reccomendation
Personally, I like coding however I am extremely time-poor. Creating games for me is a hobby between work commitments and family.
Using a pre-existing game engine is by far the best option for me. Utilizing year’s worth of development just makes sense.
Using a pre-existing engine is not cheating it’s just good time management. You will never be short of resources to help you along the way. Including tutorials and content other people have made that you can incorporate into your game.
Almost anything can be accomplished in a pre-existing game engine you really are not limiting yourself.
If paying royalties is a concern for you then maybe consider the fact that you don’t need to pay for Unreal Engine until you make over $1 million dollars for a single game.
Conclusion
Whatever your choice creating games is fun. I do urge you to carefully consider whether making a game engine is the right choice. If you are passionate about creating a game engine than go for it. It is an fun and rewarding endeavor, but don’t let it be at the expense of your motivation and achieving your goals.