mirror of
https://github.com/AntonioND/nitro-engine.git
synced 2025-06-18 16:45:33 -04:00
113 lines
3.6 KiB
ReStructuredText
113 lines
3.6 KiB
ReStructuredText
Nitro Engine v0.7.0
|
|
===================
|
|
|
|
Introduction
|
|
------------
|
|
|
|
This is a 3D game engine, a lot of functions designed to simplify the process of
|
|
making a 3D game. It isn't standalone, it needs libnds to work. However, if you
|
|
are developing for the NDS it is likely that you already have it installed. If
|
|
not, you need to install devkitARM and libnds.
|
|
|
|
Features:
|
|
|
|
- Support for static models, converted from OBJ files.
|
|
- Support for animated models, thanks to the `DSMA library
|
|
<https://github.com/AntonioND/dsma-library>`_, which converts MD5 models (with
|
|
skeletal animation) into a format that can be rendered with hardware
|
|
acceleration.
|
|
- Support for all format of textures (except compressed textures).
|
|
- Dual 3D (render 3D to both screens, but at 30 FPS instead of 60 FPS).
|
|
- Functions to render 2D images accelerated by 3D hardware.
|
|
- Basic text system.
|
|
- Basic GUI elements like buttons and scrollbars.
|
|
- Basic physic system: Axis-aligned bounding boxes (AABB) only.
|
|
|
|
Setup
|
|
-----
|
|
|
|
1. Copy this folder (or create a symbolic link) to
|
|
``<path/to/devkitpro>/nitro-engine`` so that the Makefiles can find the
|
|
library.
|
|
|
|
2. Go to that folder and run ``make``. This should build the library. If
|
|
everything goes right, you're ready to go.
|
|
|
|
3. If you want to check that everything is working as expected, open one of the
|
|
folders of the examples and type ``make``. That should build an ``.nds`` file
|
|
that you can run on an emulator or real hardware. Note that some features of
|
|
the 3D hardware aren't emulated by most emulators, so you may need to use an
|
|
actual NDS to test some things.
|
|
|
|
4. By default, Nitro Engine is compiled with debug options enabled. Go to
|
|
``NEMain.h`` and comment the line ``#define NE_DEBUG`` to disable them and
|
|
save CPU usage and memory. You'll need to recompile the library for the new
|
|
value to take effect.
|
|
|
|
Screenshots
|
|
-----------
|
|
|
|
Screenshots of some of the examples included with Nitro Engine:
|
|
|
|
.. |a_lot_of_balls| image:: screenshots/a_lot_of_balls.png
|
|
.. |box_tower| image:: screenshots/box_tower.png
|
|
.. |fog| image:: screenshots/fog.png
|
|
.. |multiple_models| image:: screenshots/multiple_models.png
|
|
.. |screen_effects| image:: screenshots/screen_effects.png
|
|
.. |sprites| image:: screenshots/sprites.png
|
|
|
|
+------------------+-------------------+
|
|
| A lot of balls | Box tower physics |
|
|
+------------------+-------------------+
|
|
| |a_lot_of_balls| | |box_tower| |
|
|
+------------------+-------------------+
|
|
|
|
+------------------+-------------------+
|
|
| Hardware fog | Multiple models |
|
|
+------------------+-------------------+
|
|
| |fog| | |multiple_models| |
|
|
+------------------+-------------------+
|
|
|
|
+------------------+-------------------+
|
|
| Screen effects | 2D sprites |
|
|
+------------------+-------------------+
|
|
| |screen_effects| | |sprites| |
|
|
+------------------+-------------------+
|
|
|
|
Contact
|
|
-------
|
|
|
|
This project is currently hosted on GitHub at:
|
|
|
|
https://github.com/AntonioND/nitro-engine
|
|
|
|
If you want to contact me (Antonio Niño Díaz) directly you can email me at:
|
|
|
|
antonio underscore nd at outlook dot com
|
|
|
|
License
|
|
-------
|
|
|
|
The code of this repository is under the MIT license.
|
|
|
|
The full text of the licenses can be found under the ``licenses`` folder.
|
|
|
|
Future work
|
|
-----------
|
|
|
|
- Asynchronous loading of assets.
|
|
- Support for compressed textures.
|
|
|
|
Credits
|
|
-------
|
|
|
|
- Michael Noland (joat), Jason Rogers (dovoto) and Dave Murphy (WinterMute) for
|
|
libnds.
|
|
- The maintainers of devkitPro.
|
|
- Chishm for libfat and DLDI
|
|
- The guys of gbadev for their help
|
|
- Martin Korth for no$gba and gbatek
|
|
- Kasikiare for NDS Model Exporter
|
|
- PadrinatoR for NDS Mesh Converter
|
|
- Ti-Ra-Nog for his help testing the engine
|