I have always enjoyed the challenges presented to me while programming. I took a particular interest to algorithm design when I was at school and that interest was carried throughout my life. As a result, I have written numerous pieces of software to help with whatever project I was working on, or video game I would be playing. I felt that it would be a waste for the software to just disappear, and as such, I have made them available below, for history's sake! Click the links below to take you to the respective section.
- Clicker Heroes Save File Reader
- Clash of Clans Tracker
- Granado Espada Signature Generator
- Hearthstone Assistant
- Log Generators
- Magic Act Builder
- Math Library
- Other Snippets
Clicker Heroes is an idling game. I wrote a more detailed post on what those are and what makes Clicker Heroes a particularly good one here, if you're interested. This program reads the save files that are generated by the game and provides you with levelling recommendations. Additionally, you can also use it to "look into the future" and see what relics and mercenaries you are going to get.
Click to download here CHSaveFileReader.
Clash of Clans is a mobile game based around building up a village and then attacking other players for resources (which can be used to further build up your village). The Clash of Clans Tracker can be used to track the progress of your village in terms of levels of individual buildings and troop upgrades.
The program is written in VB.Net and provides some interesting statistics on account value.
Click to download CocTracker.
I used to play an MMORPG called "Granado Espada" from 2009 to 2011. One of the features that distinguished it from other MMORPG's was the fact that you didn't have a single character, but a family of characters. During standard gameplay, you controlled three at the same time, which added an extra degree of complexity to the game.
The GE Signature Generator was the first software that I wrote in VB.NET which dynamic elements. The intention being that you could fill in which characters you had and at what levels, place them in whatever order you liked, and then generate an image which could be used in a forum as a signature for bragging rights.
The software contains not only a variable number of images based on the user's preference, but it also contains dynamically moving images. Images can be dragged and dropped around the grid, which also a snap-to capability.
Click to download GE Signature Generator.
I played a game called Hearthstone, which is a collectible card game (CCG) by Blizzard Entertainment. I wrote the Hearthstone Assistant in VB.NET as a program to complement my gameplay by providing me with useful capabilities such as deck tracking, probability calculation and overlays.
This program is, by far, the most complex (and most fun to code!) program I have written. It contains features such as randomized quizzes generated from static data, custom paint events for DataGridViews, transparent overlays, chart data point paint events, add-on/plugin functionality, external libraries, update-notifications and a whole slew of other goodness.
Please note that the version available is a "lite" version of this program. A lot of the cards and their corresponding images have been removed to reduce the file size (which was initially over 100MB!) to a much more managable 10MB. As such, some of the functionality may be broken. But I've kept this program linked to give people an idea of what this program once was.
The log generators are set tools specifically built for malware removal experts, written in C++. These tools are designed to generate log files that can then be forwarded to malware removal experts to give them a better idea on the current state of a computer. This information is then, in turn, used to provide the user with the best possible method of fixing issues they are having with the software.
The list of software available is as follows (click the names to download):
- ComputerInfo: Provides general hardware data of the computer
- ConflictInfo: Lists out all hardware conflicts on the computer
- CPUInfo: Provides detailed information on the computer's CPU
- DiskInfo: Provides detailed hard-drive information of all drives on the computer
- OSInfo: Provides detailed information on the comptuer's Operating System
- RAMInfo: Provides detailed information on the the computer's RAM
The Magic Act Builder is a tool that is built on the exact same framework as the MHWT, also written in VB.NET. It is a tool made for magicians to aid them in designing their acts. It stores all the magic tricks they know how to perform and allows them to select these tricks when building a routine. It provides information on any necessary props required, any set-up required before the performance, and stores a list of clients contact information (such as address and phone number) for quick retreival.
Click to download MAB.
My Math Library has been written in VB.Net and provides a number of functions to help the mathematically-inclined user. I initially wrote this part-by-part to help with the Euler Problems. The file also contains a number of newline-delimited files with number lists (such as prime numbers, triangle numbers, square numbers, etc.).
The functions included in the Math Library are:
- factorial: Calculates the factorial of a number
- isprime: Checks for primality. For small numbers, does a binary search in a pre-loaded prime list. For larger numbers, runs a Miller-Rabin test
- ispalindrome: Checks whether a string is palindromic
- getprime: Gets the n'th prime number
- ispandigital: Checks whether a number is pandigital
- permutehighest: Generates the largest permutation of a number's digits
- isperm: Checks whether a string is a permutation of another
- FindFactors: Generates a list of factors of a number
- digitsum: Calculates the digit sum of a number
- ConvertToFraction: Outputs a string representing the fractional form of a number
To use the Math Library, just add the .vb file to your project and instantiate it as you would with any other object.
Click to download Math Library.
During my time designing my website (which has gone through more than 5 different revamps as my interests changed during the course of my life), I came across particularly interesting programming challenges.
All the code below comes as is, as I can barely remember how some of them work. If you do have issues, feel free to contact me, although I believe my help may be severely limited. Some of the code is by no means complete. They are merely a demonstration of how to implement certain algorithms. If you could like to use it, I would appreciate you providing me credit for it.
God-Duck using MATLAB: I took a Game-theory class as part of my Mathematics degree. Our final project was to write a piece of code that governed a duck's behaviour so that it could maximize its chances of survival. I did end up writing some code that came 2nd place in the class, but I did write somethin else: God-Duck. This was more of a joke, because I knew it wouldn't be accepted as a legal entry. Why? God-Duck would modify the mutation algorithms and set the probably of mutation to 0. That is, no God-Ducks could "turn" to the other player's team. Then, it would modify the other player's team duck count to 0. Essentially, it wiped all the other competition away. (I did get bonus points for this entry!).
- My Submission Page
- Tournament Rules
- The engine used to run the code in MATLAB
- My actual Submission
- God-Duck compiled
- God-Duck source
Parser for BBCode to HTML using VB.NET: The MHWT contains a preview feature so that canned speeches and replies can be previewed in-program instead of the forum software. I wrote the parser myself mainly to see if I could write one. Well... turns out I did! You can have a look at the code here.
As a kid, Spirograph was one of my favourite toys. I had one of the older sets (from 1994). The designs were just brilliant. I was thrilled when I found out that such graphs are defined mathematically. So, I decided to bring back my childhood memories by writing a program, in VB.NET!
I think it's best to see how wonderful some of these curves look just my playing around with the sliders and values.
Click to download Spirographer.