Jump to content


Best game engine for begginer?


23 replies to this topic

#21 alphadog

    DevMaster Staff

  • Moderators
  • 1716 posts

Posted 09 August 2009 - 03:49 PM

The biggest problem with building an engine first comes from the time it takes to actually build a complete working engine, especially if you are on it part-time and start with no coding experience, combined with the rapid evolution of the industry as you accomplish the very basic parts of an engine.

Basically, building even an intermediate-level 2D/3D game engine is a HUGE task. Poeple forget just how much raw time it takes to bang out all those lines, much less think about them, debug them, redesign them, etc.

Layer on the other HUGE task of designing a playable game, coding the rule layer and creating game content, and you'll see why people never finish; it's because lots of people start with building an "easy" engine when they just want to design a "simple" game.

Let's assume you are smart enough to realize that both of these are big tasks that could sap so much time individually that the risk is that you may never get to the second one, ask yourself, which one is my "Top 1" desire: build an engine or build a game?

If you get to the second one, kudos abound then... :D

#22 SyntaxError

    Valued Member

  • Members
  • PipPipPip
  • 139 posts

Posted 09 August 2009 - 09:54 PM

I don't think you have to build the whole engine ahead of time. I did a few pieces first. I started with my LOD mesh structure and then added collision detection, a camera class and wire frame graphics. I can run around on my world up and down mountains and so forth. It refines and unrefines as I move. My character is only three stacked spheres at the moment. I am only now working on the shader and animation classes.

I'm not saying I am doing things in the right (or wrong) order. I'm just pointing out that you can do a few pieces of the game engine and then work on the game and the game engine in parallel. In fact I would say it's preferable to doing the engine and then trying to use it. You add things as needed and see how they fit in. I have even reworked parts of my code already when I found things that I didn't like.

I realize the whole thing is still a big job. However I think one biggest jobs you have is getting over the mental hump of sitting down and writing some code. Once you start to see some results you get some encouragement and it doesn't seem so bad any more.

#23 alphadog

    DevMaster Staff

  • Moderators
  • 1716 posts

Posted 10 August 2009 - 12:39 PM

SyntaxError said:

I don't think you have to build the whole engine ahead of time. I did a few pieces first. I started with my LOD mesh structure and then added collision detection, a camera class and wire frame graphics. I can run around on my world up and down mountains and so forth. It refines and unrefines as I move. My character is only three stacked spheres at the moment. I am only now working on the shader and animation classes.

How long did it take you to get to this point, and at what rate (avg hrs/day)?

SyntaxError said:

However I think one biggest jobs you have is getting over the mental hump of sitting down and writing some code. Once you start to see some results you get some encouragement and it doesn't seem so bad any more.

Very true.

#24 SyntaxError

    Valued Member

  • Members
  • PipPipPip
  • 139 posts

Posted 10 August 2009 - 02:12 PM

alphadog said:

How long did it take you to get to this point, and at what rate (avg hrs/day)?

I've been doing the project for about a year. At first I wasn't working full time though. Now I have an office and am doing this as my regular job (self funded). However I was displaying my mesh on the screen probably a month after I started.

On the other hand I've had to figure out lot of stuff myself. My world is real time fractal based so the technology is rather new and everything takes much longer.

For instance, because my world is big I have to move the data around the camera instead of simply setting camera transformations. Obviously I don't want to send down the full data every frame so I need to have the extra complexity of transforming the camera and when new data is ready I switch over. There is also LOD which adds to the problem.

Then there are the problems with a round world. Minus Y is no longer always down. You can't take advantage of a matrix like structure for fast collision detection. Also since everything has to have many levels of LOD you have to organize your polygons fully at run time instead of using a pre calculated occtree. Finally the combination of collision detection and LOD is a big headache. If you are moving fast you can hit a surface before LOD has time to refine it. I wanted an algorithm that would never break Once your avatar gets stuck in geometry it's hard to figure out a way to get him out that will work every time. I wanted to avoid that problem altogether. I literally sat on the couch for three days just thinking before I solved it.

Then there is 2D noise on a round surface. In the future I'll have to do MOB pathing on the server side which brings a whole new list of problems....... Again my point is, if I was just trying to recreate something more standard it would be a lot easier. For myself I consider the extra work well worth it because at the end of the day I'll have something that few people can replicate. For someone more inexperienced however, writing a relatively simple game engine is probably doable and gets you a butt load of experience and knowledge. You will make yourself far more invaluable to employers.

Frank Luna's books cover a huge amount of what you need to know, at least if you are programming in DirectX. I'm sure there are other good resources if you look around.





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users