All Projects → ianpaschal → aurora

ianpaschal / aurora

Licence: MIT license
A small entity-component-system game engine for real-time-strategy games.

Programming Languages

typescript
32286 projects

Projects that are alternatives of or similar to aurora

WarKingdoms
Unity RTS Prototype (Warcraft 3 Style)
Stars: ✭ 108 (+285.71%)
Mutual labels:  rts, real-time-strategy
Spring
A powerful free cross-platform RTS game engine. - Report issues at https://springrts.com/mantis/
Stars: ✭ 2,385 (+8417.86%)
Mutual labels:  rts, real-time-strategy
darkreign2
Dark Reign 2
Stars: ✭ 41 (+46.43%)
Mutual labels:  rts, real-time-strategy
Openra
Open Source real-time strategy game engine for early Westwood games such as Command & Conquer: Red Alert written in C# using SDL and OpenGL. Runs on Windows, Linux, *BSD and Mac OS X.
Stars: ✭ 10,220 (+36400%)
Mutual labels:  rts, real-time-strategy
MyRTS
Multiplayer RTS game prototype written in Java using LibGDX
Stars: ✭ 17 (-39.29%)
Mutual labels:  rts, real-time-strategy
Warzone2100
Command the forces of The Project in a battle to rebuild the world after mankind has been nearly destroyed by nuclear missiles. A 100% free and open source real-time strategy game for Windows, macOS, Linux, BSD+
Stars: ✭ 2,094 (+7378.57%)
Mutual labels:  rts, real-time-strategy
Ore Infinium
Ore Infinium, Open Source multiplayer Terraria-inspired Sci-fi game, focused on technology, devices and researching. Written in Kotlin (JVM), LibGDX. Cross platform
Stars: ✭ 139 (+396.43%)
Mutual labels:  entity-component-system
Egocs
EgoCS: An Entity (GameObject) Component System framework for Unity3D
Stars: ✭ 211 (+653.57%)
Mutual labels:  entity-component-system
Openage
Free (as in freedom) open source clone of the Age of Empires II engine 🚀
Stars: ✭ 10,712 (+38157.14%)
Mutual labels:  entity-component-system
Gdk For Unity Fps Starter Project
SpatialOS GDK for Unity FPS Starter Project
Stars: ✭ 119 (+325%)
Mutual labels:  entity-component-system
typed-ecstasy
An entity component system for TypeScript (and JavaScript), based on ashley
Stars: ✭ 25 (-10.71%)
Mutual labels:  entity-component-system
Octopuskit
2D ECS game engine in 100% Swift + SwiftUI for iOS, macOS, tvOS
Stars: ✭ 246 (+778.57%)
Mutual labels:  entity-component-system
Entityplus
A C++14 Entity Component System
Stars: ✭ 181 (+546.43%)
Mutual labels:  entity-component-system
Ape Ecs
Entity-Component-System library for JavaScript.
Stars: ✭ 137 (+389.29%)
Mutual labels:  entity-component-system
Lumixengine
3D C++ Game Engine - yet another open source game engine
Stars: ✭ 2,604 (+9200%)
Mutual labels:  entity-component-system
Flecs
A fast entity component system (ECS) for C & C++
Stars: ✭ 2,201 (+7760.71%)
Mutual labels:  entity-component-system
Lovetoys
🍌 a full-featured Entity-Component-System framework for making games with lua
Stars: ✭ 252 (+800%)
Mutual labels:  entity-component-system
Pyro
A linear Entity Component System
Stars: ✭ 125 (+346.43%)
Mutual labels:  entity-component-system
Awesome Entity Component System
😎 A curated list of Entity-Component-System (ECS) libraries and resources
Stars: ✭ 180 (+542.86%)
Mutual labels:  entity-component-system
Wickedengine
3D engine focusing on modern rendering techniques and performance.
Stars: ✭ 3,148 (+11142.86%)
Mutual labels:  entity-component-system

Aurora is a small entity-component-system game engine for real-time-strategy games. It's also sort of a mod API, but more on that later...

Aurora is being developed alongside its intended use case, Forge, and still churns quite a bit. There's also lots of test code present which requires refactoring and possible removal, but the basic architecture is stable and usable.

Aurora is based on four basic classes:

  • Engine
  • Entity
  • Component
  • System

In a nutshell:

  • Components are JSON data with some useful helper methods.
  • Entities are are arrays of components with some useful helper methods.
  • Systems are pre-defined functions which are run each simulation loop and act on a subset of entities who have instances of the relevant components.
  • The engine:
    • Tells all systems to update each game loop
    • Handles the creation and destruction of entities and components
    • Handles the loading of assets using Three.js (geometries, materials, etc.)

The wiki contains more detailed information about the architecture and usage of Aurora and extensive documentation of the different classes and methods available can be found in /docs or at ianpaschal.github.io/aurora.

Mod API

"I read something above that said Aurora is 'sort of a mod API'."

That's correct. With Aurora, there's not really a distinction between core content and mods. Because all entities are both represented and saved as JSON (plus whatever other image assets or sounds), it's easy to add new units to the game without actually having to eval() any Javascript. This is especially useful for modded multiplayer where the required mods can be safely sent to all players in the game.

Obviously this exempts "systems" from being added as they are the actual executable functions which process a world's entities, but exchanging those should eventually be possible as well as the users' discretion.

Read more on the wiki.

License

Aurora is licensed under the MIT license.

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].