Skip to main content
GameDev.net gamedev.net
🔒 Locked

creating a game engine from scratch

Started by Buzzy661 Mar 28, 2010 at 7:17 AM 10 replies 7.6k views
Original Post
Buzzy661
Buzzy661
I was googleing up how to create a game engine from scratch but i never found any easy to understand tutorials on c++ so i came here. Have got any tutorials on how to make a 3d game engine from scratch such as graphics engine, sound engine, level editor, network engine (for creating multi-player games) using c++? please help!
PAndersson
PAndersson
When you are talking about something of that scale, I would start by looking into books. I doubt you will find a single one that covers everything you need.
jbadams
jbadams
Quote:
Original post by Buzzy661
i never found any easy to understand tutorials on c++ so i came here.
C++ isn't easy for a beginner to understand. You're going to have to put in lots of time and work if you want to learn to program.

Quote:
Have got any tutorials on how to make a 3d game engine from scratch such as graphics engine, sound engine, level editor, network engine (for creating multi-player games) using c++?
A "tutorial" is not what you need. A 3d game engine is a big task -- far too much to cover to a suitable level of detail in a tutorial. You could probably find some books on the subject, but you'll still need to spend some time learning and creating simpler projects first so that you can learn how things work.

Once you've learned the basics doing simpler projects you should keep in mind that it's generally better to Write Games, Not Engines; pick a game to create, work towards writing the code you need for that and then pick out any parts that might be reusable to make your engine. If, as a beginner, you try to create an engine from scratch you'll probably end up putting in lots of things that you don't need or which don't work properly for an actual game.



I'd suggest you pick up a book on C++, work through it, and start working towards some smaller games to get practice. Once you've got some small games done you should have an idea of how to create your 3d engine.




If you're genuinely finding C++ too difficult but still want to make games you could try something like Game Maker, FPS Creator, Real Crafter, or the many similar packages out there.

You could also look at a different programming language such as C# with the XNA library, or Python. Remember though that any programming language is going to be difficult and you'll have to stick with it if you want to get anywhere.


Hope that helps! [smile]
- Jason Astle-Adams
Tom Sloper
Tom Sloper
>A "tutorial" is not what you need.

Amen to that.

>I would start by looking into books.

I would start by taking classes.
-- Tom Sloper    --      sloperama.com
mikfig
mikfig
I don't necessarily know if these tutorials would be better, but if you are already paying $50 then I think it is possible you might get more bang for your buck with this CD.

If you do end up buying either one, I'd be interested in how well they work for you. I've looked at these before, but I don't have a random $70 to throw at some tutorials.

Hope that helps,
mikfig
"WARNING: Excessive exposure to politicians and other bureaucrats has been linked to aggressive behavior." - Henk Hopla
Portugaz D Ace
Portugaz D Ace
Quote:
Original post by jbadams
C++ isn't easy for a beginner to understand. You're going to have to put in lots of time and work if you want to learn to program.



Even though C++ is a hard language to understand, because of it's abilities and controls, it is definetly a good language to learn for game programming.
scientists explain the world with numbers, artists explain the world with images, programmers explain the world with games.
Palidine
Palidine
Don't write an engine, make a game. The engine is defined as the parts of the old game that you use to make the new one.

-me
Tac-Tics
Tac-Tics
Quote:
Original post by Portugaz D Ace
Even though C++ is a hard language to understand, because of it's abilities and controls, it is definetly a good language to learn for game programming.


C++ is only good for game programming because the industry grew alongside it. For hobbyist game developers and newbies, there are easier introductions to the field.

C++ is simply a bad first language. Most compilers have vomit-style error messages (template errors are incomprehensible). C++ runtime errors are still of the "you blew your foot off" variety -- segfaults, bus errors.... despite the fact C++ supports exception handling. It's also the last high-level language that doesn't support garbage collection natively. And worst of all, C++ supports backwards compatibility with C. This isn't bad for experienced programmers, but C is a totally different language, and it's very hard for a newbie to approach both at once.
Buzzy661
Buzzy661
thanks for your comments guys and i will start to learn C++ to make my game! thanks!
Zakwayda
Zakwayda
Quote:
Even though C++ is a hard language to understand, because of it's abilities and controls, it is definetly a good language to learn for game programming.
Define 'abilities and controls'.
Taralieth
Taralieth
Quote:

...
Once you've learned the basics doing simpler projects you should keep in mind that it's generally better to Write Games, Not Engines; pick a game to create, work towards writing the code you need for that and then pick out any parts that might be reusable to make your engine. If, as a beginner, you try to create an engine from scratch you'll probably end up putting in lots of things that you don't need or which don't work properly for an actual game.
...


Wow thanks for the link. I completely agree with that.

I feel like the only way to create any sort of generic library (e.g. Game Engine), you need to have experience writing the applications that you're planning to use that library for (e.g. Game). Otherwise, how do you know what to abstract? Designing good re-usable code is very hard to get "right".

Anyway, reading stuff on common design patterns could help give you ideas for good code design but it doesn't replace experience.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.