All Projects → r-lyeh → Ava

r-lyeh / Ava

Licence: other
A tiny unlicensed 3D game engine in C; with C++ and Lua interfaces. Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.

Programming Languages

c
50402 projects - #5 most used programming language
lua
6591 projects

Projects that are alternatives of or similar to Ava

Vxr
General purpose engine written in C++ with emphasis on materials rendering (PBR, clear coat, anisotropy, iridescence)
Stars: ✭ 181 (-36.93%)
Mutual labels:  game-engine, gamedev, opengl, 3d, imgui
Magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
Stars: ✭ 3,728 (+1198.95%)
Mutual labels:  game-engine, gamedev, opengl, 3d
Overload
3D Game engine with editor
Stars: ✭ 335 (+16.72%)
Mutual labels:  game-engine, gamedev, opengl, imgui
Ncine
A cross-platform 2D game engine
Stars: ✭ 372 (+29.62%)
Mutual labels:  game-engine, gamedev, opengl, imgui
Lba2remake
A Little Big Adventure 2 / Twinsen's Odyssey reimplementation in JavaScript / Three.js / React
Stars: ✭ 116 (-59.58%)
Mutual labels:  game-engine, gamedev, 3d
Mini3d
3D Software Renderer in 700 Lines !!
Stars: ✭ 1,320 (+359.93%)
Mutual labels:  game-engine, opengl, 3d
Simplerenderengine
Small C++14 render engine
Stars: ✭ 253 (-11.85%)
Mutual labels:  game-engine, opengl, imgui
Fxgl
Stars: ✭ 2,378 (+728.57%)
Mutual labels:  game-engine, gamedev, 3d
Magnum Plugins
Plugins for the Magnum C++11/C++14 graphics engine
Stars: ✭ 66 (-77%)
Mutual labels:  game-engine, gamedev, opengl
Radixengine
A free and open game engine.
Stars: ✭ 126 (-56.1%)
Mutual labels:  game-engine, opengl, 3d
Glas
WebGL in WebAssembly with AssemblyScript
Stars: ✭ 278 (-3.14%)
Mutual labels:  game-engine, gamedev, 3d
Panda3d
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
Stars: ✭ 3,035 (+957.49%)
Mutual labels:  game-engine, gamedev, opengl
Duality
a 2D Game Development Framework
Stars: ✭ 1,231 (+328.92%)
Mutual labels:  game-engine, gamedev, opengl
Gamedev Resources
🎮 🎲 A wonderful list of Game Development resources.
Stars: ✭ 2,054 (+615.68%)
Mutual labels:  game-engine, gamedev, 3d
Magnum Bootstrap
Bootstrap projects for Magnum C++11/C++14 graphics engine
Stars: ✭ 69 (-75.96%)
Mutual labels:  game-engine, gamedev, opengl
Blue Flame Engine
A 3D/2D game engine that supports both DirectX11 and OpenGL 4.5
Stars: ✭ 129 (-55.05%)
Mutual labels:  game-engine, gamedev, opengl
Bansheeengine
Modern C++14 game engine with Vulkan support, fully featured editor and C# scripting
Stars: ✭ 2,906 (+912.54%)
Mutual labels:  game-engine, gamedev, opengl
Magnum Examples
Examples for the Magnum C++11/C++14 graphics engine
Stars: ✭ 180 (-37.28%)
Mutual labels:  game-engine, gamedev, opengl
Qfusion
Source code for cross-platform OpenGL gaming engine
Stars: ✭ 255 (-11.15%)
Mutual labels:  game-engine, gamedev, opengl
Lighthouse2
Lighthouse 2 framework for real-time ray tracing
Stars: ✭ 542 (+88.85%)
Mutual labels:  game-engine, gamedev, opengl



ΛVΛ
Small game engine.
Written in 32 random ̷d̷a̷y̷s̷ m̷o̷n̷t̷h̷s̷ years.

| Features | Rationale | Getting started |
| Unlicense | Documentation | Roadmap ᕕ(ᐛ)ᕗ |


Discord Travis Issues Unlicensed

Features

  • [x] C++. C.
  • [x] Fast. Simple.
  • [x] Modern. Readable.
  • [x] Full featured. Extendable.
  • [x] Object-oriented. Data-oriented.
  • [x] Infinite documentation. Browsable sources.
  • [x] Hundred of file formats supported. Unique binary format.
  • [x] Royaltie fee. Free and unlicensed.
  • [x] Other buzzwords. Small. Direct. Embeddable. Fun.

Rationale

  • Minimalistic coding style.
  • Less is more, DOD, ECS, KISS.
  • Heap allocations under control.
  • No installation, no makefiles, fast compilation times.
  • Generic 3D editor, that can be decoupled from the project.
  • Generic asset pipeline, that can be decoupled from the project.
  • JSON workflow: still human-readable, still mergeable.
  • Inspiration from: ands, bitsquid, ccxvii, jo, krig, ocornut, procedural, rjm, rlk, sgorsten, stb, vurtun.

Roadmap ᕕ(ᐛ)ᕗ

  • [x] 00 Project structure, build system and makefiles.
  • [x] 01 Window, rendering contexts and game loop.
  • [ ] 02 File formats, hashing, encryption and compression.
  • [x] 03 Timers, easings and interpolation.
  • [ ] 04 Input bindings, digital+analog buttons, filters, gestures, chords and combos.
  • [x] 05 Linear math, geometry, volumes and collisions.
  • [x] 06 Cameras and frustum culling.
  • [ ] 07 Regions, triggers, trees and spatial partioning.
  • [ ] 08 Data pipeline and asset journaling.
  • [ ] 09 World streaming and level loading.
  • [ ] 10 2D/2.5D/3D/VR renderer and post-effects.
  • [x] 11 Fonts, atlases and text rendering.
  • [x] 12 Debug draw and debug UI.
  • [ ] 13 Procedural content, brushes, voxels, noise and CSG.
  • [ ] 14 Static meshes, decals, skyboxes and skydomes.
  • [ ] 15 Sprites, sheets and spines.
  • [ ] 16 Particles, billboards, emitters, trails and paths.
  • [ ] 17 Skeletal animation, blending, blendspaces, IKs.
  • [ ] 18 LODs, mesh instancing and scenegraphs.
  • [ ] 19 Server/client architecture.
  • [ ] 20 Message pipeline and serialization.
  • [ ] 21 Digital signals, message buffering and event polling.
  • [ ] 22 Entity/component/systems and world replication.
  • [ ] 23 Scripting, bindings and game modules.
  • [ ] 24 Navpoints, navmesh traversal and pathfinding.
  • [ ] 25 AI, H/FSM, behavior trees and flocking.
  • [ ] 26 Game flow and game UI.
  • [ ] 27 Localization, subtitles and unicode.
  • [ ] 28 2D/3D audio, HRTF, FFT, filtering and sound occlusion.
  • [ ] 29 Dialogue, quests and inventory.
  • [ ] 30 Full Motion Video and integrated cinematics.
  • [ ] 31 Editor, gizmos, properties, timeline and data tracks.
  • [ ] 32 Debugger, callstack, inspection, console, leaks, cvars and profiling.

Screenshots

Releases

2019.2 (Monkey3_Icarus), 2019.1 (YOB_Marrow)

Getting started

Execute the make.sh.bat script file to build & run the editor.

Additionally:

  • make (launch editor)
  • make game [platform] (launch game)
  • make make [game] [platform] (make game.exe executable)
  • make cook [game] [platform] (cook all raw game assets)
  • make pack [game] [platform] (pack all cooked game assets into game.pak file)
  • make fuse [game] [platform] (fuse game.pak and game.exe both together)

Disk structure

  • editor/, generic 3d editor and viewer.
  • engine/, portable engine runtime.
  • games/, games and demos.
  • tools/, build tools & generic asset pipeline.

Download

Build

AVA as engine:

  • [x] Compile the amalgamated engine.c source file to get a functional game engine.
  • [x] Compile your game as a dynamic library and place it near the AVA executable.
  • [x] Tip: Rename both executable and dynamic library as desired. Ie, game.exe with game.dll will work.
  • [x] Tip: Place an .ico icon close to the binary if you want to as well.
cl      engine.c                && echo AVA as engine (Windows)
g++     engine.c                && echo AVA as engine (Linux)
clang++ engine.c                && echo AVA as engine (OSX)

AVA as library:

  • [x] Compile your game and link amalgamated engine.c source file with it.
cl      game.c engine.c         && echo AVA as library (Windows)
g++     game.c engine.c         && echo AVA as library (Linux)
clang++ game.c engine.c         && echo AVA as library (OSX)

Redistribution

- game.exe + .ico        (engine player)
- game.dll/.lua/.socket     (game logic) \
- game.rom/.pak        (ro data storage) | game :)
- game.ram/.sql        (rw data storage) /

License

The project is released into the public domain (as per this notice).
Any contribution to this repository is implicitly subjected to the same release conditions.

Alternatives

amulet, anvil, aroma, blendelf, chickpea, corange, ejoy2d, hate, island, juno, love, mini3d, mio, openframeworks, openkore, pez, moon, punity, roam, sushi, tigr,

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