Home <-
My current hobby project is a game engine called NexEngineX. Please feel free to download it and try it out NexEngineX .
Some of the tecqunics being used in NexEngineX are from my master thises project ( homepage for XNAGameEngine ) which was a test platform for testing various tecqunics.
Please note that the world geometry, textures and bot models which is used in the game engine are not created by me. However all of the code in the Game Engine is created by me from scratch.
By request I can email the source code (currently it is around 720kb ~ 25000 lines of code).
Some of the elements contained in my game engine:
- Threaded design for support of multiple cores.
- Scene management.
- Collision Detection & Handling.
- Collision builds around an abstraction layer for support of various tecquncs/data-structures.
- BSP tree generation from raw geometry data.
- Handling of hit/collision detection.
- Handling of sliding off geometry.
- Handling of bouncing off geometry.
- Bots.
- Per polygon hit detection for realistic handling of shoots eg. hitting an arm or the head. Trivial forfilled by the collision detection system.
- OpenGL or DirectX rendering.
- The rendering engine is build around an abstraction layer, which enables interchangeability between the two graphic APIs.
- 3D Sound.
- Currently using 3D DirectSound.
- Single point handlers for all data in the engine.
- Everything which is loaded is done so by handlers, so no data is loaded twice.
- Libraries.
- Math: Vector2D, Vector3D, Matrix, Quaternions and so on. (the engine is not using any external math libraries, not even the ones found in DirectX/OpengGL)
- Simple datastructures and auto balancing trees.
- Support functions and classes.
- And so on.
- Loaders and Savers.
- Various loaders and savers for the data-structures in the Engine.
- Loader for QuakeBSP files.
- Loader for MD2 files.
- Loader for 3DS files.
- Loader for WAL files.
- Loader for Bitmaps.
- And much much more...
NexEngine description:
- Startup
Just run the "EngineX.exe" in the release directory. Download the engine.
It will start by using your current desktop resolution.
You will find a logfile together with the exe from previous run.
- What you can do in it:
- Change your weapon on keys 1,2,3.
- Run around on arrowkeys or on w,a,s,d.
- Jump on shift or space.
- Couch on ctrl.
- Shoot on left mouse.
- Zoom on right mouse.
- Climb ladders (just run into them, and keep running).
- END will disable the collision detection and make the camera "free floating".
- K will kill off all bots and they don't respawn after this. (debug)
- J will add a bot each time it is pressed up until max number. (debug)
- F1 will toggle draw mode (fill, line, point). (debug)
- F2 will toggle drawing of collision bsp tree. (debug)
- V will show position. (debug)
- What you see:
- The world.
- A night sky. (skybox)
- Bots (mobs) who will shoot at you.
- A crosshair.
- Frames per second in the upper right corner.
- Health (100 at start) in lower left corner.
- Scor in the lower right corner.
- "Nexengine" in the lower middle.
- An information text will scroll down from the top. Will disappear by it self.
- Issues / Some pending implementations:
- Balls will disappear when hitting the fence which is due to geometry error in the map, not the engine.
- A window which should not be transparent is.
- The bots (mobs) are able to run though one and another.
- The bots can get somewhat stuck in one and another.
- The bots are dumb (well, make us feel smart) :-)
- It is using to much memory which is due to various debug informations in the Engine for example the debug BSPTree.
You exit the game by ESC or ALT+F4.
Some screenshots of the Engine:
Home <-