Quite a regular
Joined: 2008/11/3 12:06 Last Login
: 2023/8/2 22:18
From South France
Group:
Registered Users
|
Hello,
I create this subjecti to talk about the upcoming release 0.9 of the AmiDARK Engine. It will probably be the last release before an eventual RC (Release Candidate) build concerning the 2D Only version of the GDK (Game Development Kit).
In this build are already available some changes and fixes that increase the whole engine however, before releasing this build 0.9, I'll have to make a major change in the engine. This major upgrade will be to separate each module in a separate object file (.o) and, all these object files will be included inside the main library file (.a).
The interests with this major upgrade is double.
The first interest concern the final executable files. with that method, if you don't use a module, your C/C++ compiler shouldn't include the module object file (.o). As an example, if you don't use the memblock module the memblock.o contained in the libAmiDARK.a library will not be included. Your executable will then be smaller of the size of the memblock.o file.
The second interest concern the upcoming feature for "additional modules" (plugins/TPC). On that principle, it will be easy to create an additional module for the AmiDARK Engine and this module can directly call the AmiDARK Engine commands and functions and, more to this, I can make this module to access some internal structure with the help of dedicaced functions. The objective of module is to allow the AmiDARK Engine to grow in functionalities and, according to this, a major upgrade will be made to the main "global refresh display" of the engine. Currently, at each rendered frame, the engine work in this way : - Render full 3D (only in 2D+3D version of the GDK) - Render 2D images - Get sprites background - Display sprites - Switch buffers and makes everything being displayed on screen - Copy buffer to hidden one - Refresh sprites background. That order can be modified concerning 2D images and sprites using available commands but, to allow an "additional modules" that may have visual render to work, I must modify the whole function to handle two important features : - The adding of new functions to be called during the "global refresh display" process, directly using their pointers. - Adding a value for "render priority" to makes a module being drawn before another one to ensure things will be done in the good order. These changes should allow in the near future, to add additional modules that can render to screen too and that will be entirely integrated in the main AmiDARK Engine "global refresh display" process.
All these changes will force me to rebuild some part of the engine so, the release of the 0.9 will be smally ... shifted to later. Of course, I'll keep you informed about the progress of these changes.
Don't forget that the AmiDARK Engine is a *personal* project without professional funcding. Then the project is developed during my free time and will depend on 2 major factors : My main work and my health. These conditions makes the engine being developed slowly but piece per piece, the project evolce. I hope we'll soonly have a well working AmiDARK Engine GDK to help create video games and softwares under AmigaOS4.
Kindest Regards, AmiDARK
|