Projects
From April to May of 2025, I programmed a clone of the trick taking card game ‘The Crew’ in C.
Once complete, I then built up a framework for users to clone the repo and make their own bot to play with humans, or other bots. I started work on my own bot, starting with the first in-game sequence — picking tasks. I developed the algorithm from scratch using a point-based system, assigning positive and negative correlation to possibilities depending on provided data. Once the analysis is complete, the bot then picks the decision with the highest points. This system worked effectively in many scenarios and reaches intermediate human level play.
Fundamental Design Choices and Implementation of an Abstract Neural Network
Written by Nathan Berglas in August 2024
Executive Summary
The purpose of this report is to detail specific design choices, as well as the process for creating, from scratch, an abstract neural network tool. When using pre-existing neural network tools, such as TensorFlow, often one misses crucial understanding that can only be reaped by doing everything yourself. By examining these design choices for all purposes, one can fully understand all the aspects and techniques required for a functional and efficient neural network.
From May to July of 2024, I created a framework in C to train, run, and store neural networks. The project is fully open source, and the code can be found at my GitHub. Here is the link.
This project was intended to be an educational tool, both for myself and others. One of the biggest features of this framework is the backpropogation tool. This enables users to train their own neural networks of any size (when provided training data). Once trained, users can then store neural networks and send them to other users to run, no re-training required. In addition to this framework, I wrote a technical paper detailing the optimizations of backpropogation algorithms. You can find details on that here.
From March to April of 2024 I created a text-based RPG video game in C, called Blood Oath
The project is fully open source, and the code can be found at my GitHub. Here is the link.
The focus of creating this game was to learn core software development skills, such as the software pipeline, automating builds and files using MakeFile, advanced pointer use, and abstract data structures. For example, the item system is made using C structs, and player inventory is using a linked list. Other core features include map movement and exploration, player ability scores, and build/itemization strategy. The game is currently unfinished and on hiatus.