Including game mods for the Zandronum engine, automation
tools designed to help development and documentation, or intensive classwork projects, check out my work and
contributions here.
Mega Man 8-Bit Deathmatch is the first, best, and only Mega Man inspired FPS on the market. Powered by Zandronum,
the game boasts native netplay and extensive modding support that's ever improving since 2010.
The game is set as an old-school arena styled FPS where you fight around the arena, picking up weapons and items
to use in combat. The game at base features over a hundred weapons, stages, and skins for users to use in various
game modes, such as Deathmatch, Last Man Standing, Capture the Flag, and team variations of those.
Prior to my involvement with the main game, I've worked on various addons to either overhaul the game into
another total conversion, or to augment the gameplay with modern UI or class-based conventions. Past the v6a
release, I've worked as part of the team to bolster modding support and to create accessibility features.
Largely inspired by @CutmanMike's original Ghouls
versus Humans experience for Doom, an asymmetrical class-based last team standing mode, Ghouls versus Humans
Arcade is a campier take on the horror game mode, retrofitted for Megaman 8-Bit Deathmatch. It introduces
redesigned concepts for some of the old classes, new introductions based off of iconic NES characters, and new
game systems such as a daybreak timer for the ghoul team to abide by.
Alongside the new gameplay features, the menu has been filled with useful modern conventions, such as info
towards each class's mechanics, settings that allow you to disable some grotesque features such as blood gibs and
jumpscares, settings which allow you to modify how certain classes control, and info about what changed between
each patch.
As Mojang's official Minecraft Classic is long defunct and abandoned, I took it upon myself to restore it to the
Zandronum engine to allow users and myself to play it through those means.
This total game conversion implements most all memorable features of Minecraft Classic, the full creative control
it provided with block palette, the instant placing and breaking of blocks, and free flight and teleport spots.
However, it provides its own twists with an extensively larger block collection and an opt-in PvP mode.
Playing off of previous experiences with level-based player versus enemy addons for Megaman 8-Bit Deathmatch,
Endless Attack is a rogue-like variation, designed to provide most replayability while also being the easiest to
develop and create additional content for.
The gameplay throws players into a randomized order of level set pieces, broken up by a boss every 5 levels, not
too unlike the Endless Stage mode from Megaman 9 and 10. However, behind the scenes of the addon is a framework
that allows people to make API-like calls to the base scripts to implement their own stages and bosses seamlessly.
So while at base the addon offers retrofitted content from @CutmanMike's Mission Mode only, due to the smaller content demand for additions, it has
seen a wide array of addons (such as the ones here) which add
plenty more bosses and level set pieces.
Damage Display adds modern shooter features such as hit sounds when hitting enemies, damage number popups in the
vein of Apex Legends which detail how much damage you're doing, and a detailed damage report ala Valorant.
While the MM8BDM community is no stranger to addons in this vein, previous addons were either feature incomplete
or had issues which broke compatibility frequently. Using features introduced in Zandronum 3.1, this iteration is
compatible with many more mods while providing entire client customization. The entire damage report is
customizable and all the features can even be toggled individually.
Provided additionally is a version of the file which restricts the features of the addon to only spectators in
matches, making it an ideal fit for organized play which does not desire the added features for players, but wants
a better spectating experience.
Map Voting as an addon implements a Source game styled map voting feature that can be voted on during a match to
determine the map for the next match. It abides by the server's determined map pool, and will try to clear every
map in the pool before offering repeat options for vote.
It was initially developed as a test for some of Zandronum 3.1's new features, but continues to see frequent use
in servers. Included with the addon is a means for map makers to add their own previews for maps, which has been
adopted for many recent packs, allowing more memorability to their maps.
Ping Button does as the name says, and implements the ability to use Valorant/Apex Legends styled pings. In
Zandronum where team voice chat is not a feature and likely never will be, it has proved very useful both for
public and more organized play.
Four different ping types are provided, while there is option to customize what appears on each type of ping,
including disabling name and distance visuals.
Trill Skin Assembler is a GUI-based program to allow people to create skins for Zandronum-based projects, mainly
focused for Megaman 8-Bit Deathmatch. It requires far less knowledge of how programming for skins works and allows
even new users to go from just a sprite sheet into a fully functioning skin.
The program has support for many extra features of skin-making, such as 8 rotations, implementing a set of
crouching sprites, implementing mugshots for addons that display the mugshot as part of the UI, and implementing
multiple sounds for each category.
Credits to @peggdraws for the basic usage notes
within the README. Additional credits to IamaMedalHunter for usage of his Blues skin as the base assets.
Changelog Converter is a simple PyAutoGUI program that allows the user to enter in a plain-text, formatted list
of changes and convert it into a Zandronum MENUDEF compliant format. This allows addons to easily display their
patch notes as an in-game menu, allowing players to find them easier than ever.
Reelman was a Discord bot designed to allow users of the Megaman 8-Bit Deathmatch Community Hotel Discord server
to archive information about that server's fishing mini-game. Users were able to update entries stored within the
bot's database so that other users could query the bot later to receive information about a fish's function or
fishing location.
Assisted Draft Client
Assisted Draft Client was a Java Spring Boot project created for my CSC-340 class with two classmates of mine.
Our goal was to create a program that made use of a backend server, client front-end, and a SQL database. To
accomplish this, we created a service which allowed users to create lobbies to simulate Valorant agent pick/ban
formatted player drafts.
Users would be able to join the lobby once given the lobby code, and then various users would be prompted to pick
a team coach, ban whichever agents they desired, pick their own agent out of the remaining agents, then to ready
up for the game. The lobby creator would then be able to log the result of the game, committing it to the SQL
database, which was viewable and filterable on the main page of the website.
I primarily worked on the backend server of the service, helping towards the end on the frontend to work on the
Thymeleaf code for the HTML fragments. My classmates focused on setting up the SQL server and the CSS for the
website, giving a nice framework for the website.
War Model
This program was a simple project for my CSC-339 class to create a program that could play out the card game,
War. It was written in C++ using classes to represent the card, deck, and game itself. It was designed to be able
to handle all different edge cases of the game's war event and track the number of cards that both players had at
a given time.
Miscellaneous
This website doubles as an archive that Zandronum's Wadseeker library can locate and find addon files within, so below are various smaller, less
noteworthy, and potentially outdated addons of mine.
Maestroid Prime Hunters
Created as a take on Nintendo's Metroid Prime Hunters, this project mainly attempts to emulate the gameplay style
of that now offline game. Adapts the pickups in Mega Man 8-Bit Deathmatch to follow the rules and placement of
Metroid Prime Hunters while implementing all of the different hunter classes with their affinity weapons.
With the release of Mega Man 8-Bit Deathmatch v6a, a few mod support items were added, allowing a new,
lightweight version of this addon. The goal of this addon is a nonsense game mode which replaces every pickup with
a container which has a random pickup in the same group.
Designed as a tech demo for a new system of defining weapons on the backend for Mega Man 8-Bit Deathmatch, it
allowed modders to treat it as an API, providing specialized functions for proper weapon declaration such that
multiple addons can be compatible together. It was also part game mode, as it randomized every weapon pickup on
the stage, allowing custom weapons to show up frequently.
This project itself is mainly defunct now, as this system was largely ported into the upcoming Mega Man 8-Bit
Deathmatch v6b.
If you're not properly redirected to a server, it means that you likely have not configured URL redirects for
Mega Man 8-Bit Deathmatch / Doomseeker. Download the installer at the bottom of the page to configure it.
Also be sure to allow pop-ups on this website for proper redirect functionality. Otherwise, it will not
redirect you to the game server.
Server URL Generator
Doomseeker when properly configured allows users to join servers via URLs of the format 'zan://ip:port'. However,
these links do not hyperlink well on social media platforms, and there is no quick way to attain them via
Doomseeker. This area allows you to create links which hyperlink and will properly redirect users to the correct
server.
Enter in an IP address for a valid server and click 'Generate URL' for a link that can be shared in social media
channels for others to be redirected to that server.
URL Redirect Configurer
The download below provides an installer which will configure the ability to open URLs to connect to Doomseeker
servers. Be sure to read the info within the installer for perfect functionality.