• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

r-lyeh-archived/AVA: A tiny unlicensed 3D game engine in C; with C++ and Lua int ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

r-lyeh-archived/AVA

开源软件地址:

https://github.com/r-lyeh-archived/AVA

开源编程语言:

C 58.9%

开源软件介绍:



Λ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

  • C++. C.
  • Fast. Simple.
  • Modern. Readable.
  • Full featured. Extendable.
  • Object-oriented. Data-oriented.
  • Infinite documentation. Browsable sources.
  • Hundred of file formats supported. Unique binary format.
  • Royaltie fee. Free and unlicensed.
  • 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 ᕕ(ᐛ)ᕗ

  • 00 Project structure, build system and makefiles.
  • 01 Window, rendering contexts and game loop.
  • 02 File formats, hashing, encryption and compression.
  • 03 Timers, easings and interpolation.
  • 04 Input bindings, digital+analog buttons, filters, gestures, chords and combos.
  • 05 Linear math, geometry, volumes and collisions.
  • 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.
  • 11 Fonts, atlases and text rendering.
  • 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:

  • Compile the amalgamated engine.c source file to get a functional game engine.
  • Compile your game as a dynamic library and place it near the AVA executable.
  • Tip: Rename both executable and dynamic library as desired. Ie, game.exe with game.dll will work.
  • 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:

  • 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,




鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
henktwo/simple-game-engine发布时间:2022-06-08
下一篇:
Unarelith/OpenMiner: Minecraft-like game engine written in C++17 with a client/s ...发布时间:2022-06-08
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap