Skip to content

Instantly share code, notes, and snippets.

@pchaigno
Last active May 30, 2023 06:20
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pchaigno/5ea24f7bfe70c3b8f432 to your computer and use it in GitHub Desktop.
Save pchaigno/5ea24f7bfe70c3b8f432 to your computer and use it in GitHub Desktop.

status

My name is r-lyeh and I code videogames :neckbeard:

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.

Released

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

Personal

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.

In Progress

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

Contributions

Projects in collaboration with other coders.

  • jsonxx -- lightweight JSON parser written in C++.
  • IMGUI -- OpenGL 2/3 Immediate Mode GUI toolkit.

On Hold

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.

Planned

Yet to be committed, removed and/or finished. Someday.

Abandoned

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.

  • Moon9 -- old game engine
  • Wood -- old tree data structure

Resume

For completeness.

  • Vitae -- my self-compilable C++ resume
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment