My name is r-lyeh and I code videogames
This repo is meant to be a semi-conclusive list of projects in which the author is / has participated in.
A few notes:
- The tools below are Public Domain.
- The specifications below are Public Domain or CC0; in Markdown flavor.
- The libraries below are Public Domain or BOOST licensed (~lesser MIT equivalent with optional attribution in binary distributions); they are (wherever possible) cross-platform, have no external dependencies, are header-only; they have been used in commercial games (and should be battle-tested); and they follow this extension convention:
.hpp/.cpp
for sources,.cc
for samples and.cxx
for tests and benchmarks.
Fully released / tested; more features may be incoming, but these are considered to be in a 'stable' state.
Tags | Repository |
---|---|
io | Apathy (C++11) lightweight stream/file/mmap/path/virtual-filesystem IO library. |
spec | ARYA CC0 asset naming convention. |
debug | Assume (C++03) smarter assert replacement for LHS/RHS values. |
tool, image | Attila:star2: tiny atlas texture/image packer tool. |
security | Auth (C++03) simple, lightweight and safe client-server authentication system. |
encoding | Base91 (C++03) lightweight binary-to-text encoder/decoder smaller than base64. |
serial | Bourne (C++11) lightweight JSON de/serializer. |
user-interface | Bubble (C++11) simple and lightweight dialog library for Windows. |
compression | Bundle (C++03,C++11):star2: an embeddable compression library that supports ZIP, LZMA, LZIP, ZPAQ, LZ4, ZSTD, BROTLI and SHOCO. |
compression,tool | Bundler command-line compression tool. |
data-structures | Burg (C++11) simple burg linear predictor. |
hashing | Cocoa (C++11):star2: hashing library that provides interface for CRC32, CRC64, GCRC, RS, JS, PJW, ELF, BKDR, SBDM, DJB, DJB2, BP, FNV, AP, BJ1, MH2, SHA1, SFH. |
encoding | Collage (C++03) lightweight library to diff and patch arbitrary data. |
unit-testing | Dessert (C++11):star2: lightweight unit-testing framework. |
debug | DrEcho (C++11) DrEcho spices your terminal up. |
gameplay | Flare (C++03) lightweight C++ API to deal with digital signals/logical buttons. |
network | Flow (C++11) lightweight network downloader with native fallbacks aimed to gamedev. |
gameplay | Frodo (C++11) lightweight ring dependency framework. |
gameplay | FSM (C++11) lightweight Hierarchical/Finite-State Machine (H/FSM) class. |
design | Gamebook (Markdown) unified game design document. |
io | Giant (C++11) tiny library to handle little/big endianness. |
debug | Heal (C++03) lightweight library to aid and debug applications. |
input | Hyde (C++03) lightweight and simple Human Inferface Device (HID) library. |
hashing | ID (C++11) simple compile-time hasher and sequential ID generator. |
| level,tool | *builder tool for skyboxes*. |
| spec | JXML
loss-less representation of JSON in XML. |
| spec | JXMLex
expressive representation of JSON in XML. |
| network | Knot (C++03)
lightweight and simple TCP networking C++ library. |
| gameplay | Kult (C++11):star2:
lightweight entity/component/system library. |
| gameplay | Live (C++11)
automatic reloader of variables, featuring type inference. |
| data-structures | LRU (C++11)
lightweight LRU cache structure for list and map<K,V> containers. |
| gameplay | Memo (C++11)
simple and lightweight factory class, featuring automatic type casting. |
| data-structures | Oak (C++03)
simple and lightweight tree container. |
| design | Pitch (Markdown)
forkable game pitch template. |
| debug | Profit (C++11)
portable/generic CPU profiler. |
| spec,tool,image | Pug
pug, png with a twist: lossy image format. |
| network | Route66 (C++03)
lightweight embeddable HTTP server. |
| time | Sand (C++11)
lightweight and simple time library that provides interface for Unix stamps, hires timers, calendars and locales. |
| data | Sentry (C++11)
lightweight data monitor. |
| hashing | Sole (C++11):star2:
lightweight library to generate universally unique identificators (UUID) both v1 and v4. |
| image | Spot (C++11):star2:
compact and embeddable RGBA/HSLA library that supports WebP, JPG, progressive JPG, PNG, TGA, DDS DXT1/2/3/4/5, BMP, PSD, GIF, PKM (ETC1), PVR (PVRTC), HDR, PIC, PUG, PNM (PPM/PGM) and vectorial SVG files. |
| databases | SQLight (C++11)
lightweight MySQL client. |
| debug | Tracey (C++11):star2:
lightweight and simple C++ memory leak finder with no dependencies. |
| data-structures | Trie (C++11)
lightweight and simple autocompletion data structure. |
| animation | Tween (C++03)
lightweight easing library. |
| data-structures | Unordered_map (C++11)
portable header for std::unordered_map<K,V> template. |
| security | Vault (C++03)
lightweight and simple crypt library that provides interface for ARC4. |
| network | VLE (C99, C++03)
simple variable-length encoder/decoder. |
| audio | Wave (C++11)
lightweight 3D sound wrapper for OpenAL that supports OGG and MusePack decoding. |
| data-structures | Wire (C++11):star2:
a drop-in std::string replacement with extended functionality, string interpolation and safe C/C++ formatters. |
These are mostly released experiments, but are geared towards personal use; as such, they may be of very limited use during development.
- Bridge -- a standard C++/boost compatibility layer, plus a few utils (C++11/C++03).
- Cash-of-clans -- a free re-implementation of a working game economy system.
- Codex -- lightweight and simple C++ library to escape, unescape, read, write and convert from/to different encoding charsets.
- Duty -- lightweight task manager for parallel coroutines and serial jobs (C++11).
- RGB332 (tool) -- custom uniform RGB332 palette.
- Variant -- varying class that clones javascript behaviour as much as possible (C++11).
- Test-allocators -- benchmark for different memory allocators.
- Test-physics -- benchmark for different physics integrators.
Proof-of-concepts until stabilised, currently in active development.
- Eve -- game engine where graphics are low priority (C++11).
- Jabba -- (C++11).
- Play -- easy alternative to scripting in gameplay code.
- Solace -- modern console replacement.
- Wake
- Watchmen -- asset dependency system for games in run-time.
- juice --
- graybox --
Projects in collaboration with other coders.
Each of these projects are suffering from an existential crisis.
- Fontbase -- collection of western, CJK and iconographic fonts free for commercial usage.
- Stringbase -- collaborative effort aimed to translate common texts found in videogames and regular apps.
Yet to be committed, removed and/or finished. Someday.
Help, I've fallen and can't get up!
These are either fully abandoned, or are buggy class-related repositories for classes which are finished.
For completeness.
- Vitae -- my self-compilable C++ resume