Introduction
After 4+ decades of getting paid to learn challenging new technical skills so as to support my skydiving adventures, I'm grateful to be able to focus full-time on a few play oriented C++ side projects I've also been developing on the side.
Big shout out to Thor over at Pirate Software for leading the way teaching folks how to establish themselves as indie game deveopers. A master class in how it's done.
You can view my resume to get an idea of the sorts of projects I've worked on over the years.
As of 8/3/2024 this site is under construction. YMMV.
MadStyle Rendering Engine
There's something to be said for starting from scratch and doing it ALL yourself. The time required to do that is more than I'm willing to invest.
There is also something to be said for integrating well-crafted open source projects into a game engine that will facilitate the creation of computer games for people's delight.
Features:
- C++17
- Cross platform - Windows, Linux now. Android, iOS, Mac OS later
- CMake build system
- OpenGL renderer
- Tightly coupled multimedia streaming
- JSON configuration and data files
- Curated set of 3rd party libraries
- Open Asset Import Library - multi-format, skeletal animations
- FreeType - font rendering
- GLFW - OS window & input events
- GLM - 3D linear algebra
- JSON for Modern C++ - Header-only JSON library by Niels Lohmann
- GStreamer - multimedia streaming
- Dear ImGui - immediate mode UI
- Jolt Physics - physics engine
- Oculus SDK (Windows)
- OpenAL - audio
- OpenCV - image processing
- SOIL - Simple OpenGL Image Library
- ... with more to follow
Mongoose Web Server Suite
MGWS provides an embeddable C++ web server for use in IoT applications.
It combines the Mongoose web server with the SQLite database and the JSON for Modern C++ parser in a lightweight C++ API.
It has been tested with Firefox, Chrome, Edge and Safari, on Windows, Linux, Mac OS, iOS, and Android.
Features:
- C++17
- Cross platform - builds on Windows and Linux
- CMake build system
- Protocol support:
- HTTP/HTTPS - plain and SSL http sessions
- MQTT - subscribe & publish to MQTT broker(s)
- WebSockets - Persistent 2-way session between browser and server
- SNTP - time synchronization
- SMTP - email API
- Manages SSL cert files
- Handles http: to ws: handshake
- Manages JSON-based Session class - adaptable with C++ polymorphism
- Embedded database with SQL syntax
- Easy to use JSON in C++
- Example applications
- WebRTC Call Server
- Registers new Sessions
- Provides WebRTC ICE negotiation semantics
- 1-to-1 call establishment
- Heartbeat for call disconnect auto-detect
- Complete WebRTC HTLM/Javascript video chat example
- Dashboard
- Monitors sets of remote IoT nodes using MQTT and WebSockets