Ariyana Game Engine
- Simple Orthodox C++ coding style and APIs
- Entity component system
- Cross-platform not only the code but also the textures and shaders will be converted to the target platform on the build phase.
- Async file I/O
- Texture conversion and loading.
- Dear-ImGUI support.
- Networking support through Yojimbo
- Secure client and server
- Auto serialize and deserialize of entities and their components.
- Sync entities with clients automatically
- RPC support with auto parameter serializing and deserializing.
- Automatic property replication
- Create replay of networked games
- GLTF 2.0 mesh loading
- Material system (Experimental)
- 3D and 2D supported
- 2D Sprite
- Beef language support for making your game in Beef and enjoy the live update feature and its performance
- Dedicated server build
- Players profile server to run the game servers and matchmaking
- Http client system to working with rest APIs
- Google analytics support
We are using fips as a high level build system for Ariyana.
- Python (2.7.x or 3.x)
- CMake (3.x)
- A working C/C++ development environment:
- on OSX: Xcode + command line tools
- on Linux: make/gcc (or clang)
- on Windows: Visual Studio 2017 or better
As fips clone all the dependencies during building, it's better to create a Workspace directory (e.g. "ari-workspace") and clone the repository in it:
> cd ~/your-workspace
> git clone https://github.com/kochol/ariyana.git
Here is the easiest part, run ./fips build
in ariyana directory (fips build
in windows):
> cd ariyana
> ./fips build
now ./fips open
will open it up in your C/C++ development environment:
> ./fips open
done! it's ready to rock.
It's a multi player tetrix like game.
- Fix memory leak in component system
- Support AtlasC atlas maker
- Add SpScQueue in Beef to support Beef realtime leak detection
- Modular the engine from Beef side. Now you can only add the parts that you need
- Limit the user actions for profile server
- Add basisu texture support
- Add cubemap, 2d array and 3d texture support
- Add ImGui support in Beef and ScriptGui for building custom GUI components from Beef
- Add Login and Register to profile server
- Add Google analytics support
- Add blending for sprites
- Create replay of networked games
- Add zip compression and decompression
- Upload replay to the server
- Get players game history from server
- Add replay speed and fast forward
- Add 2D module thanks to AmirArdroudi
- Add Beef language bindings
- Add Dedicated server builds
- Add Http client system
- Get unique id for each device
- Add profile server
- Update ECS design
- Implement material system
- Phong lighting
- Directional light and point light
- Fix some bugs
- Add baked shadow, AO and specular map to the material system
- Add normal vectors to BoxShape
- Add alpha map support
- Add blending to pipelines
- Add name for Nodes
- Update fips import stuff
- Detecting buffer in gltf loader
- Manging pipelines
- Fix a crash in BoxShape creation
- Fix Texture mipmapping
- Adding gltf mesh loader
- Load meshes and nodes
- Supports sparse buffers
- Load textures
- Support vertex colors
- Add input handling in ImGUI
- Add some basic default shaders
The main changes for this version are adding networking.
- Auto serialize and deserialize of entities and their components.
- Sync entities with clients automatically
- Automatic property replication
- RPC support with auto parameter serializing and deserializing.
- Add multi-window rendering support.
- Fix an important memory corruption bug.
- Add GetLastRpcClientIndex to find out which client called the function.
- Updated to work with the latest sokol gfx.
- Compile fix for android
- Compile fix for Linux
- Fix a bug in android file path
The first release of the engine
- Simple Orthodox C++ coding style and APIs
- Initial code for entity and core systems
- Cross-platform not only the code but also the textures and shaders will be converted to the - - - target platform on the build.
- Async file I/O. Can pack assets inside the APK and load them from APK at runtime.
- Texture conversion and loading.
- Dear-ImGUI support.