Game Engine Design / DLL Loading

Post: #1
I am currently writing a 3D-Engine for my udevgame entry. The Problem is, that I don't know much about Design of Engines. I had a look at the Quake 1/2 Engines, but it is too much source code to see the Design behind it Grin
While searching the Internet on Game Engine Design, I found a nice book called "3D Game Engine Design", the only problem is, that 60 $ for a book is too much for me.

Anyone know a (free) Resource, where I can learn about game engine Design?
Or someone who is writing an Engin, too, can give me some tips?

Another Problem is, that I can't find much Information on how to load DLLs on Mac, like it is done in Quake2. I had a look at the Q2 OS X Port code from Fruitz of Dojo, but this is OS X-only, and my Engine should probably also run in OS 9, so I will have the DLLs in CFM-Format.
Quote this message in a reply
Posts: 5,143
Joined: 2002.04
Post: #2
CFPlugin is an easy way to deal with plugins on 8.6+

As to the engine, my advice to you is not to write an engine. Write a game. That way you'll only write what you need, you will actually be able to say you've finished, and you'll know it's possible to write a game using your code.

At that point, if you're still keen, write another game in a similar genre, using most of the code from the first game. Any changes you make for the second game, make sure they're isolated from the code that's common to both games. Then you can call the code that's shared between the two an engine, and chances are it can easily be used to make more games... which is surely the point.
Quote this message in a reply
Posts: 1,141
Joined: 2002.04
Post: #3
We have a book review of the book you NEED to write your 3d-Engine. Get that!
My next advice would be to re-consider your entry. udevgame is a good contest to push yourself to learn something new. That said, the 3 months time frame may cause you to spend 2 months on learning about 3d engines and only 1 month on your game. If the game can be adapted to 2nd, consider that. For example, use isometric pre-rendered 3d sprites.

The last advice was also good. Check out dim3, Bang3D (come on Chris!), RB3D, METAL with OpenGL (don't laugh, it works!), FB with OpenGL (comes with an engine), Torque (ask Griffin and ?? on that one) or check out Crystal Space.

A last option is to get the QD3D code from Brian Greenstone's games or the Marathon code.

BTW, what type of game are you trying to work on?

Carlos A. Camacho,
Quote this message in a reply
Post: #4
Don't bother writing an engine, do as OneSadCookie said, write a game. If you get some usable code at the end of it all well and good but don't worry about it. Do the simplest thing that works to get your game going.

I know every one goes through the 'gotta write an engine' phase and it's a good learning experience (mainly teaches you not to botherSmile) but it's better to have a specific goal in mind (eg. udev) otherwise you'll never finish.

I spent a year writing an engine. It had everything, shaders, a scripting lanuage, the works. I recently started writing a game and I haven't used any of the code from the engine. Sure the knowledge I gained has been invaluable but I could have learnt the same writing a game. The only reason I haven't deleted the code from my HD is sentimental reasons.
Quote this message in a reply
Post: #5
henryj, why don't you just make your game assets and plug them into your engine? Surely when you were writing the engine you were thinking about how it interacts with data and user input to produce the experience of being in the game world? I mean, an engine with no context is just like an application with no user interface, or a brain with no contact with the outside world.

A game is a set of rules. Does anybody actually program a game? You write a program to maintain the game world, let the user interact with the game world, animate the animated entities, and enforce the rules. But a game is an abstraction that says:
-there are 1-n players in this game
-this is the game setting (map/level/arena what-have-you)
-there are X kinds of animated "enemies" in the game
-the player can move here, but not here
-if the player goes here, something good happens
-if the player goes there, something bad happens
-when this and this happen, the player gets a point
-when this and this happen, the player wins
-when this and that happen, the player loses

None of these things require a computer, by the way, although when you use a computer, you tend to create games that depend on the computer (for A.I., for physics simulation, for special effects). RPGs had physics, magic and all that long before they put them on a computer. What the computer really provides is a Game-master, since nobody wants that job, they all want to be the hero.

If you wrote a game engine, why the heck aren't you using it? I'm sure that there are people who would use it, so why not give the code away? Maybe I can use parts of it in HailStone. Or is there something you're not telling us?

Quote this message in a reply
Post Reply 

Possibly Related Threads...
Thread: Author Replies: Views: Last Post
  need help on game driver design JeroMiya 10 6,857 Oct 18, 2002 03:26 PM
Last Post: ylaporte
  What is the line between in-game tool and engine? monteboyd 4 5,469 Jul 5, 2002 08:37 AM
Last Post: Feanor