3D engine help

Started by
3 comments, last by Captain P 16 years, 2 months ago
I am pretty new to game programming. I have been coding C++ for probaby 10 years or so now and pretty good at it and have read a few 3D game programming books in the past but really haven't applied any of what I have read. I am wanting to build a 3D engine that is somewhat flexible. I have a book i bought called 3D Game Engine Programming in which the author walks you through building a 3D engine (ZFX engine) which mainly just seems like DirectX wrapper classes in reality. But the problem is I have had the book almost 2 years now and I have misplaced the CD to it. I'm sure it'll show up soon but it may not. Is it possible to get the source code anywhere else if I prove I own the book? Also is this ZFX engine really any good and if so what else should I add to it or should I go a different route. I'm just building an engine to learn for now. Any sites you want to point me in would be greatly appreciated. Thanks. jack
Advertisement
By "3D engine" do you mean an actual game engine or just a graphics engine? If you're just looking for a graphics engine, you might want to try Ogre3D or Irrlicht. For an actual game engine, it's pretty tough to say how to make one, because every game must have its own type of game engine. For example, RTS games use RTS engines, etc. Some engines out there can be used for generic games, but they are few and far between and tend not to be as useful as specialised engines.

In terms of actually writing game engines, the book you were referring to is probably the best resource I can think of. I'm sure that if you know design patterns well enough, you'll be able to design your own game engine based on abstract factories, factories, mediators, etc. There's no "right" way to write a game engine, so just do whatever works and optimise later.
This article describes what is probably the best way to build an engine, even if it's title suggests otherwise. If you are still not convinced after reading it, take a look at my comments here.
Thanks for the replys. I'm reading through that article now. I agree it's a pretty good book but I lost the CD. I'm sure it's in my room somewhere but has yet to turn up. Without the CD the book is useless as it doesn't show all the source code. Where can I contact the author about a replacement?

I want to develop a Graphics engine, sound engine, network engine, sound engine, and input engine minimum. I want it to work on a variety of projects starting out. But what do most big time engines do? Do they have a map builder built for their specific engines as well?

jack
Quote:Original post by SlyJackal
I want to develop a Graphics engine, sound engine, network engine, sound engine, and input engine minimum. I want it to work on a variety of projects starting out. But what do most big time engines do? Do they have a map builder built for their specific engines as well?

If you want to develop a good engine that takes care of all these things, you'll need some real-life experience with how games use these functionalities. Theories are fine, but reality always contains some surprizes. It's a good idea to just build a game instead, then build another game, using parts of your first game. Eventually, you can rework these parts into a more structured framework, or engine. It will then be a system that has proven itself, and you'll have gained a lot more insight.

At least that's what I did. I tried creating a few 2D game engines before, but eventually got stuck due to feature creep and lack of experience. A while ago I started building a game, and I then reused functionality from it for a few other games, up to a point where I have a framework that allows me to build quick prototypes within days.


As for level-editors, does it matter what the big boys do? You should focus on what you need and what you can afford. A level-editor saves artists a lot of time, compared to building levels with notepad, but a good editor takes some time to develop. You may want to use an existing editor or modelling package instead, by writing some conversion tools or plugins for it.

However, why not use an existing engine as well? Torque, ogre, there are quite a few free and cheap ones around. Even if you absolutely must build your own, playing around with these can at least give you some inspiration.


PS: One sound system is probably sufficient. ;)
Create-ivity - a game development blog Mouseover for more information.

This topic is closed to new replies.

Advertisement