My Own Projects
These are projects started by me or mostly written by me.
DualView++
DualView++ is an image viewer and manager. It can add images to a database and automatically find exact duplicates of files. It then allows groupin images into collections and folders and browsing them.
It is written in C++ and uses Gtk for GUI and ImageMagic for loading images. The image database is stored with SQLite and downloads are made using cURL.
Screenshots
The Importer window allows adding images to be managed.
View of the database with one folder and two collections.
Screenshot of the image view window.
View of a single collection with one image selected.
Downloader window. Plugins are used to implement different websites from which images can be downloaded.
Source
FPCard Game
An online Card Game where pure random chance decides which cards you get. You can play against other players or the very basic (and bad) AI.
The front end is written in TypeScript and uses the Canvas API to render the game. The backend is written in D language and it communicates with the front end through WebSockets.
Screenshots
Screenshot of a match.
Source
Leviathan Game Engine
My longest running project that is still very much a work in progress. Hopefully I can get it to a point where it is useful for making games.
An old video showing off an old version of a demo Pong game made with Leviathan:
The GUI library has changed since and the game is currently broken because the whole thing is being redone with networking support.
Source
Open Source Projects I have contributed to
Thrive
I am one of the members of the programming team. I have done mainly engine code like the current video player based on FFMPEG and the upgrade to Ogre 2.0 rendering engine. I’ve also made setup scripts for Linux and I make the Linux precompiled releases.
Thrive has a core engine written in C++ and Lua scripts that implement gameplay logic.
Source
CEGUI
CEGUI is a GUI library written in C++ and used in games. Thrive is one of the games that use it. I have contributed a few smaller changes like updating to Ogre 2.0 and fixing input handling to work better with my other projects.