Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Nightmare Doom

Creating an New Game Engine

Recommended Posts

I've been wondering if anyone has tried this before but has anyone here ever thought of creating a new game engine from scratch and how can it be done? and is it even possible? since game companies have been doing this for quite some time and why can't we ourselves?

Share this post


Link to post

"We" sure can do it ourselves. However, even given that "we" have the skills needed, it still costs a large amount of time (which probably costs money) to engineer it (design, programming, testing, etc). While you are much more flexible when making your own game engine, there is often a game engine which offers solutions to get close to the goals you have for your game, in which case it might be easier to just use that game engine.

Share this post


Link to post
Nightmare Doom said:

I've been wondering if anyone has tried this before but has anyone here ever thought of creating a new game engine from scratch and how can it be done? and is it even possible? since game companies have been doing this for quite some time and why can't we ourselves?

Many amateur game developers have coded their own engines, but creating advanced 3D engines comparable to modern games, or even decade-old games, takes a tremendous amount of effort and will almost surely never go anywhere unless you (or preferably a team) have the time (and money) to stick with it. Even then, development will likely take several years.

However, a simpler game engine (like a 2D tile engine, or an isometric one) can be (and has been) done outside of the commercial industry without too much difficulty, but it still requires time, effort, and commitment.

That's not to say hobbyists can't make games that rival commercial releases, but it does take serious dedication.

Share this post


Link to post

EDGE is (was?) supposed to one day be a free doom-like engine people can make thier own games with. You could probably do it now in fact but some things like the hud and menu are still going to look very much like doom, just with replaced graphics.

Share this post


Link to post

They certainly take time and effort, but new engines made by individuals are doable. Infinity is one person making the engine and a team of modellers making the content like ships and stations.

Here's a few youtube vids of the engine. Pretty impressive stuff.

http://www.youtube.com/watch?v=L3nfVTBcG18
http://www.youtube.com/watch?v=F-4OeWL1sCw
http://www.youtube.com/watch?v=ibZZRDIhtVo
http://www.youtube.com/watch?v=S8IOkkixwpo

Share this post


Link to post

I start a new personal engine every year or two simply to keep up with current technology and improve my coding style.

Share this post


Link to post
Nightmare Doom said:

I've been wondering if anyone has tried this before but has anyone here ever thought of creating a new game engine from scratch and how can it be done?

You mean reinventing the wheel or coming up with new engine ideas?

Share this post


Link to post

Sauerbraten (Cube 2) by Aardappel is probably the best example available.

http://www.sauerbraten.org/

Although the precessor Cube is quite impressive in itself. Being completely free from compilations, running on the fly it's levels can be edited while in a netgame. So you can have coop editing sessions.. or, DM ;p

Share this post


Link to post
Nightmare Doom said:

since game companies have been doing this for quite some time and why can't we ourselves?


Usually game companies get lazy and just licence other existing game engines rather than making one from scratch.

Its also due to the fact that theres just not any time to contruct a half decent game engine, mostly because of the planning, designing, optimizations, and other stuff that would nearly take years to develop.

Share this post


Link to post

Seconding the "Reinventing the wheel" motion.

Unless the game you want to do is so totally experimental and wierd that you would pretty much have to write it from scratch.

Which I'm doubting.

Share this post


Link to post

If you have a couple of years coding "professionally" (think of it like this: you know C++, you use classes, templates, exceptions, the STL, and ocassionally you feel like "implementing" one or two little things you kind of liked from some dynamically typed languages you use), if you're not afraid of trigonometry, matrices, vector math and some algebra, and have the time and patience to scour the Internet for tutorials on the latest visual tricks, building an engine is a time consuming project but hardly an impossible task.

Fortunately the days of obligatory assembler routines for some tasks, driver hell and the reinvention of every single basic feature like Gourad shading or, god, perspective projection, are long gone.

Probably the hardest part about engines is everything the user inmediatly ignores, the smart management of resources when dealing with limited amounts of memory, the asset import/export routines, a good inheritance structure for every thing worth coding as an object, knowing when to try:catch/except and when to save speed, removing all race conditions from the threads that will inevitably try to access large amounts of data you just can't bring yourself to make global "just like that", a solid event system that fleshes out the gameworld every tick, pathfinding solutions, etc. For the rest, the interpolated animations, the skeletal systems, the motion blur, the pixel lighting, the deferred shading, the Internet has an excellent article or two.

Share this post


Link to post

Why, if you decide to do make a engine from scratch nightmare doom, then you must implement motion blur, because its what make EVERY GAME LOOK NEXT-GEN(tm).

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×