All Projects → kochol → ariyana

kochol / ariyana

Licence: MIT license
Ariyana is an ECS work in progress game engine written in Orthodox C++ and Beef with a focus on cross-platform and multiplayer games

Programming Languages

C++
36643 projects - #6 most used programming language
c
50402 projects - #5 most used programming language
Beef
7 projects
CMake
9771 projects
GLSL
2045 projects
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ariyana

BNA
A minimal game framework inspired by XNA for the Beef programming language
Stars: ✭ 20 (-72.6%)
Mutual labels:  beef-language, beef-programming-language
imgui-beef
Dear ImGui wrapper for the Beef Programming Language
Stars: ✭ 20 (-72.6%)
Mutual labels:  beef-language, beef-programming-language
VoxelGamesLib
Multi-platform, fully-featured, data-driven, abstract and expendable minecraft minigames framework
Stars: ✭ 15 (-79.45%)
Mutual labels:  modular, data-driven
Pile
A friendly, extendable game framework for the Beef programming language.
Stars: ✭ 27 (-63.01%)
Mutual labels:  beef-language, beef-programming-language
VoxelGamesLibv2
Powerful, feature-packed, abstract and expandable Minecraft minigames framework.
Stars: ✭ 67 (-8.22%)
Mutual labels:  modular, data-driven
Digital Restaurant
DDD. Event sourcing. CQRS. REST. Modular. Microservices. Kotlin. Spring. Axon platform. Apache Kafka. RabbitMQ
Stars: ✭ 222 (+204.11%)
Mutual labels:  modular
mSAT
A modular sat/smt solver with proof output.
Stars: ✭ 91 (+24.66%)
Mutual labels:  modular
Litegraph.js
A graph node engine and editor written in Javascript similar to PD or UDK Blueprints, comes with its own editor in HTML5 Canvas2D. The engine can run client side or server side using Node. It allows to export graphs as JSONs to be included in applications independently.
Stars: ✭ 2,735 (+3646.58%)
Mutual labels:  modular
Ios Nbuimagepicker
Modular image picker with Simulator-compatible AVFondation camera, assets library, filters and more.
Stars: ✭ 196 (+168.49%)
Mutual labels:  modular
StartupModules
Startup modules for ASP.NET Core.
Stars: ✭ 33 (-54.79%)
Mutual labels:  modular
FAVITES
FAVITES (FrAmework for VIral Transmission and Evolution Simulation)
Stars: ✭ 33 (-54.79%)
Mutual labels:  modular
SeLite
Automated database-enabled navigation ✔️ of web applications
Stars: ✭ 34 (-53.42%)
Mutual labels:  data-driven
Jboss Modules
A Modular Classloading System
Stars: ✭ 231 (+216.44%)
Mutual labels:  modular
documentify
Modular HTML bundler
Stars: ✭ 47 (-35.62%)
Mutual labels:  modular
Xflegoviper
🚀 A seamless framework for build app from MVC, MVVM, VIPER (etc.) design pattern in iOS world. (OC & Swift)
Stars: ✭ 215 (+194.52%)
Mutual labels:  modular
fylgja
The modular highly customisable CSS framework. Powered by CSS Components, Utilities and Props for building your Web UI.
Stars: ✭ 65 (-10.96%)
Mutual labels:  modular
Pencil.js
✏️ Nice modular interactive 2D drawing library
Stars: ✭ 204 (+179.45%)
Mutual labels:  modular
grakkit
A modern JavaScript development environment for Minecraft.
Stars: ✭ 184 (+152.05%)
Mutual labels:  modular
nitroml
NitroML is a modular, portable, and scalable model-quality benchmarking framework for Machine Learning and Automated Machine Learning (AutoML) pipelines.
Stars: ✭ 40 (-45.21%)
Mutual labels:  modular
OsuParsers
Library for parsing/writing files associated with osu!
Stars: ✭ 60 (-17.81%)
Mutual labels:  replay

Ariyana

Ariyana Game Engine

Features

  • 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

How To Build

We are using fips as a high level build system for Ariyana.

Requirements

  • 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

Cloning the repository

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

Build the engine

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.

Games that are using Ariyana game engine

block heroes Block heroes

It's a multi player tetrix like game.

Github Game jolt Discord Twitter Twitch Youtube

Changes

Ariyana Game Engine 0.7

  • 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

Ariyana Game Engine 0.6

  • 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

Ariyana Game Engine 0.5

Ariyana Game Engine 0.4

  • Implement material system
  • Phong lighting
  • Directional light and point light
  • Fix some bugs

Ariyana Game Engine 0.4.1

  • 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

Ariyana Game Engine 0.3

  • 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

Ariyana Game Engine 0.2

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.

Ariyana Game Engine 0.2.1

  • Fix an important memory corruption bug.
  • Add GetLastRpcClientIndex to find out which client called the function.

Ariyana Game Engine 0.2.2

  • Updated to work with the latest sokol gfx.

Ariyana Game Engine 0.2.3

  • Compile fix for android

Ariyana Game Engine 0.2.4

  • Compile fix for Linux

Ariyana Game Engine 0.2.5

  • Fix a bug in android file path

Ariyana Game Engine 0.1

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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].