Hi, I’m David, A designer and developer.

Software Projects

Enra is a passion project I worked on for several months and has around 2000 hours of work that I put into it with the shear desire to learn to code and to create something really cool. While this project may remain forever unfinished, I will publish the demo of it on the Microsoft store soon for those who may be interested in engaging with the work.

Enra - RPG video game

Language: Python

Libraries: Pygame, Random, Math, Pickle

Data: JSON, Python dictionaries (Very Familiar), Images (Stacking, Cutting and Organizing for sequential stacked animations.), Binary Data saving and loading system.

Concepts: Procedural Generation, AI (Enemy and Allied AI), Distance Logics, Custom GUI, Automation, Serialization, Many, many Dictionaries, Animation

For this project I have many features including procedural generation of interiors of houses and also of allied units who spawn and are procedurally generated by stacking sprite sheets (body+shirt+pants… etc) and can be enlisted as allied units during battles.

Reloaded is another Passion Project I worked on more recently and I have put around a hundred hours into it. Originally this game is a board game that I developed which turned out to be a lot of fun. Because of this I decided to make A digital rendition.

Reloaded - Hexagon Strategy Game

Language: Java

Libraries: Swing, Sound, File IO, Tiled Map Editor (TMX Handler)

Data: JSON, TMX, Images.

Concepts: Breadth First Search, Serialization, Touching on networking, Serialization across a network, Model/View Architecture, Event Queue approach for sequential handling.

Sim - Simple Evolutionary Simulation

Sim is a project I built because I wanted to watch natural selection play out in front of me. In this project I programmed a genetic simulation where genes are passed down from parent to child with characteristics such as speed, perception, and baby count. I then designed customized graphs which display data about average characteristic values per species.

Language: Python

Libraries: Pygame

Datatypes: No external data used.

Concepts: Custom Graph Queue’s translated to display, Simple AI, Inheritance, class level variables vs instance. Heavy use of dictionaries

The system is divided into carnivores and herbivores, with some possibility of one becoming the other. Traits are passed down from generation to generation, such as baby count or speed but with chances of mutation. When the herbivores come close enough to carnivores, the carnivores pursue and herbivores run; otherwise, the herbivores move at random and consume food and based on their traits may or may not succeed at moving to next generations.

Language: Python

Libraries: Pygame, Math

Datatypes: JSON, (This app uses local resource paths to store the users’ styling data and sound/volume options.)

Concepts: Advanced Installer and project packaging for MS Store, Trigonometry, Custom GUI and Custom text folding for equations such as making the text smaller for fractions. Sin wave manipulation, Event Control, Zoom manipulation.

Trigz - Simple Visual Trigonometry

Trigs is an app I built and published on the Microsoft store which can take Radians or Angle as an input and display the unit circle and its corresponding features on screen in a visual way which I think can make it easier to understand for beginners. I made this app during my Trigonometry class to exercise something which I was less interested in and involve it with something I was very interested in (Coding).

Sim - Simple Gravity Simulation

This simple gravity simulation is something I designed because I wanted to implement some sort of gravity physics into coding out of shear interest. While this was a “Introduction to Java Swing” assignment I used it to develop a fully scaled Gravity simulation with adjustable gravity characteristics. The result was fun!

This system emphasized variability and object oriented design. I approached this design very modularly with all the boxes being the same objects with affects based on the values tied to the sliders in the JSliders. This was an overkill for my first GUI assignment in java in which we were supposed to make a button that incremented a value when clicked. I was far more interested in GUI and have had prior experience in C++ and Python.

Language: Java

Libraries: Java Swing

Datatypes: No external data used.

Concepts: Modularity and Separation of concerns, Event Driven Architecture.

Download Trigz v 6 Windows

Unlock the power of trigonometry with this intuitive calculator app. Whether you’re a student, teacher, or enthusiast, this tool helps you visualize and solve problems with ease.

Features:

  • Comprehensive Calculator – Quickly compute sine, cosine, tangent, and all other trig functions in degrees or radians.

  • Interactive Visuals – Instantly draw the unit circle and the reference triangle for any angle to deepen understanding.

  • Formulas & Identities – Access a library of common trigonometric formulas and identities right at your fingertips.

  • Customization – Personalize your experience with customizable color schemes and optional sound effects.

  • Flexible Input – Seamlessly switch between angles and radians for any calculation.

Perfect for learning, teaching, or checking your work, this app makes trigonometry clear, visual, and accessible.

Download Trigz v 6

Previous
Previous

Music - Snowver

Next
Next

David Burns