Jump to content
  • Advertisement
Sign in to follow this  
Shadowlan

Where to start coding a game engine?

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

I've become interested in programming a properitry game engine for my projects needs. I have no clue where to start... Can anyone give me an insight on some good tutorials or something or advice :)

Share this post


Link to post
Share on other sites
Advertisement
Before we can answer that question, how much programing experience do you have? What programming language are you going to be using? How much game programing experience do you have?

theTroll

Share this post


Link to post
Share on other sites
You could start with the Enginuity series here on GameDev. It isn't really deep, but it should whet your appetite.

There are quite a few books on the subject, as well. I'm sure you'll get some opinions about the quality of those books in other responses, but I've heard the names of the first couple listed thrown around here a few times.

EDIT: Enginuity link fixed.

Share this post


Link to post
Share on other sites
No, don't use the Enginuity series, unless you know the downfalls of singletons. The engine he was writing was quite singleton heavy. If you're using it as a very general overview it might be ok but its highly dated at this point.

Share this post


Link to post
Share on other sites
Thanks! I have 2 years of experience with C++ and 1 Year with C#, it wouldn't matter to me which one I'd use...

EDIT: Haha, hadn't even seen you post that :P Ok, is there any other tutorial series?

Share this post


Link to post
Share on other sites
Thanks, but I need to code an engine for a company which will be doing several more games. To save time, we would like to code an engine :P

Thanks for the other link though :P

Share this post


Link to post
Share on other sites
Then I would suggest jumping into XNA. It is pretty easy, decent performance, no memory leaks.

theTroll

Share this post


Link to post
Share on other sites
For our engine, I used the bottom-up approch, starting from the
basic details, and building on them.

The basic details include calling conventions, data type sizes,
architecture types, and engine building (DLL and static *.libs).

All engines should have a logging manager and a memory manager
(Of sorts), espically if using C++. You can also provide a Task
Manager system (The Enginuity series describes how to do this)

You can then provide base interfaces to individual subsystems,
such as Video, and Input. Using the Task Manager, you can provide
multiple instances (if any) of the subsystems.

Other possible managers you can have are module managers, file managers,
diectory managers, etc. It all depends on what you want the engine to
do, and if portability is a concern.

On the usage of singletons--overusing them is bad. Probably the only
class that should be a singleton is the engine core--but, then again,
it depends on what your needs are.

Share this post


Link to post
Share on other sites
I've found over and over that any attempts to design a game engine without a game have been semi-failures, because once it came down to writing the game, the engine was forced to mutate substantially. Maybe it's different when you've had a lot of experience, but for me, the game always ends up needing things that the engine didn't plan for or needs them in a different way.

Instead of building engine, game, game, game, build the engine and first game together. Take longer about it and take the time to refactor and redesign as you go. That way you will end up with an engine that actually suits your needs.

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!