Hayden Kowalchuk's Portfolio

A study in Design, Color and Motion

HUT Checkr!

NHL 16 HUT Companion App

Checkr Image
  • Written in Java using Android Studio
  • Targets API 23, compatible with 14+ using support libraries
  • Design and Development

Helps users to keep track of their collection inside of EA's NHL 16 HUT mode. It is possible to mark certain cards as collected along with the cost of the card, each team also shows its completion status. You can also input the average price the card is selling for and calculate the net gain or loss on a per team or card basis. The app was developed for free as a gift to the reddit community.

Potential Fields Library

AS3 AI Potential Fields

PF Image
  • Ported to Haxe for use in multiple game projects

A general purpose library for simulating AI using potential fields. Potential fields have agents move towards or away from areas with attraction or repulsion. Having multiple fields of different shapes: radial, rectangle, or point, help to define the areas where an agent would like to travel to or stay away from. Animating these areas and agents allows AI patterns to naturally develop and always be moving toward a goal.

Sail Away: The Life of Scrubby

Unity Mobile/Desktop Game

Sail Away Image
Sail Away Image
  • Design and Development
  • Graphics Programming
  • Modelling

This was a game idea that came together after making a joke on Reddit. The game was developed and created in just under 5 days, but was never completed beyong the initial release shown here. Currently the demo lets you sail around an open world with infinite water, and boats using physically based bouyancy physics. Performance is very high considering 5 realistic boats are constantly being updated in a low poly world that has realtime shadows and beautiful water effects. It manages to average 60fps on a Galaxy S7 phone and about 55fps on a Galaxy S6.

WinCE CDDA Info Tool

Low Level Dreamcast Utility

WinCE 1
WinCE 2
  • Designed and Developed
  • Combined research from official and unofficial sources
  • Written in C++ using the WinCE libraries for the Dreamcast

This project is to help gather information in order to help restore CDDA functionality of WinCE games. The dreamcast typically reads the TOC info from a section of the IP located at LBA 45000, but remastered images do not have this information at that address. This tool is meant to added to the disc content in order to reveal what the dreamcast is reading from the disc after being remastered. With the help of a community member in Spain it was determined that this software does work on hardware, this information has been invaluable in the project.

NeoDC CDDA Tools!

Extracts CD Audio from Dreamcast images

    _   __           ____  ______
   / | / /__  ____  / __ \/ ____/
  /  |/ / _ \/ __ \/ / / / /
 / /|  /  __/ /_/ / /_/ / /___
/_/ |_/\___/\____/_____/\____/
CDDA Tools! ver 0.0.3-Independant Support

Changes: Goodbye PFCTOC.dll! (and welcome bugs?)
         should be working on winxp->win10,  sry win98&win95.
         larger slightly but now doesnt require anything by padus inc.

        -E: Extract audio Tracks to WAV files
        -FLAC: Compress extracted tracks to FLAC
        -H: prints this help info

Commands can be combined or run seperately.

        neodc_cdda.exe -E D:\dc_monaco\neodc_monaco.cdi
        neodc_cdda.exe -E -FLAC D:\dc_monaco\neodc_monaco.cdi
        neodc_cdda.exe -FLAC 16

Another personal project relating to the dreamcast, this time an exercise in writing a tiny utility using Win32 based C++ code. This utility reads a standard dreamcast image in the CDI format and very quickly copies the CD Audio contained within to WAV files or optionally re-encodes it to the FLAC format. A custom crt was used and expanded upon in order to keep size down, and the FLAC encoder was partially rewritten for size but at the expense of speed.

  • Standard version without re-encoding support: 9.00 KB (9,216 bytes) with 0 dependencies.
  • Enhanced version with FLAC encoding: 36.5 KB (37,376 bytes) with 0 dependencies

Dreamcast ICONDATA.VMS Decoder & Encoder

Handles Icon Data from Dreamcast VMUs


Personal project in collaboration with SlurmKing relating to the dreamcast, this is a library for creating and reading Icon Data from the dreamcast. This utility reads a vmu save file and outputs the icon to a standard PNG image. I started the project after reading the reverse engineered format defitions by SlurmKing, and about 3 hours later i was able to deliver a working prototype to him. The next day the library was finished and included: encoding and decoding images, tweaking icon data with multiple parameters, generating 100% files along with metadata, a custom color reduction algorithm. The color reduction algorithm takes an image and finds the "best" 16 colors to represent that image, typically finding 6 high color values, 6 low color values, and some shades of black. A seperate filter was written in order to reduce the image into its outline using 1bit color, aka black or white, with a threshold value and the ability to invert the colors.

  • Written from scratch using PHP
  • initial version written in 3 hours, final version took another 4 hours.
  • Used research done by SlurmKing on the actual data formats

New Chief Gaming

YouTube/Twitch Channel

NCG stats
NCG more stats
  • Content Creator
  • Promoter
  • Part Owner

This is a YouTube channel i started with a friend of mine in order to establish a rich user base to play games with. So far most of our fans are from England and between the ages of 16 to 30.