Projects
Games:
Stream Buddy – Unity 3D
Blocklings – Unity 3D
Stardale – Unity 3D
Online Crypto:
Such Winnings – Doge Coin Lottery
Other Projects:
Holy Bible: KJV – Windows Phone 8 App – C# .Net Mobile
JS Games – Second Life – LSL, PHP, MySQL
Stream Buddy:
Stream Buddy is a tool for Twitch.tv streamers to help gaming broadcasters provide more entertainment for viewers. With Stream Buddy, broadcasters can use mini-games for audience giveaways and also use a 3d avatar as a persona where when the host talks into his or her microphone, the avatars mouth will move to look like the avatar is talking.
Stream Buddy hooks into the Twitch.tv API allowing for a Twitch host’s viewers to interact with Stream Buddy. With the mini-games, viewers may enter the games during the lobby phase by typing “!play” into the hosts Twitch.tv channel chat; then random players that enter are selected through random chance to play.
I was fortunate enough to have this project reach Greenlight status on Steam within seven days of beginning a greenlight campaign.
Blocklings:
Blocklings was a personal concept project I created to try and create a three dimensional procedural generated voxel game with Unity 3D engine. Through this project I was able to implement a combination of different procedural generation techniques including perlin noise and billow noise to create a virtually endless and seamless 3d environment.
Blocklings was never publicly released, however, it was an excellent learning opportunity of game development. Some key features completed on this project included: a working and stackable inventory system; a railroad pathfinding system which followed user placed railroad tracks; a custom texture atlas maker to reduce draw calls and optimize game performance when drawing chunks; a dye system so that all voxels could be dyed to one of 32-bit colours; a procedural tree creation system; and an online music streaming system where users could place a block in-game, enter a shoutcast radio station url, and listen to that radio in-game.
Images below are some screen shots of the pre-alpha Blocklings client:
You can read more about Blocklings at Blocklings.com (Note: Web registration is no longer active on Blocklings as the project is on-hold indefinitely).
Stardale:
This was my first project developed with the Unity game engine. Although I poured my heart into it, sadly it was never meant to be released as I was perhaps a little too ambitious with features. Stardale was a game where players could explore an open procedural generated world, dig through open biomes, mine, and gather resources to build and create on a 2d-platformer view based planet surface. Players could also leave their home world to explore the universe and land on other planets.
Although the game was never completed, it was a great opportunity to learn more about procedural generation, game development, and project management. The fundamentals of the game were completed where players could explore different biomes generated through Unity’s perlin noise libraries. The project was developed as far as including basic space flight, itemization, world and biome generation, in-space asteroid mining, and basic planet and in-space multi-player through my own self-developed non-Unity based multiplayer server client created with .Net 4. However, that is far as the project went due to budget and time constraints.
Such Winnings – Doge Coin Lottery:
Back in February 2014, the Doge coin became a huge meme based crypto coin which took the internet by storm. During its popular rise, I spent a few days creating a website which automatically managed a doge coin lottery similar to how a lottery in real life hosts a weekly jackpot.
I created a web interface which interacted with a linux hosted doge coin wallet to manage dogecoin payments. The web interface was built with PHP and a MySQL database was used to store lottery ticket entries.
It was a lot of fun putting this together and in particular, I thought it was a nice addition to create a customized PDF printout of lottery tickets, making strong use of css to create a template which mimiced the look of lottery tickets here in Ontario, Canada .
Sadly, suchwinnings.com is now offline, but you can watch the tutorial video I previously created on it below, which showcases and demos the lottery’s features and capabilities.
Holy Bible: KJV – Windows Phone 8 App:
Including audio with text-to-speech and multiple theme support, I developed a King James Version of the Holy Bible to work fully offline and without need for additional mobile data usage (unless doing in-app purchases). In addition to text-to-speech, also included is basic search functionality and scripture bookmarking, while remaining light weight with a clean interface. Includes KJV, Modern KJV, and KJV with Apocrypha.
I developed this app based on an MVVM approach and used it as an opportunity to learn more about XAML. Included in this small app are search features utilizing LINQ keyword search. Likewise, I created in-app purchases for additional themes utilizing Microsoft’s In App Purchase (IAP) system. Although the profit has been minimal, it has been successful given that only a few days work was put into this mobile app.
This application can be found on the Windows Mobile Market here.
JS Games – Skill based money games in Second Life:
Through college, in my spare time I worked on designing and coding chance and skill based money games within the virtual world Second Life. For those not familiar with SL, it is a digital multiverse where the majority of content is created by users. Almost all content you see within SL has been designed, textured, and scripted by users for users. All content may be given away for free, kept for personal use, or sold by creators for other users to buy using the in-game currency, Lindens. The Linden currency has direct real world value and is available to be converted to/from USD through the Lindex Exchange – providing real opportunities to make money in SL.
With that in mind, the whole concept captivated me. I soon realized there was a huge demand for chance based money games in SL at the time. I seized the opportunity with a focus on creating virtual slot machines for SL casino owners. To do this, I researched and learned statistically how slot machines work, allowing me to create several algorithms to test different pay out models. From this, I created a series of in-game slot machines with 90-95% payback rate for players to play. I scripted these machines with the LSL scripting language, similar to Java or C#, ultimately coming up with several variations of networked slot machines, allowing owners to create linked slots with a shared jackpot.
Even more, for owners who purchased the games I created in SL, I developed a central back end database to store and track all plays, payments, in-game machines that were instantiated (rezzed as we call it in SL), in-game position and location, and controls to prevent fraud and abuse remotely. This was programmed with PHP and data access and stored in MySQL. All this data was accessible through a web portal view allowing owners of my products to view
the data of their players through their web browser. In addition, it allowed me to ensure I could maintain control of my products to prevent owners from abusing them, (i.e. not paying out to players who win) – this gave me additional leverage to protect JS Games brand and identity.
Looking back, this was a great experience and gave me the opportunity to improve my web development, business management, and product design skillset. Likewise, it was incredibly rewarding to see users purchasing digital products that I designed and created.