Game Engine, How do I make one

Started by
15 comments, last by Nathan2222_old 10 years, 4 months ago

Are you interested in learning how a game engine work ? Or you just wanna make a game as fast as possible ?

With Unreal/Unity you can make a game faster, but you have no access to the source code, have limited code reuse (especially with Unreal where you are stuck with their homemade scripting language :( ) and often urged to upgrade. I have a couple of friends who use Unity and they often end up writing / buying third party software because Unity lacks what they want, like NGUI or the sprite manager.

If you go the brute force, C++ way, you'll have to code a lot, but the good new is that there are amazing libraries that you can get, like Ogre (I'd wait Ogre 2.0 though), CEGUI, FMOD, PhysX, Qt etc.. (don't write everything from scratch). I choose this approach because I value code reuse and ownership. At long term I think it's the better choice. It's not THAT long if you just code what you really need for the game.

Advertisement

My question is what really is a game engine and how do you make one?

On my website I've posted video tutorials showing step by step instructions on how to go from nothing to a 3D dungeon crawler game called Ghost Toast. If you want to download and play the game you can do so from here: http://www.marekknows.com/phpBB3/viewtopic.php?f=30&t=531

There is also a link in that forum thread to the video tutorials if you are interested in learning how this game was made.

My opinion is --- depends on your skills and personal interests.

If you are insanely talented, brilliant, energetic and can spend full time on the endeavor for at least many months, if not years (depending on how elaborate an engine you want to create), you can create an engine. Been there, done that (twice under contract to game companies, once for myself). So it is possible, but you're in for one hell of a lot of work. Oh, and even if you do qualify in all the above ways, you should only create a game engine if that is more interesting to you personally than games (which applies to me).

If you can't quite meet the above level of abilities, capabilities and time, but you are still interested in game engines far more than games (at least now), then collaborate on a game engine development project that someone else started. Believe me, if you are talented and motivated, your collaboration will be greatly appreciated, you will enjoy the process a lot more than doing everything yourself, and you will learn a lot more, a lot faster when you're working with other talented individuals. The problem here is... finding an engine project that will be finished. Which means, either the folks involved already have the skills (they've done this before) and they have the dedication (they finish projects they start). Unfortunately, about 99% of projects mentioned on gamedev are pure fantasy, not finished, or are finished but are much less grandiose than a serious game engine. So choose wisely.

If you are sufficiently talented and dedicated, and decide you want to collaborate on an engine, contact me by PM and learn about the engine I'm developing. This engine is fairly far along, several subsystems are complete and work, is multi-platform, very high-performance, and includes some special capabilities that make the engine potentially more interesting than others (if characteristics like "procedurally generated content" interest you).

But if you're not a natural or highly talented programmer, you shouldn't try to develop a game engine. Modest games might work.

Oh, and a "game engine" is something like a collection of code libraries (usually shared libraries or DLLs) that does most of the actual work in a game, but only those parts not specific to one game. In other words, the game engine does pretty much everything that needs to be done by more than one out of a hundred games.

My opinion is --- depends on your skills and personal interests.

If you are insanely talented, brilliant, energetic and can spend full time on the endeavor for at least many months, if not years (depending on how elaborate an engine you want to create), you can create an engine. Been there, done that (twice under contract to game companies, once for myself). So it is possible, but you're in for one hell of a lot of work. Oh, and even if you do qualify in all the above ways, you should only create a game engine if that is more interesting to you personally than games (which applies to me).

If you can't quite meet the above level of abilities, capabilities and time, but you are still interested in game engines far more than games (at least now), then collaborate on a game engine development project that someone else started. Believe me, if you are talented and motivated, your collaboration will be greatly appreciated, you will enjoy the process a lot more than doing everything yourself, and you will learn a lot more, a lot faster when you're working with other talented individuals. The problem here is... finding an engine project that will be finished. Which means, either the folks involved already have the skills (they've done this before) and they have the dedication (they finish projects they start). Unfortunately, about 99% of projects mentioned on gamedev are pure fantasy, not finished, or are finished but are much less grandiose than a serious game engine. So choose wisely.

If you are sufficiently talented and dedicated, and decide you want to collaborate on an engine, contact me by PM and learn about the engine I'm developing. This engine is fairly far along, several subsystems are complete and work, is multi-platform, very high-performance, and includes some special capabilities that make the engine potentially more interesting than others (if characteristics like "procedurally generated content" interest you).

But if you're not a natural or highly talented programmer, you shouldn't try to develop a game engine. Modest games might work.

Oh, and a "game engine" is something like a collection of code libraries (usually shared libraries or DLLs) that does most of the actual work in a game, but only those parts not specific to one game. In other words, the game engine does pretty much everything that needs to be done by more than one out of a hundred games.

Do you have some kind of tutorials on making the game engine huh.png

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

You really don't need to make a game engine. Just make games, and you will eventually have reusable parts.

I recommend you start with Python + Pygame.

Cheers :)!

I'm a game programmer and computer science ninja !

Here's my 2D RPG-Ish Platformer Programmed in Python + Pygame, with a Custom Level Editor and Rendering System!

Here's my Custom IDE / Debugger Programmed in Pure Python and Designed from the Ground Up for Programming Education!

Want to ask about Python, Flask, wxPython, Pygame, C++, HTML5, CSS3, Javascript, jQuery, C++, Vimscript, SFML 1.6 / 2.0, or anything else? Recruiting for a game development team and need a passionate programmer? Just want to talk about programming? Email me here:

hobohm.business@gmail.com

or Personal-Message me on here !

My opinion is --- depends on your skills and personal interests.

If you are sufficiently talented and dedicated, and decide you want to collaborate on an engine, contact me by PM and learn about the engine I'm developing. This engine is fairly far along, several subsystems are complete and work, is multi-platform, very high-performance, and includes some special capabilities that make the engine potentially more interesting than others (if characteristics like "procedurally generated content" interest you).

Oh, and a "game engine" is something like a collection of code libraries (usually shared libraries or DLLs) that does most of the actual work in a game, but only those parts not specific to one game. In other words, the game engine does pretty much everything that needs to be done by more than one out of a hundred games.

Do you have some kind of tutorials on making the game engine huh.png

No, sorry but I don't. However, there are a couple fairly good books about game engine design or architecture, which may provide an equivalent (or what you need). But something about the huge size and scope of "a game engine" makes me think "tutorials" isn't an appropriate match. Find the most recent editions of those books. If you're serious, definitely pay for the paper books rather than trying to download for free via some torrent. The authors deserve their cuts.

If you have cool new ideas and you want to brainstorm about them, start a personal conversation with someone who built, or is currently building an engine. And don't worry they will steal your ideas - they won't want to. And even if they do, the work involved to implement their engine, much less your new enhancements is so huge that you need not worry --- and in fact you should be happy if they steal and implement them!



My opinion is --- depends on your skills and personal interests.

If you are sufficiently talented and dedicated, and decide you want to collaborate on an engine, contact me by PM and learn about the engine I'm developing. This engine is fairly far along, several subsystems are complete and work, is multi-platform, very high-performance, and includes some special capabilities that make the engine potentially more interesting than others (if characteristics like "procedurally generated content" interest you).

Oh, and a "game engine" is something like a collection of code libraries (usually shared libraries or DLLs) that does most of the actual work in a game, but only those parts not specific to one game. In other words, the game engine does pretty much everything that needs to be done by more than one out of a hundred games.

Do you have some kind of tutorials on making the game engine huh.png

No, sorry but I don't. However, there are a couple fairly good books about game engine design or architecture, which may provide an equivalent (or what you need). But something about the huge size and scope of "a game engine" makes me think "tutorials" isn't an appropriate match. Find the most recent editions of those books. If you're serious, definitely pay for the paper books rather than trying to download for free via some torrent. The authors deserve their cuts.

If you have cool new ideas and you want to brainstorm about them, start a personal conversation with someone who built, or is currently building an engine. And don't worry they will steal your ideas - they won't want to. And even if they do, the work involved to implement their engine, much less your new enhancements is so huge that you need not worry --- and in fact you should be happy if they steal and implement them!

I would have loved to buy the books if i had the money but i don't, yet.
As for being happy somebody steals my ideas, that is highly unlikely.

UNREAL ENGINE 4:
Total LOC: ~3M Lines
Total Languages: ~32

--
GREAT QUOTES:
I can do ALL things through Christ - Jesus Christ
--
Logic will get you from A-Z, imagination gets you everywhere - Albert Einstein
--
The problems of the world cannot be solved by skeptics or cynics whose horizons are limited by the obvious realities. - John F. Kennedy

This topic is closed to new replies.

Advertisement