Game Engine???

Started by
12 comments, last by Tenebrosity 20 years ago
I have looked at the possibility of making a game. I understand I should learn C/C++, but what I don''t understand is what makes a complete game engine. I have been told to look at some of the following engines: ================================================ ogre3d http://www.ogre3d.org/ Nebula1&2 http://sourceforge.net/projects/nebuladevice http://www.radonlabs.de/ http://irrlicht.sourceforge.net/ http://neoengine.sourceforge.net/ http://www.realityfactory.ca/v3/ (derived from genesis3d open-s fast way to make fps games) http://www.genesis3d.com/ http://crystal.sourceforge.net/ http://xengine.sourceforge.net/ http://www.panardvision.com/v3/ http://orion3d.alrj.org/ http://apocalyx.sourceforge.net/ (interesting) http://www.cubeengine.com/ (actually a fps engine) NIN engine http://www.illicitdev.net/~ozak Nive 3d http://www.faktiss.com/ NemoX http://perso.wanadoo.fr/malakoff/index.htm mind engine http://medev.sourceforge.net/ ================================================ Thats a good start.. but some claim to not be a game engine, but can be used as an engine. Can someone clarify the components that make up an engine? Does the engine give you a Server and Client environment? Tenebrosity
Advertisement
thats a mighty list you''ve got there mate.

A game engine would contain components to handle everything in a complete game, including networking, graphics, input, sound, resource/memory management, scene management etc.

Just to pick a couple from your list, ogre, crystalspace and irrlicht are all graphics/3d engines. They basically fulfill the graphics, and sometimes input, requirements of a game engine. If using these you would have to integrate them with other components to make the game engine.

Something like neoengine on the other hand is a complete game engine, and provides all the necessary tools and libraries for handling networking, graphics etc.

BUT WAIT, while investigating these engines is all well and good, you must first learn how to program AND design. If using an existing game engine, you obviously won''t need to learn the details of octree culling, or memory management, but you will need to know how the various engine components work on an architectural scale. Also if using an object oriented language like c++, you will have to learn the OO paradigm and it''s various quirks, aswell as how c++ implements them.

So learn:
General Programming
OO
Game/System Architecture

C++ can be learnt alongside each of these things.

ON THE OTHER HAND, if you want to dive straight into making games I would consider using a game creation tool like DarkBasic or something. I''ve never used one myself, but I assume its a very easy way to get something up and running quickly.
Read the "Enginuity" articles here.
They tell a lot about Game-Engines.

You define what a complete game engine is for you.
If you don''t need sound and network components then the engine doesn''t need those features to be complete.
Just read about what the differences between application-parts and engine-parts of games are.
NeoEngine for example will be a complete game engine.
Some engines are more or less Graphics engines only.

Writing errors since 10/25/2003 2:25:56 AM
making a engine is quite a undertaking, first off you should be more than capable of making some halfway decent games/demos before you even start thinking of making a engine. Then set aside 8-10 months and get a few people to help you.

to find out what make a engine a engine, read the enginuity articles (posted right above this).

Also, you for got a certain engine, now how could you put genesis3d in there and forget it''s bigger brother


___________________
-Nicholas Anton, Owner RaptorTech
-Admin(at)Raptor85.com
-Offer to all Gamedev members
A game engine deals with input/graphics/sound/networking. It''s basically a class or library of classes that wrap around an API like DirectX or OpenGL/OpenAL. Example:

GAME ENGINE
^^^^^^^
DIRECTX
^^^^^^^^
HARDWARE

So DirectX makes it easier to deal with the hardware. And a game engine makes it easier to deal with DirectX. You don''t need a game engine, but you''ll spend time writing every little detail needed to make DirectX (or whatever Multimedia API you''re dealing with) work. For instance:

...LPD3DXBUFFER pD3DXMtrlBuffer;D3DXMATERIAL* d3dxMaterials = (D3DXMATERIAL*)pD3DXMtrlBuffer->GetBufferPointer();g_pMeshMaterials = new D3DMATERIAL9[g_dwNumMaterials];g_pMeshTextures  = new LPDIRECT3DTEXTURE9[g_dwNumMaterials];g_pMeshMaterials[i] = d3dxMaterials[i].MatD3D;g_pMeshMaterials[i].Ambient = g_pMeshMaterials[i].Diffuse;// Create the texture.if( FAILED( D3DXCreateTextureFromFile( g_pd3dDevice,    d3dxMaterials[i].pTextureFilename, &g_pMeshTextures[i] ) ) )    g_pMeshTextures[i] = NULL;}pD3DXMtrlBuffer->Release();...// this code fragment deals with loading a mesh into your game// sceen.   // or you could have a class method (function) that takes care// of all that junk for you. Now all you have to do is type this#include "c3DEngine.h" // or whatever...c3DEngine::loadMesh("myMesh.x");// and tada! the mesh is loaded--much easier right?


Now possible game engines could be: Programming Role Playing Games with DirectX w/CD ($40) or the TorqueEngine ($100).

Now the book will tell you how to make your own, but why do that when you can just buy one .
quote:Now the book will tell you how to make your own, but why do that when you can just buy one .


GameDev.net will tell you how to make your own game, but why do that when you can just buy one .

quote:Original post by MadKiwi

GameDev.net will tell you how to make your own game, but why do that when you can just buy one .



You''re entirely right. On the other hand though, we make games because we want to--not because we need to (unless it''s your job and you want money for food, clothing, etc). You see a game is a product and a game engine is a tool. Basically what I''m saying is only build an engine if you want to. Otherwise use something that has already been created and focus on what you really want to do--make a game. If you just want to make your own game, then you''re not going to learn how to build a compiler and then create one before you even start on your interactive package are you? Probably not. You are just going to buy MSVC++.NET (or some other pre-made compiler) and start the creative process.

In other words, don''t build a wrench to build your dream machine unless building a wrench interests you. And don''t build your dream machine (Lamborghini Diablo) if it already exists unless the building of one interests you or you would like your own "custom" one (or you can''t afford one, in my case).




"Do not flame people you don''t know in a public forum. Only amateurs do that. Professionals in the industry know they will run into each other over and over. The person you flame this year may the person you want to do business with next year. Don''t burn your bridges," (Diana Gruber, http://www.makegames.com/chapt6.html).
Trying to learn C++ now.

Coming from a VB and web development background makes it a challenge. :o

Not concerned with making the whole engine myself, unless theres a valid reason to.

I want an engine that supports DX9, Server/Client (with option to make MMORPG, if needed) good support community and affordable. So far I like the Torque engine, but can it be expanded to support an MMORPG?



[edited by - Tenebrosity on March 26, 2004 1:14:53 PM]
You can join the Garage Games community and post in their forums without needing to purchase any of their products.

It''s also for developers using other software, and they have a forum specifically for asking questions prospective Torque Engine licensees.

From the replies I''ve seen to similar questions there, it appears that the FPS demo included with the SDK can handle up to 128 players online at any one time, without requiring any modifications.

As the full source is included, any functionality you can''t achieve using the scripting language can be added by modifying the underlying C++ code and recompiling.

You might also want to take a look at the Realm Wars project, which is being built using the Torque Engine. It''s not exactly a MMORPG, but it''s probably closer than the FPS demo is.
www.coolhouse.fi/gekkeiju/

a functional MMORPG (though with the player count in beta not quite so massive yet)

Just recently upgraded from genesis3d to jet3d, and will most likely upgrade to the next version of jet3d, which is DX9 based.

___________________
-Nicholas Anton, Owner RaptorTech
-Admin(at)Raptor85.com
-Offer to all Gamedev members

This topic is closed to new replies.

Advertisement