I need a good book (C++ and DirectX)

Started by
12 comments, last by MaulingMonkey 15 years, 10 months ago
I have been making small 2d and 3d games with editors for some time now, and i have decided to make a real engine. I have learned c++ and i want to use directx. Could annyone recomend a really good book explaining all the basics of making your own engine and maybe some advanced reading too for later use? Sorry if this thread has already been started and for my mistakes, my englsh is not as good as it should be :)
Advertisement
I recommend to read : http://scientificninja.com/advice/write-games-not-engines
Well i cannot argue with the facts in that article .... but i must say that i started to develop a lot of games with the "engines" that other made and my problem is that i cannot understand all of it. I just tought that making an engine would give me the knowledge to continue on a professional path of game development and if i could understand how the engine works i could make better and faster games.
Andre Lamothe's books are a bit antiquated (unless he's updated them recently?) but they were *very* good ways to get your feet wet with DirectX (and the have a decent C++ primer as well). "Windows Game Programming for Dummies" was very good. I kid you not.
Quote:
Well i cannot argue with the facts in that article .... but i must say that i started to develop a lot of games with the "engines" that other made and my problem is that i cannot understand all of it.

So don't use engines that other people have made if you find them too confusing at this point in your development as a programmer. Just make games (something where you have a specific goal in mind) with your own technology. Presumably you understand your own code -- if you don't, you have a larger issue to tackle first.

However, be aware that learning an API -- such as that of a 3rd party engine -- is a vastly more useful skill to professional game developers than the ability to write ones own 'engine' is.

Quote:
I just tought that making an engine would give me the knowledge to continue on a professional path of game development and if i could understand how the engine works i could make better and faster games.

Engines don't all work the same way or do the same things, and they have nothing to do with the quality or speed of games in general. You can't learn to design and develop engines well until you have designed and developed games, because (most of the time) engines are simply there to reduce busywork and boilerplate, and allow for more rapid development via existing stable featuresets and tools. But those are all to address a specific set of needs -- a broader set than any single game, perhaps, but the better way to get to that point is to understand a lot of the specifics that go into various types of games. And the way you understand those specifics is to make those games.

Rolling your own engine isn't necessarily a great portfolio piece for a job, either. Most of the time these hand-rolled engines are little more than crude wrappers over some rendering API, and don't impress very many people doing the technical reviews of resume submissions.
Quote:Original post by jpetrie
Rolling your own engine isn't necessarily a great portfolio piece for a job, either. Most of the time these hand-rolled engines are little more than crude wrappers over some rendering API, and don't impress very many people doing the technical reviews of resume submissions.


So if my portfolio has a game that I wrote from scratch, it will be less impressive to the employer than if I created it using an existing engine? I always thought it was the other way around because the engine does a lot for you, so your "technical capabilities" are not really demonstrated. Is this the wrong way to think about it?
Quote:Original post by Gage64
Quote:Original post by jpetrie
Rolling your own engine isn't necessarily a great portfolio piece for a job, either. Most of the time these hand-rolled engines are little more than crude wrappers over some rendering API, and don't impress very many people doing the technical reviews of resume submissions.


So if my portfolio has a game that I wrote from scratch, it will be less impressive to the employer than if I created it using an existing engine? I always thought it was the other way around because the engine does a lot for you, so your "technical capabilities" are not really demonstrated. Is this the wrong way to think about it?


It kind of depends on your portfolio and what jobs you plan on applying for. If you are planning on being a level designer, it's suggested you build maps using pre-existing game editors such as for Doom 3 or Unreal. It wouldn't make any sense to build your whole engine if you wanted to be an artist. Back to the point, writing an engine from scratch will impress many employers but an engine is a big task, it isn't simply getting a box to render and move on the screen (I think this is what jpetrie was getting at...). Typically only a few members of a game dev team will build the engine and the gameplay an UI programmers and such will build off of that, so in a job you'd be building pieces, not the actual framework.

For me, I didn't understand DirectX until I used XNA. Even learning something like DirectX won't help unless you understand what the code is doing. I wrote a whole demo based on copying some tutorials I found and probably won't include it in my portfolio because I don't understand most of it.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

Quote:Original post by programmermattc
It kind of depends on your portfolio and what jobs you plan on applying for. If you are planning on being a level designer, it's suggested you build maps using pre-existing game editors such as for Doom 3 or Unreal. It wouldn't make any sense to build your whole engine if you wanted to be an artist.


Given the nature of this thread, I meant a programming position.
Quote:Original post by Gage64
Quote:Original post by programmermattc
It kind of depends on your portfolio and what jobs you plan on applying for. If you are planning on being a level designer, it's suggested you build maps using pre-existing game editors such as for Doom 3 or Unreal. It wouldn't make any sense to build your whole engine if you wanted to be an artist.


Given the nature of this thread, I meant a programming position.


Even so there are different programming areas but I won't hassle you anymore :) I'll assume a general programming position.

=============================RhinoXNA - Easily start building 2D games in XNA!Projects

I lost my respect for Scientific Ninja when I saw the Google AdSense block.

http://scientificninja.com/advice/write-games-not-engines

He is just milking Google AdSense by giving bad advice.

Discord GameDev Chat 38+ members | Skype GameDev chat group 235+ members

This topic is closed to new replies.

Advertisement