0
\$\begingroup\$

My favorite games of all time are thanks to Ken Silverman's BUILD engine, The engine that brought us DukeNukem 3D, Shadow warrior and Blood. I've read a few articles on the build engine however I haven't found any good ones that go in depth. Ive been programming in C for 3 and a bit years now and am reading through many books every day, so I believe I have minimal skills needed to take on this task.

I was wondering what it would take to make my own "Build engine". What sort of mathematics do I need to learn/know, What books would you recommend, what sort of programming do I need to know (I.E low level programming with bitwise operators or any thing else). My current goal is not to make a game like Duke nukem 3D but to merely make a engine that supports things like sloped walls, translucency, wall and floor sprites etc.

\$\endgroup\$

closed as off-topic by Maximus Minimus, Tyyppi_77, congusbongus, Almo, Josh Jul 7 '17 at 15:36

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions about "how to get started," "what to learn next," or "which technology to use" are discussion-oriented questions which involve answers that are either based on opinion, or which are all equally valid. Those kinds of questions are outside the scope of this site. Visit our help center for more information." – Maximus Minimus, congusbongus, Josh
If this question can be reworded to fit the rules in the help center, please edit the question.

  • 1
    \$\begingroup\$ In short: Time, knowledge of linear algebra (vectors, matrices), a lot of time, experience in software architecture, even more time, and last but not least so much time, that you probably won't be able to complete this yourself. So if you are trying to make a game try to go with existing engines or frameworks. If you are in it for the learning experience just give it a go and learn things as the need for them arises. The best way to learn is making mistakes \$\endgroup\$ – LukeG Jul 7 '17 at 7:56
  • \$\begingroup\$ Start small, at the end every engine (better say library, engine is a full fledged thing that takes care of all parts of game development, also level-designer, build system and all sorts of things), every "engine" is more or less just a combination of a lot of 3rd party libs, for network, physics, rendering, game object communication. Id advice to start with using those 3rd party libs first, like i.e. bullet for physics, fmod for sound, raknet for network, bgfx for rendering and combine them as you go. And last but not least, have some real projects using it, they can be simple for starters. \$\endgroup\$ – Maik Semder Jul 7 '17 at 8:14
  • \$\begingroup\$ Check out this video from bisqwit, he basically guides you through the whole rendering implementation with code in C: youtube.com/watch?v=HQYsFshbkYw \$\endgroup\$ – János Turánszki Jul 7 '17 at 9:05
  • 1
    \$\begingroup\$ Are you sure there is a market for yet another general purpose 3d engine? See also Shall we create our game engine in this case? \$\endgroup\$ – Philipp Jul 7 '17 at 9:29
  • 2
    \$\begingroup\$ This seems a "how to get started" question to me. \$\endgroup\$ – Maximus Minimus Jul 7 '17 at 9:31
3
\$\begingroup\$

(I was about to write the second comment and realized its actually an answer, so here we go :)

Start small, at the end every engine (better say library, engine is a full fledged thing that takes care of all parts of game development, also level-designer, build system and all sorts of things), every "engine" is more or less just a combination of a lot of 3rd party libs, for network, physics, rendering, game object communication. Id advice to start with using those 3rd party libs first, like i.e. bullet for physics, fmod for sound, raknet for network, bgfx for rendering and combine them as you go. And last but not least, have some real projects using it, they can be simple for starters

And dont let random people in the internet discourage you from doing this, its very common here to say "make a game not an engine" and for most people its true. But I for one made my entrance in the game industry with my own collection of game-libs as reference. They dont need to be perfect or anything, today I wouldnt show them to anybody anymore, but it was good to do it and learn.

And look at other libraries (a lot, really a lot), get involved in open source stuff and focus on managable goals, maybe multiplatform as well.

I wish you luck, and have fun!

EDIT: "managable goals" screw that, crazy goals are fine too, as long as they keep you motivated :)

\$\endgroup\$

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