Some new news on version 0.2.5, unfortunately it doesnt yet include support for a landscape. Haha, we're almost there. We now have basic element tracking in map-space, the meshes also seamlessly redraw themselves based on changes to the element's location (no messing around directly with the transform matrices anymore). There is a physics-based falling function, some basic code to support interactivity in interfaces, proximity scan and ranging functions to look around the character for others etc.
The biggest news for this version would of course be that I've now decided to split the source into multiple separate files (as suggested by many of you and also as I was planning to do when we reached the right stage anyway). Each class now has a declaration file ("Class.h") and an implementation file ("Class.cpp"). Headers are included in a specific order and then into a utility header which is included in ALL the .cpp files, thus giving every implementation access to every class. Please check the docs if you dont understand or just think I'm plain crazy. hehe.
We'll also be changing the way in which edits happen very soon, project manager ziggedy is casing a few options including CVS. Please contact him for other details. I've also reworked the directory structure in our project download page a little to reflect the multiple file system. We've had a lot of applications for developer lately, thanks to everyone who joined us recently. I'm planning to assign one developer entirely to testing and debugging. He will report the performance of all the functions and things others have been writing. This "code czar" position (just kidding) is open as of now. It will involve only testing. Please email me (deje162) if you would like this position.
On tap for next version 0.2.6: standardized version control system, basic landscapes support, proper meshscaling, movable main character, chase camera view, simple fully working main menu, jumping physics, basic terrain features support, non-character elements, possibly lighting and materials, textbox support (interfaces).
This is just a quick update. There has been a structural change in the way meshes are moved, positioned, rotated and scaled. That is that meshes are no longer transformed from their current location. An ORIGINAL vertex set is stored in array coldVertices (in MeshContainer) when transforming the mesh you will copy this set to vertices and then transform them there, and then call MeshTransformation to move the mesh to realPosition in the corresponding WORLDELEMENT!! So if you want to move a mesh 1 unit to the right you can change realPosition in the appropriate WorldElement and the mesh will automatically retranslate itself to the correct location. Same applies for rotation (change the facing variable in WorldElement). This avoids the problem of moving a mesh from its current location to another, and more importantly the problem of rotating a mesh around the Y axis when it is far away from it.
This wont really affect any functions you are currently writing, but is a HUGE improvement in organizational efficiency and structure of the egnine. =)
0.2.4h should be available for download in the next day or two.
This version changes the way elements are moved around the map and the way meshes react to this movement. The preferred way is to call WorldElement::MoveElement which then calls MeshContainer::MeshTransformation to effect the actual transorms (some of the code has been moved over there).
MeshContainer::MeshTransformation returns the matrix that was created for the transform (so it can be used to manipulate the camera or other things). ... read more
A quick update on the latest version 0.2.4, now available for download (click Home Page). This version, as promised, features a ray-translator that checks to see if the mouse is over an object in 3D space. It also has a function to report the 'nearest' hit (of all those that are under the mouse cursor). After much heartache and difficulty with 2D surface Bltting I figured that using Sprites was the way to go, so 0.2.4 now features full support for alpha channelled 2D interface windows (for menus, health bars, etc.). This way the sprites are hardware accelerated and do not cause the performance issues nor loss of alpha information that direct surface to surface Bltting did. Mucho progress this week. Landscaping has been postponed (yes again) to 0.2.5 and Flexible Vertex Formats has been dropped altogether, since it makes more sense to use a standard vertex format anyway (sorry zac).
On tap for the next version are: Landscaping (hopefully), realtime movement, map dynamics (collisions, obstacles), and a huge maybe on point lighting (i.e. support for lamps, torches and stuff). Please post comments or mail me if you have suggestions or questions.
this version features directinput support for both keyboard and mouse and a nifty color-keyed mouse cursor. the map now has functions that automatically scale and position meshes relative to their 2D map positions in 3D space. A text debugging display has been added using GDI fonts. Landscaping has been postponed to the next version. Flexible vector formats has also not been done, all other things promised in previous news articles now are in this version.
The next thing I am working on is translating screen clicks to objects in 3D and also a 2D interface for menus and displays using surface Blitting. post qns on the forum or mail me (or both).
Version 0.2.1 features complete mesh transforms, including scaling, rotation and translation and of course camera movement. We are currently working on a map structuring system which should be working in 0.2.2, which will also feature much needed dynamic vertex types (i.e. loading a variety of mesh formats). 0.2.3 tentatively will include support for DirectInput and basic interface parameters.
The quest for help starts here.
We need able C++ programmers and graphic artists.
If you are randomly browsing, please consider applying.
Version 0.2 which we are working on currently will utilize Meshes directly loaded from .X files, probably exported to by 3dsmax or Maya. This has required a complete restructuring of the gfxmodule. Version 0.2.1 should feature the engine with things like a landscape and obstacles.