-2
\$\begingroup\$

What features should a good DirectX game engine contain?

I've been reading certain books, but I want to make sure. My own engine contains

  • Networking
  • Rendering
  • Sound
  • GUI
  • Data management
  • Logbook functions
\$\endgroup\$

closed as primarily opinion-based by Alexandre Vaillancourt, Gnemlock, Engineer, DMGregory, Tyyppi_77 Jun 6 '17 at 12:00

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ What kind of games do you want to make with it? \$\endgroup\$ – Maik Semder Nov 10 '12 at 23:01
  • \$\begingroup\$ well, Strategy, FPS , RPG :) all you can except, a universal one \$\endgroup\$ – LaVolpe Nov 10 '12 at 23:19
4
\$\begingroup\$

There is no rule for what a "good game engine" should contain. If you create your own engine, you decide what it is there for and what is required. Take the Unity engine for example (it is a really well designed and feature-rich universal 3D game engine). It does most everything you will need to make any kind of game:

  • Any kind of Graphics
  • Networking
  • User Input
  • 2D / 3D Audio
  • Asset Management and Distribution

You can do almost any game with it. Then look at the Source Engine by Valve. The type of game you can create with it is kind of limited. I don't know if it is entirely impossible, but that engine is not intended for anything except FPS games.

You see, you have to decide what you game engine should do and what it has to include. You probably have a reason for making your own engine (apart from the learning effort), so stick to that goal. You want a universal game engine? Try to look at other (commerial and FOSS) engines and see what they do for the developer. You want something special (e.g. an engine for 2D turn-based roguelike games)? Cut down on the feature list and don't do stuff you don't need.

\$\endgroup\$
4
\$\begingroup\$

Write Games, Not Engines. You cannot make an engine in isolation, because questions like "what features should the engine have" are utterly incapable of being answered without knowing what specific game you're trying to make. Worse, even if you write some generic system, it is almost absolutely buggy, incomplete, and unusable if you have no real-world game use cases that it has been developed for.

Once you accept that, I'd say that Game Engine Architecture is one of the better books on the subject of building game engines. Not that a single book can really cover it all, but it's a very good attempt at doing so. It's course material for several high-end game engine development courses I know of.

\$\endgroup\$
  • \$\begingroup\$ +1 for the scientificninja.com blogpost. Totally forgot about that until now! \$\endgroup\$ – opatut Nov 11 '12 at 13:29
  • \$\begingroup\$ The Write Games, Not Engines link has stopped working. Found a copy of it here \$\endgroup\$ – lozzajp Jun 2 '17 at 7:42

Not the answer you're looking for? Browse other questions tagged or ask your own question.