Jump to content
  • Advertisement
Sign in to follow this  
Maruiki

What should I learn before I create my own game engine?

This topic is 1112 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello everyone. I'm new to game programming, and I was just curious where I should start out if I want to create my own game engine.

 

Thank you.

Share this post


Link to post
Share on other sites
Advertisement

I don't necessarily have a of experience to speak from, but I can tell you that you should definitely evaluate what you are trying to do.  A lot of game developers often say "Make games, not engines."  In game programming, and honestly, in programming in general, some people get caught up in trying to write a codebase that is perfect and is easily to add new things into.  Some people get caught up trying to make the perfect engine before even making the simplest of games.  If you want to learn how this low-level stuff works, then fine, learn about game engines and how they work.  However, if you want to make an actual game, then use a pre-made engine like Unity or use a framework like Monogame or SFML to program your game.  

Share this post


Link to post
Share on other sites

2D or 3D?  Any particular type of game or a generic engine?

Do you know any programming languages already?

Do you want to make your own level editor?

Any particular goals or just an engine?

 

Besides those question I think sound advice would start with

timing

game loop

game state

input

collision detection

spatial subdivision

getting things on the screen

getting things on the screen fast/efficiently

 

That should get you started.

Share this post


Link to post
Share on other sites
The simple version is this: learn to make games in another engine first.

You are a beginner. You have no idea what an engine even is or what it needs to do.

That said, if you care about building engines, a good intermediate book to get is Game Engine Architecture (Jason Gregory). I don't think it's going to be easiest or most useful read if you haven't made at least one game on your own first, though.

Share this post


Link to post
Share on other sites

In reality... it just depends on why you are making the game engine. If you are trying to make something like Unreal Engine, Unity, or other wise. You might just want to find a different thing to do. A super engine that generic isn't made by one person. And has been outfitted over the years. You can study the source code if you want. But what makes it so complicated is what the engine is supposed to do.

 

If you are making the engine specific for what you are creating. Then it won't take much. You need to understand basic and advanced calculus. Linear algebra. Trig.

And in software design. You'll need to understand game loops, states, and some patterns.

Share this post


Link to post
Share on other sites

Engines are tools used by game developers.

IMHO every master craftaman should knoe hoe to make his own tools... But to get to that point you've first got to learn how to use these tools.

How can you build a decent lathe if you've never used one? How would you even know of it is usable when you're done?
Learn to use as many game engines as you can. Learn what you like about them and what's frustrating with them. Learn the patterns that seem to be common among all of them. Find the common solutions and architectures. Be a skilled user of the tool, and then make your own.

 

My only argument to that, the origional people whom made their tools for their engines, never actually used an engine before.

Share this post


Link to post
Share on other sites


My only argument to that, the origional people whom made their tools for their engines, never actually used an engine before.
You don't honestly believe those engines are still around today, do you?

 

@OP: I agree with the others, make games first, with or without engine. Once you understand how a game works (what it needs, etc), you can think about how to supply that to a game programmer with your own engine. Also look at how the other engines supply that functionality.

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

We are the game development community.

Whether you are an indie, hobbyist, AAA developer, or just trying to learn, GameDev.net is the place for you to learn, share, and connect with the games industry. Learn more About Us or sign up!

Sign me up!