An updated Save System for Unity using simple AES encryption/obfuscation. I had previously implemented a BinaryFormatter but that turned out to be vulnerable to Insecure Deserialisation attacks so this is the updated version.
Allows for encryption and storage of a wide array of data. So long as it can be serialised, it can be saved! Though it’s not covered in the video, the code also contains things like a custom SetPref/GetPref system, support for multiple files with different data structures, and is just generally very cool!
A Sound Player for Unity that can be called from anywhere once placed in the scene. Especially useful for UI sounds and such, but pretty versatile beyond that as it contains settings for multiple different types of sounds (effects, dialogue, etc) and is easily expandable.
It even has some use in 3D gaming as the GetVolume aspects are still static functions. Meaning any AudioSource can modify its volume, accordingly.
Setting up Steam integration for Unity. The video goes into the basics of creating achievements and leaderboards using the Unity Steamworks package. Also covers building/uploading to Steam via the Steamworks SDK. No paid addons used.
This is my attempt at a maze generator in unity, it should be viable for any tile-based game. It takes tiles (corridors or rooms) of a fixed size and builds a customisable path from start room to end room, and then adds similar paths at random points along the chain.
A simple, clean and expandable unity dialogue system
The system uses scriptable objects and singletons, allowing for easy creation and implementation of dialogue from anywhere else in the project. The scripts are straightforward and versatile allowing you to expand them at will. Full script below (Creative Commons 4.0).
The Camera Shake is highly versatile/customisable, using perlin noise and exponential falloff for a smooth, realistic feel.
A video description/tutorial can be found below as well as the full commented script (Creative Commons 4.0).
Decided to start doing devlogs for those interested in keeping up with the project
To ensure they remain at least somewhat useful, they’ll be paired with tutorials. In this case, the camera which took a over a day of messing around and figuring stuff out (I know, I’m slow) but ended in a state that I’m quite happy with.
As per usual, the full script (Creative Commons 4.0) can be found below.
I recently created a new data type for Above the Stars. It was an interesting excursion into many things I’ve never used before so I thought I’d do a write-up regarding it.
The MegaInt is capable of holding very large numbers all in a single integer, as well displaying them in a readable format.
A basic description can be found below as well as the full script (Creative Commons 4.0).
My method of creating Low Polygon Planets and exporting them to Unity, to achieve an interesting “flat art” design that is stunning and easy to do.
It is the first dev log relating to my new game, an incremental space shooter focused around defending and upgrading a planet and its technologies. Currently thinking of calling it “Above the Stars” but that name is subject to change.
I’ll hopefully start doing more of these types of videos if people enjoy them.