Jump to content
  • Advertisement
Sign in to follow this  
LizardGamer

How could I begin to create a game engine?

This topic is 2945 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

First off from what I have written as the topic you would know.

I am starting to learn C++ but I don't know where to start, I know what a game engine is and parts of it, but there aren't any really helpful tutorials on the web.

At first, I do have a book called 3D Game Engine Programming by Oliver Duvel and Stefan Zerbst, but I don't know how good it is because it explains on how to make everything, When I want to use a Physics Engine like ODE, PhyX and add in a scripting language like lua etc, instead of making it all from scratch.

And please no one suggest, Why not go with a game engine that's already made? Why because I want to be in power of what the engine does.

Share this post


Link to post
Share on other sites
Advertisement
My advice (which is also how I became an engine programmer) is to use existing engines until you know their inner workings like the back of your hand. Then, when you try to build your own you'll have the necessary experience and know good/bad ways of putting things together.

Share this post


Link to post
Share on other sites
Quote:
Original post by LizardGamer
And please no one suggest, Why not go with a game engine that's already made? Why because I want to be in power of what the engine does.


I have tell you this:
If you haven't used an engine (as in, coded a game using an engine), you won't have a clue as to how to build one.

That said, there's part of an "engine tutorial" right here.

Share this post


Link to post
Share on other sites
Quote:
Original post by Konfusius
Quote:
Original post by LizardGamer
And please no one suggest, Why not go with a game engine that's already made? Why because I want to be in power of what the engine does.


I have tell you this:
If you haven't used an engine (as in, coded a game using an engine), you won't have a clue as to how to build one.

That said, there's part of an "engine tutorial" right here.


I have used many engines before (CryEngine, Unreal Engine 2 & 3, Blender, Unity etc) and I had already read that tutorial, it didn't provide of much help

Share this post


Link to post
Share on other sites
Quote:
Original post by LizardGamer
I have used many engines before (CryEngine, Unreal Engine 2 & 3, Blender, Unity etc) and I had already read that tutorial, it didn't provide of much help


Then you should be quite familiar with the components that an engine provides. Using your experience of using several engines you should have an idea of which ones you have liked working with, combined with the type of projects you hope to make with your engine you should be able to determine what type of engine you want to make.

Once you have identified the style and scope it is merely a matter of sitting down, plotting out how the different components work together and starting to write them all. Easier said than done clearly as if the scope of the projects is large enough the engine may be quite complex/fully featured and will take some time. Some of the engines you mentioned also include tool and pipeline suites, you should determine if making those is also necessary for your needs.

Share this post


Link to post
Share on other sites
Quote:
Original post by dclyde
Then you should be quite familiar with the components that an engine provides.


Yes I do know most parts, but I don't know how you would place it all together and if there are any others I don't know about.

Because I felt like creating First-Person shooter, Third-Person Shooter, Racers, RTS, (sort of level based for the racer, puzzle, and RTS) (open world/free roam for the Third/First person shooters). I trying so many to see which one I am best at creating.

Share this post


Link to post
Share on other sites
You should read the following article:
Write Games, Not Engines

An engine is only the reusable portions of an existing game. In other words, engines come from games, not the other way around. All id engines come from their games Doom, Quake, etc. Torque, IIRC, was from Tribes 2, and so on. These games are written with the intent of licensing the code and are designed to be reusable. The reusable portion is then tagged as the "engine".

Many of us fell into the trap of building engines early on in the decade so I'm just trying to help you so that you don't fall into it too. This is a problem because you build an engine around the game concept and, once the engine is done and you begin the game, none of it fits your needs (or requires major refactoring.) This completely kills the project.

What worked for me was to develop the game, component by component, prototyping each as I went along. As more components were finished, they were combined into larger prototypes. This allowed me a lot of flexibility so that I could feel my way through the programs architecture. It's a learning process after all and the best way to learn is by doing. Now, much of my work in the past has been combined into a framework that I use extensively. You might even call it an engine, although I personally don't use marketing terms to describe code.

Share this post


Link to post
Share on other sites
Writing a game engine requires a lot more than a book and a little bit of C++. There are few/no tutorials for writing a game engine for the same reason there are few/no tutorials for building a car. It requires a lot of experience and, in most cases, a degree (Computer Science or similar).

Learn about programming, software engineering, and computer science. There is nothing specific to game engines that cannot be learned on the Internet once you have a good grasp of programming.

I would also recommend not starting with C++. It will distract you from the concepts of programming you will benefit most from learning.

Share this post


Link to post
Share on other sites
I think the idea behind most, if not all, of the above posts is pretty much the same: if you have to ask how to make an engine, you're not ready to do it on your own. If I were you, I'd focus on making games and maybe implement parts of the engine in every subsequent game. Then you can put them all together and bam, you have yourself an engine.

Share this post


Link to post
Share on other sites
Quote:
Original post by boogyman19946
I think the idea behind most, if not all, of the above posts is pretty much the same: if you have to ask how to make an engine, you're not ready to do it on your own. If I were you, I'd focus on making games and maybe implement parts of the engine in every subsequent game. Then you can put them all together and bam, you have yourself an engine.
QFT

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!