Tuesday 19 June 2007

Destinatum Engine Alpha

This has been my main personal project for the last couple of years, it is basically my own 3D engine built using c++ and DirectX 9. it is possible to edit your own scenes via text files, features bounding sphere collision, skybox, lighting can be positioned via text file, skinned animated meshes are supported in the .X file format.



It is availible for download here: Destinatum Engine (right click and save as)

I havent included the source code for this one due to alot of the code still being used in other projects







Controls

controls reconfigurable in the menu, is possible to add your own devices e.g pad.

W,A,S,D control movement

Arrow keys control viewing fruitism

F2 to toggle Fullscreen (fullscreen cap'd to 60 fps)
F3 to configure Directinput devices
Z to view bounding mesh collision

Camera is switchable between 1st and 3rd person by pressing "1" on the keyboard

Object editor

in the "data" folder is a list of objects to be referenced by the engine, liSt in here all objects to be loaded at startup make

sure the filename follows the current format

in each folder in the media folder is a dat file containing the objects properties, it is in the following format

xPos
yPos
zPos
xScl
Y Scale Try and keep these at 1.0 with your modelling or collison wont work
Z Scale
xRot
yRot
zRot
xFilePath
static simple true or false statement to decide wither object is animated or not


in the "data" folder is a list of lights to be referenced by the engine, liSt in here all lights to be loaded at startup make

sure the filename follows the current format

in each folder in the lights folder is a dat file containing the lights properties,i have included 3 templates for 3 different

types of lights, all of the values can e chopped and change, it will involve alot of tweaking to get right

only is support for 8 lights at the moment, can add as many as you want, but only the first 8 will be displayed

eventually it will be possible to switch between these.


Change Log:
Version 0.07
bounding sphere collision working fully

Version 0.06
bounding sphere collision working (fairly buggy in places though)

Started the basis of an option file, for startup game parameters

added an NPC who just walks towards you, nothing fancy but will form the basis of the implementation of the A* algorithm for path finding, also is kind of where combat would trigger.

added support for a looped sound, isnt much at the moment but wont be hard to setup a playlist, will also link sounds to things like footsteps

made camera switchable from first person to third person

made the option file utilise a nameing system to make it easier to read and less prone to mistakes


Version 0.05

added preset lighting settings that are scriptable via text files



Version 0.04

-Picking is now pretty much perfect (can be demonstrated by clicking the sphere and the distance from screen to object will be displayed at the top)

Collision - have almost finished a system whereby the bounding volumes for each bone are displayed although not to accurate at the moment but should serve the basis for the next version which should include a response from collisions within the boxes

also fixed a number of memory issues with the loading of objects




Version 0.03

- 0000009: [] Movement: Character jumps - slightly sinks into the floor returning to proper hight after a brief second (mike)
- 0000008: [] Memory Allocation - Memory leaks in X file loading code (mike)

-Picking, added a basic picking method currently supports (very inacurately) clicking on the first mesh in the objectlist file, and returning hte distance from where you click on the screen


Version 0.02

Changed far plane clipping value so scene doesnt appear to be engulfed by nasty blueness


0000005: [] Object Editor: Rotation parameter is in radians and not degrees (mike)
working in version 2.0a

- 0000003: [] Collision - Bounding boxes incorectly rendered (Anthon - Creative Director)
changed to support boundign spheres for initial intersection detection which appears to work near perfectly aslong as the meshes are centred before exporting in max and are scaled at 1.0 in the engine

- 0000004: [] GUI - Graphical changes crash the engine (mike)
written handler for resetting device, now can toggle between display settings and resolutions without crashing

- 0000007: [] Texturing: Certain texture formats not rendered (mike)
have adjusted the mesh hierarchy loding function to default to the ./textures directory, this will be defined in adat file which ill include for either 0.02 or 0.03 depending on how many other uses i find for it between now and then

No comments: