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

Started by
13 comments, last by Madolite 8 years, 6 months ago


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.

You'd be surprised. Very surprised. A number of newer engines actually have some roots from older engines. Source Gold and Source Engine both have roots from ID's Doom/quake series. Same with the call of duty series.

Heck. the one I am designing is loosely based off of elements from Unreal, Legend of Grimrock, Love2D, and Bitsquid's blog.

Now I "almost" agree with most people about the make games not engines. I am personally not too fascinated with making games, as I am with game engines and low level stuff. It just seems more fun. So I have a good reason to not make more than two games and go straight to design.

But if you just want to make games... go with something that's already made. It will save you from "Bloody forehead disease". Cuz trust me... there is more than... plug in directx. And I can make games!

Advertisement

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

Engines and engine tech evolved from people who were making games, and then figured "hey, we can save time by reusing code from our previous game"

People were making games long before there existed engines.

The first engines were just the sum of the tools a skilled games craftman had created to help him make his game.

It evolved from there, the lone craftsman with his home made games lathe, its only now that the discussion gets a bit weird when there are engines out there that are like machines on a factory floor, designed to be used in a process by hundreds to, industry style, produce games. (and with a 1000 manyears of work and research rolled into them)

I'm still quite the newb to game making, but i would like to put in my thoughts. I believe the heart of the issue comes down to your motivation, what you're trying to accomplish, I've only worked on a few games though I've done quite a bit of programming outside that. Right now I'm on my third game, and it's been a leap in difficulty, but the reason i wanted to do this was i wanted to really make a reusable, modular game and engine in which i could start doing some self research in AI. AI is where my personal passions lie so for me the extra effort and learning it has taken to do this has been worth it. I've been at it for a few months now tinkering, learning and starting from scratch from time to time.

Yes you could argue i could have learned a lot more without building the engine and just building smaller games for a while. But i know my motivations lie elsewhere and so im still trucking along and I've learned quite a bit on my own.

Of course I'm not saying jump strait into engine making, at least start with some simple stuff like making a pong clone. But ultimately how early you start actually working on an engine of your own i would argue lies in your personal motivation. tongue.png Just my opinion though take from it what you may.

If you want to create your own engine, learn to make games with other engines, make a list of features your engine should support and see how other implemented those features, and what difficulties they are facing with that implementation. That will give you a headstart.

Also, it is kinda hard to showcase your engine without a game written with that engine, which means at some point you need to get involved to create at least one game for it, either by outsourcing that to other people or (most probably) creating a simple game yourself. So you will need game making skills anyway at some point.

If you want to learn the skills to be an engine programmer in the industry, or want to soup up your CV for other positions, do the same. You will also need to create some showcase using your engine later on, so the skills will not completly go to waste anyway (and probably you will not be starting off as an engine programmer, IDK if this is an entry position for new blood).

If you want to create a game, think long and hard if you need to create your own engine. Or better, skip thinking long and just think double as hard about it :)

Modern multipurpose engines can be used for ANY kind of game. There are always the small games where the engine adds so much overhead that you are better off without any kind of engine, and there are special cases where you need to modify the engine to support some functionality that needs to embedded deep into the engine... exactly for this cases, many engine makers give you the source code for. You can get it for free from epic for Unreal Engine 4 for example.

So even if you really need to change something in the engine, you could pull it off (its not easy, but neither is writing your own engine from scratch).

And in 99% of cases Unreal or Unity will do exactly what you need.

It completely depends on how complex your engine is, what language you're writing it in (and how readily available APIs are) and, most importantly, what kind of game you're making and how complex it is. How many system is the game going to have? And so on. At the very least, you're making use of APIs and you're never really making things from absolute scratch. That's just bad programming, a waste of time.

Just start learning a language, and make it your goal to learn the language. As Will Smith once said, you don't set out to build a Wall. You set out to make the best possible brick and then you do that enough times and the Wall (or whatever else that may be superior to the original idea) will emerge as a result.

This topic is closed to new replies.

Advertisement