Here you will find a catalog of my projects.
While I obviously won't talk about every line of code I have ever written, I would like
to show off some of the stuff I have worked on, both academic and personal, in addition
to giving brief discussions of my thoughts during and after the development cycle.
A more complete list of my work can be found on my Github.
This is a living webpage; I will add projects as I deem them fit to be documented.
Bunker Blitz
Top-down, two-dimensional tank game featuring enemy AI behavior,
various power-ups, custom artwork, and a final boss tank that must
be defeated in order to win the game.
"Bunker Blitz" was the capstone project for my computer science degree and marked my team's effort to recreate a retro-themed tank game. With almost complete freedom in our approach, our team of five had full creative control over the game's design, aesthetics, and most gameplay decisions. The final product features a wide range of elements, such as diverse enemy AI, various player power-ups, and a progression system leading up to an epic boss tank battle.
It even has customized visuals and audio!
'Bunker Blitz' stands as the most comprehensive game I have
contributed to.
Implemented in C++, 'Bunker Blitz' marked my first real dive
into lower-level languages, including concepts such as manual
memory management & garbage collection.
Qt, a powerful graphical user interface tool, was used to handle
the connection between graphics and logic.
My role in this project expanded significantly compared to
group assignments from past semesters.
Not only did I contribute extensively to the design and
implementation of most game features, but I also assumed the
responsibility of ensuring our project aligned with the
professor's expectations.
This involved coordinating meetings, maintaining email
correspondence, and creating progress reports all aimed at
impressing the professor with our game.
Ultimately, our efforts paid off as 'Bunker Blitz' received an A
grade.
Funnily enough, there aren't any bunkers in the game.
Dungeons & Dragons Character Management
System
Web application that maintains a database of D&D characters which
keeps track of basic stats, and allows users to create, view, edit,
and delete these characters.
ASP.NET C# / SQL Server / Bootstrap CSS / JQuery
Javascript
The D&D Character Management System (CMS) is an online tool meant
to assist Dungeons and Dragons players create, view, and store
the various characters & creatures used in their campaigns.
Developed for an informatics class in the Fall of 2022, this
project was developed in order to gain skills and experience in
the field of web development.
It was encouraged to create an application relevant to an
interest or hobby, and as I frequently play D&D I decided to
base my site around it.
The idea for a character management system was inspired by the
customer managements systems used by businesses.
This website is built using the ASP.NET MVC Core framework in
C#.
The database is in SQL Server with the backend using ADO.NET for
communication to and from the database.
The frontend makes use of Bootstrap 5 and JQuery as I wanted to
gain more experience using commonly seen libraries (I had mostly
used vanilla CSS and Javascript before developing this site).
The D&D CMS was originally hosted on an AWS server using the IIS webserver, but was eventually migrated to a Plesk Linux server using a Vultr VPS.
While all of the artwork used has been modified to suit the
website's needs, very little of it besides the logo is
originally mine.
All artwork was edited/created in Adobe Photoshop.
The site received its last major update in early December 2022
and received an A grade from the professor.
As its original vision has been fulfilled, the project is more
or less complete and can be visited at dnd.kenibenj.com.
in the future I may go back and add additional features &
content to the site.
I will likely get a better domain name for the website instead
of using a subdomain of my personal website should this occur.
Wretched
A fully-functioning E-commerce store devoted to selling cats, both beautiful and wretched, and does so with a fun & cutesy aesthetic.
In the summer of 2024, my employer, the College of Eastern Idaho, offered to cover the fee for a beginner-friendly course on WordPress. Although WordPress is the most widely used website builder today, I had never worked with it before. While the course turned out to be more basic than I had anticipated, it still provided a valuable opportunity to enhance my web design skills. The result of this experience is "Wretched," my first (and currently only) personal site built with a content management system.
Since I have no need for another portfolio site or blog, I decided to create a humorous e-commerce store using the WooCommerce plugin, where users can "adopt" cats. After going through numerous guides and tutorials, I successfully set up taxes, shipping, and payment processing for the site. The look and feel of the site were crafted using the Blocksy theme and several hundred lines of custom CSS. The site is hosted, and the domain was purchased, through Hostinger.
While Wretched is a fully functioning online store, it doesn't actually sell real products. I still plan to keep it live for demonstration purposes, though.
You can visit the site at wretched.store.
Text Quest
A text-based adventure game with a GUI that includes picture
graphics and sound effects.
The player can fight enemies to gain XP, level up to gain more
health, and earn gold to buy items from shops.
While earlier projects had given me some experience with Java
GUI development in JavaFX, I still had not yet used the older
and more native Swing toolkit.
In order to improve my skills in UI I watched a series of
Youtube tutorials and created a simple text adventure game that
introduced me to basic Java Swing concepts.
Over the next couple of months in my free-time I would make
several more updated versions of the game, each with more
features than the last.
This included sound effects, status indicators, shops,
random-chance encounters, a basic storyline, and more.
The final version was completed shortly after the end of my
Sophomore year in college, and takes roughly 15 or so minutes to
complete from start to finish.
At its completion this project was the one I had the most fun
creating, largely because it involved a great deal of creative
design and media-manipulation.
While most of the illustrations are not mine and are just simply
taken from the web (this was a personal project with no monetary
goals, after all), all of them are edited using Photoshop in
order to fit the art style of the game.
The sound effects had to be modified as well; some of them
hardly even sound like their original form anymore.
If you wish to play the game for yourself, you can download an
.exe file here.
You can also find the source code as well as the older versions
of the game on my Github account.
Personal Website v.2
You're already here!
Second iteration of my personal website.
Created to be an improvement upon the original site in every way,
though with a special focus on superior responsive design.
Upon completing my Computer Science degree in Spring 2023, I
found myself without any immediate job lined up.
I ended up having a lot of free time on my hands since my
current job at the time was only part-time.
The previous Summer I had created the first iteration of this
website using what little HTML and CSS I knew at the time (which
also happened to be my first website ever).
While I was proud of how it turned out, it was clear that there
was room for significant improvement and so using my newfound
free time, I took on the challenge of revamping it,
incorporating the web skills I had acquired over the past year.
This version of my site puts much more focus on being
responsive, compared to the first iteration which was designed
without any regard to its usage on mobile devices.
To help with this, I utilized the Bootstrap 5 CSS framework to
carry some of the workload, though the design choices I made for
the site required some amount of manually-coded responsive
behavior using vanilla CSS.
The end result was a website that combined many of the aesthetic
choices of the first iteration with a superior layout and a more
mobile-friendly design.
For now, I am quite happy with this website, though I don't
doubt that in the future there may come a time when I will want
to revamp the site again.
If you are interested in seeing the first version of this
website, you should be able to find it listed alongside my other
projects.
Essence Standard Toolkit
A digital library of Essentialized practices that will allow the
user to view cards, Essence diagrams, and play Essence serious
games.
One of many semester-long group assignments I did throughout my
college career, I and a group of fellow students were tasked
with planning, developing, testing, and deploying a Java-based
application.
Unlike previous group projects, however, this time it was
required that Agile practices such as having weekly Scrum
meetings and maintaining a Kanban board be included in our
group's development process.
The project was also supposed to be worked on via iterative
development cycles as opposed to the more waterfall-based
approach that I was used to from earlier assignments.
The project itself was a set of tools based around the Essence
Standard, which is a framework for discussing the theory
of software engineering that attempts to uncomplicate the
software development process through the use of models,
practices, and methods (if that sounds far too abstract for
practical use, then you and I would be in agreement).
In addition to the technologies used in the Acquire project,
this assignment also made use of Javalin, TextFX, Hibernate ORM,
and Docker - though I played no part in the implementation of
the latter two technologies.
My primary contribution was the Essence Practice Creator, which
was essentially a diagram-maker used to construct Essence graphs
and export them as .png files.
I was content with this, as the practice creator gave me
experience in developing GUIs that I had largely missed in
previous projects.
A stand-alone version of the Essence Practice Creator can be
downloaded here if you are
interested (it is a .jar file; you must have Java installed on
your machine for it to work).
Ultimately the scope of the project was a little too much for a
group of four to handle in only two or so months, so the project
is a little janky in some areas and downright unfinished in
others.
Nevertheless, our professor was impressed with what we were able
to produce in the given time and gave us an A- on the
assignment.
Acquire
A recreation of the 6-player board game Acquire with a working
Graphical User Interface (GUI) and a JSON-based save system.
The semester-long group assignment for my Advanced OOP class,
this project had me and two other students developing a game
none of us had heard of before.
What made this project unique was that it was meant to give us
some introductory practices used in the real world; my team
planned out how we were going to build the game by creating UML
diagrams, wrote unit tests to see if our code was proficient,
and tediously wrote in-depth comments for every method & class
to ensure the code was well-documented.
The project also familiarized me with important development
tools such as Git and Gradle.
For my part, I was mostly involved in writing parts of the
actual game logic and unfortunately wasn't particularly involved
for the GUI creation created in JavaFX.
Regardless, our project turned out well and earned our team a
good grade - maybe an A-? I forget.
As part of the assignment, our team needed to make a
presentation video to demo the project, which I have posted here
if you care to listen to a more in-depth explanation and
showcase of the game.
I thoroughly enjoyed this assignment, largely due to the
camaraderie & productivity of my group, and felt as though the
project drastically improved my "soft" skills such as project
management and the ability to work within a team.
Personal Website v.1
First iteration of my website primarily devoted to talking about and
showcasing my interests.
The computer science major at Idaho State University has no
required courses dedicated to web development.
I realized it might be a problem if I graduated with a CS degree
and still didn't understand HTML, so I enrolled in the few web
development courses ISU does offer (all listed as Informatics
classes, for some reason).
Following my Spring 2022 semester I knew the basics of front-end
development but I still lacked practical experience in designing
a website from scratch.
After seeing some friends of mine create on their own
websites(mcdelius.com & obeliskcollective.com)
I decided I would try to make one as well as a pet project to
work on over the Summer.
As the site is mostly a series of static webpages, most of the
'code' is just HTML and CSS - though a little Javascript is used
here and there.
The site, like my current personal website, is currently hosted
through Github Pages as it is both free and convenient to use,
though in the future I may switch to another method of
web-hosting as Github Pages does not support the use of
server-side languages such as PHP.
This means I have to use third-party tools in order to have a
working contact form and an email associated with my website's
domain-name, which is not something I'm super fond of.
All the same, creating a website without the help of a website
builder furthered my proficiency in the foundational skills
needed for front-end web development.
Obviously this version of my website is no longer utilized as it
has been replaced by the version you are currently using, though
I do still have it hosted here if you want to
check it out for yourself.