Kieran Francis - Portfolio

Projects

Compressed Package File

Creating another archive file type similar to WinRAR or SevenZip, that incorporates a robust file structure with a well thought out Header. It supports any file type, and also is a research/testing lab/workspace for me to experiment with creating compression algorithms or encryption algorithms. The code below is an older version of an encryption algorithm I'm working on.

This file type features a wide range of options, especially when it comes to compression and encryption. It allows for AES, DES, Triple DES, and also potentially (If I can figure out the algorithm 😆) XXTEA, as well as my own SREA encryption which is in fact inspired by XXTEA

In terms of compression, it supports Brotli, Deflate, GZIP, and Zlib, although I have played around with Oodle compression which is probably the best compression method out there... except it requires an evaluation key.

Most modern games use Oodle compression

The picture below is a relatively old picture and since I'm currently working on the structure of the file again, I can't get a current photo as it's full of errors since I need to update the rest of the code after making changes/deleting parts of the structure


                    

Compressed Audio Container

This is exactly what the name says, it is a well structured container file that can store the data of as many audio files as you want, no matter the format, or filetype. It's design was to be a competiter of AudioKinetics Wwise WEM audio container files.

I'm hoping to make a standalone tool for the Compressed Audio Container outside of Whirlpool which is my project that contains all my work and research on files which I will elaborate at the end, here's some images of the current state of Whirlpools Compressed Audio Container editor.

Whirlpool

The projects I mentioned before all the most notable ones. However, they all were developed in Whirlpool. Whirlpool is my workstation/developmenet engine that I use to create and research files, encryptions, compression, and so much more. I have a private GitHub repository that I will open to the public when I feel it's ready, or at least I'll open a public version that is stable.

There are many other file types and projects inside Whirlpool besides the notable ones. As you can see in the last photo in the slide, there's a Simple Metadata File editor (.smeta) that is similar to an INI file, however it adds the option to define types for variables, making it safer and easier for developers to get values from entries. I will probably publish a library for this in the future.

There's also a Compressed Media Container which really just stores any image file type, .jpeg, .png, .gif, .dds, .ico, .jpg, .webp, etc... and compresses them. It allows you to store multiple files within one file compressed which can even be smaller than one of those files decompressed depending on how successful the compression is.

This is an ever growing project with more and more ideas and sub projects that will come from it I'm sure. When finished and refined, I will release each individual project! Below are some example of sub projects.