This project aims to collect sufficient funds (at least 1500 Euro) to release the source code of the AmiDARK Engine (Current 2D build 0.9 with partial 3D support, AmigaOS4 & MorphOS) for free use under the MPL licence, the Mozilla Public Licence.
About the AmiDARK Engine
- AmiDARK Engine is a Game Development Kit for Amiga computers and compatible systems. It is released as a .a library containing .o objects with all functions.
- It is a full A.P.I (Advanced Programming Interface) to help with the development of video games using the C and C++ programming languages.
- It currently runs on AmigaOS4 & MorphOS but, if the bounty is completed successfully, there are plans to try to make it become compatible with AROS & AmigaOS 3.x as well.
- Initially, the AmiDARK Engine was developed to bring a game development kit to Amiga systems that is compatible with the DarkGDK product from TheGameCreators (and later, with Dark Basic Professional with an integrated development environment (IDE) to be set up after the completion of the GDK).
Current Development State
- Basic2D Command set, which covers various 2D operations like dots, lines, triangle, box, circle, elipses.
- Basic3D command set, which provides custom 3D model loading and display in a 3D environment
- Bitmap command set, which implements virtual (hidden) bitmaps to precalculate graphics
- Camera3D command set, which handles the camera movements in the 3D world.
- Core command set, which handles system commands
- FileIO Command set, which handles file reading/writing
- Image2D command set, which handles 2D image loading and displaying on screen.
- Input command set, which handles mouse and joystick handling
- Light3D command set, which provides mechanisms to control lighting in the 3D world.
- Matrix3D command set, which is used to create some sort of 3D terrains (not started)
- Memblock command set, which deals with memory block handling.
- Music command set, which handles the use of music in various file formats (currently .mod)
- Setup command set, which handles basic display controls
- Sound command set, which enables the loading and playback of sounds.
- Particles3D command set, which is used to create 3D particles (not started)
- Sprite2D command set, which is used to create sprites (developed to add compatibility with DarkGDK)
- System command set, which provides system and memory functions
- Text command set, which handles the output of on-screen text in an AmiDARK Engine application
- Vector3D command set, which contains various mathemativs functions.
The current build contains a total of 705 commands / functions out of 1137 that had originally been planned. The 2D engine itself (without 3D) contains 476 commands and functions out of 484 that had been originally planned.
More information concerning the current state of its development can be found directly on the official AmiDark website.
- The engine was rebuilt and the main "render system" is now able to handle priorities for the various rendering methods (Basic2D, Image, Sprites, 3D, Plugins), which adds a great level of flexibility and allows to use of up to 90 more functions in the render process.
- An additional plugin can be added in a "slot" like AmosPRO did or as an "unlinked" plugin enabling the use of a virtually unlimited amount of plugins.
- An additional plugin can add its own render function to display what is needed (FX2D plugin shows how this works).
- The engine has been developed in a way to make porting between Amiga-compatible platforms easier. All system/ OS functions are wrapped in specific files. Support for a new OS will have to be added there.
- The engine contains a partial HTML documentation explaining how the commands / functions work (632 commands / functions done)
- The engine contains an easy-to-use method to allow specific plugins or commands to access to functions / commands from other functions set.
- The source code of the AmiDARK Engine is developed under AmiDevCPP (PC) so everything has been set up to work directly without any changes under AmiDevCPP
- Compiling for AmigaOS4 will require the AmigaOS 4 Release 53.20 Software Development Kit from Hyperion Entertainment.
- Compiling for MorphOS will require the latest MorphOS Software Development Kit from the MorphOS website.
- With relatively few changes, the AmiDARK Engine can be compiled directly under AmigaOS4 (via CodeBench and the AmigaOS4 Software Development Kit Release 53.20 from Hyperion Entertainment).
- With few changes, the AmiDARK Engine should also compile directly on a MorphOS system although this has never been tested due to a lack of access to a sufficiently fast MorphOS-compatible computer.
- Sub-libraries, such as ptplay.library, ptreplay.library, freetype, and FTGL, are out of the scopie of this bounty project as they are not my property and can be obtained easily on the internet for various Amiga and Amiga-like platforms.
- If the funding exceeds 1500 Euros, the author plans to acquire an AmigaOS4 and / or MorphOS compatible platform in order to continue development of the AmiDARK Engine as he currently lacks adequate hardware to run either operating system.