Daniel Haller Projects |
Interesting Header Image



I consider myself somewhat of a pocketknife in terms of my skills. By that, I mean my skillset is well rounded in a variety of fields. I love working on different projects, and that often leads me to pickup new skills in the process. On this page you’ll find a collection of my works and accomplishments, all of which I am proud of.

Intro Screen of Featured Project
Gameplay Screen of Featured Project
Game Over Screen of Featured Project

Java Checkers

This project was designed to apply the coding techniques we’ve learned in our Java class to a practical and functional program. I worked with a team of 2 other students to design and develop a playable game of checkers using Java and JavaFX.

The goal of our project was to develop a stable and working version of checkers, then provide other features based on our knowledge of Java. This highlighted the use of methods and object-oriented programming to simulate actions in checkers.

The project was developed over a couple of months during the covid 19 epidemic which resulting in face to face meetings as a team being prohibited. Considering the fact most if not all of our college studies were moved to an online format, our team had to not only adapt to learning in a new environment, but also collaborating in one as well.

The features of the project include a completely playable game of checkers with an end screen, restart board screen, and save and load features. The game has no network or online connectivity and is meant to be played on one solo machine. There is also no AI present in the program. Lastly, there’s debug options labeled “God Powers” and a options to change the layout of the program.

Specifically, I worked on:

  • Designing the GUI and Layout options
  • Programming the Timers
  • Saving and Loading the program

Throughout the project each of us were learning more about java as the project was being developed. This resulted in much of the code being outdated or changed as the semester progressed. I know of some errors in the code that were unable to be resolved before the deadline of our project and I learned a lot in working on this program. If I were to redo this program again, I would make a lot of changes to the initial design, function, and code structure.


Data Analysis

In my studies one subject I’ve often explored is data analysis through the preprocessing and post processing of data. Currently I’ve done 2 different semester-long projects that fall under this category:

  • Speech Recognition AI:
  •      Attached is a copy of the final report of our work and the source code on google colab where you can see the bot in action.
  • Tornado Prediction:
  •      Attached is a copy of the final report of our work. There is no source code available because the report includes our graphs and results.

    I love to talk about these projects because they were fun and insightful, but both projects speak for themselves pretty well.

Speech Recognition AI

Tornado Prediciton

Abstract

We proposed creating an artificial intelligence agent that would be able to recognize vocal commands from an external source. The agent would be trained on a set of spoken words, a dict data type with an audio file and a label stating the word spoken. Once trained, the agent should be able to pick a word from a list of labels that is most similar to the sound given to the agent.

Summary

In this report we will take our knowledge gained from datamining to apply the research tactics and organizational techniques to tornado data collected in the United States and through the National Oceanic and Atmospheric Administration (NOAA). Through an analysis of the data, we can search for correlations between the different tornado attributes and develop classifiers that can predict further attributes of tornadoes given our data.
Something related to Speech Something related to Storms
Link to Voice Recognition Report Link to Source Code Link to Tornado Prediction Report

Video Games

Video Games as a technology showcase complex programs that also incorporate many different disciplines aside from computer science. These projects are a great way for me to express creativity and learn new skills. Though, due to my knowledge of programming and computer architecture, my programs often feature an emphasis on the programming of the project.

Each game has its own dedicated webpage on a separate site where the game can be played. Therefore only a small snippet of the game will be provided here.

A single level 3D platformer made in Unreal Engine 4. An opened world with lots to discover. Must download to play (Windows Only)
An adventure game with secrets to find and puzzles to solve. Playable on the website.

Game Jam Game

These games are special because instead of being completed over the course of a couple months, they were completed in a weekend (48 hours) under strict deadlines.

Speed focused time attack adventure about a unicorn popping as many bubbles as possible. Playable on the website or windows download.
A simple first person shoot with a heavy emphasis on comedy and absurd physics. Works in a browser but better if you download the game for Windows. (Web or Windows)
A physics based side scroller where you play as a rolling peach in a side-scrolling adventure. Works in a browser but better if you download the game for Windows. (Web or Windows)
2 player game where one person leads another through a confusing world with an out of game map. Must download to play. (Windows Only)

3D Models

While working on projects like Grimalkin and Keirnel’s Quest, I found an interest in the process of 3D modeling. This includes designing, uv mapping, rigging, and animating models to present them in games and other medias. I’ve developed my skills rapidly with each project and am curious how far I can push these skills in the future.

The models below are designed to be low poly and be simple in design but impactful in their environment. The games I’ve worked on revolve around the low poly style presented which allows for less focus on making detailed art and allowing more time to go into other aspects of the project since the teams are often small. I’m super proud of all of the models I’ve made and have even more fun rigging and animating them.

One of the first 3d models I ever made. The top sphere is present in the game Grimalkin.
Model made for Keirnel’s Quest. It was also the first model I rigged and animated with a simple walking animation in Unreal Engine 4.
Model made for Keirnel’s Quest. It was designed with the goal of using as few triangles as possible (36 Triangles).
Model made for Keirnel’s Quest. Meant to look like an old cartoony CRT television set.
The star of Keirnel's Quest. Designed because I assumed less bones would be easier to animate. Has a Unreal Engine 4 state machine to control animations.
Personal project of turning a 2d image into a low poly 3d model. Original art made by Mielzy for @adudenamedtracy. It’s fully rigged and I’ve done quite a few animations with it in Unity.


Stable Diffusion Banette
I trained a LoRA to generate the character Banette from the Pokémon franchise. I did this because I wanted to learn more about the process of training, and because Banette is my favorite Pokémon. I put together the dataset using a combination of scripts and hand picked images, as well as scripted tags which I then modified to further increase the accuracy of the tags.

Photo Generation using Stable Diffusion

I’ve always been interested in AI generated photos and how they work. This project helped me connect how an AI can train off of an image-set and manipulating that dataset can affect the final product. Stable Diffusion is an open source image generation model that uses deep learning to turn text based prompts into images. It uses a variety of models trained off of different image-sets, and has tons of flexibilities to allow for even more customization of the images. One of these extension is a LoRA which stands for “Low-Rank Adaptation”. The goal of a LoRA is further train a model for a more specific task instead of generating images for multiple possible situations. I trained a LoRA to generate the character Banette from the Pokémon franchise. I did this because I wanted to learn more about the process of training, and because Banette is my favorite Pokémon.

  Link to LoRA: https://civitai.com/models/182515

To run this LoRA file, you need a way to run stable diffusion. If you want to run it locally on your computer, I recommend using stable-diffusion-WebUI and getting the model PurrfectMerge_v1. Other models will work, but this is the main model I used for testing.

Otherwise, there's many online stable diffusion sites that allow for LoRA integration. The main one I use and enjoy is https://dezgo.com. On that site, click more options and follow the instructions for adding a LoRA, there’s a couple models that work on the site so if you have some time to kill go wild.
Stable Diffusion Banette 00 Stable Diffusion Banette 01 Stable Diffusion Banette 02 Stable Diffusion Banette 03 Stable Diffusion Banette 04 Stable Diffusion Banette 05 Stable Diffusion Banette 06 Stable Diffusion Banette 07 Stable Diffusion Banette 08

Stable Diffusion Mimiga
My second LoRA that generates rabbitlike creatures (named mimiga) from the game Cave Story. This project took what I learned from the previous LoRA and went a step further in creating a LoRA that could resemble a more diverse selection of creatures with a far scarcer selection of photos. With this lack of photos, a lot of time and care went into the selection of dataset images as well as assuring they were appropriately tagged.


After learning a lot in creating the Banette LoRA, I decided to try my hands at creating a LoRA based off of a character with a lot more variance. This lead me to creating a LoRA based around the mimiga creature from the video game Cave Story. Overall, Mimiga have a lot more variance in the way they look, and I wanted to try and capture the different features present in the different characters in the game.

Note that the instructions on how to run the LoRA for creating your own images is found in the bottom paragraphs of the Banette LoRA info.
Stable Diffusion Mimiga 00 Stable Diffusion Mimiga 01 Stable Diffusion Mimiga 02 Stable Diffusion Mimiga 03 Stable Diffusion Mimiga 04 Stable Diffusion Mimiga 05 Stable Diffusion Mimiga 06 Stable Diffusion Mimiga 07 Stable Diffusion Mimiga 08 Stable Diffusion Mimiga 09 Stable Diffusion Mimiga 10 Stable Diffusion Mimiga 11 Stable Diffusion Mimiga 12 Stable Diffusion Mimiga 13

Music

I’ve made a couple of tracks at my time at the university. I learned about the process in a class titled Video Game Music. I then used those skills in a couple other classes including actual video game music or songs for class videos.

I published all of these on YouTube under the title of “Academic Jams” and that playlist can be found here, or the individual are available in the provided YouTube frames.

Doodle Jams Left Doodle Jams Right

Produced Videos

Below are two videos I helped create for different classes. Both are very unique, so they deserve their own descriptions.

THE NEWASS NEWSCAST

Beowulf The Dragon's Tale

A college project with the goal of educating a group of students about the kingdom of Assyria. The goal of the video was to create a unique teaching tool to better explain our research and findings from previously written research papers. Overall the quality of the video and the content within are pretty good considering it took 2 days to film and 3 days to edit.

My duties in this project included scriptwriting, group organization, film planning, gathering equipment, and editing.

It also features the song Bad News which was composed specifically for the ending.

[Made in 2021]

A Highschool project retelling the events of the final act of Beowulf. Filmed and edited in the span of a week, it was a relic of its time. It was made in the span of a week on a free editing software and a green sheet held up by clamps in the basement of my parent’s house. This project helped inspire my creativity and structural skills to put together a finished project, and although the video isn’t perfect in my eyes, it was a memorable moment in my life that helped me develop my creativity.

My duties in this project included scriptwriting, group organization, filming, set building, lighting, gathering equipment, and editing.

[Made in 2019]


Database Work

I’ve worked with databases a considerable amount and enjoy charting Entity Relationship (ER) diagrams.

Database ER Diagram Database ER Diagram
Database ER Diagram

I also know at least the basics of SQL including creating and merging tables.


HTML Pages

HTML and JavaScript were some of the first programming languages I worked in and therefore have a soft spot in my heart for housing some of my earliest programs. The language is very versatile in many aspects, and I still recommend it for those looking for a place to start.

Here are some webpages I programmed that I find significant of presenting despite them being from a time when I had not yet developed many skills and techniques of programming.

Please note that the purpose of these websites was not to create aesthetically pleasing webpages, but rather to use math, logic, and problem solving to complete a task.

Bird Project Bird Project Webpage Preview
A personal project I started working on my second semester of college. I made the website to help me learn the different species of backyard birds found in the Wisconsin area.
Number Guesser (Binary Search) Bird Project Webpage Preview
A project for one of my first classes that involved finding a number through a binary search method to optimally find numbers by splitting the amount of places to search in half.
Text Manipulator Bird Project Webpage Preview
A small side project to help me better understand methods attached to strings. Complete with input, output, and log.