Group Project Mod Quest Published

Dead Man's Riot Quest Mod

Timeframe: 3 Months
Role: Map Implementation, Asset Design, and Quest Sequencing
Tools: Visual Studio Code
Skills: Java

A quest mod of the game Starsector created for a class project and published publicly to NexusMods. Explore an unknown solar system and find out what the mega corporation Tri-tachyon has been keeping hidden for many years. Pick a side in the ongoing battle once there, put an end to the whole operation, and leave with a new and dangerous weapon to add to your arsenal. Starsector is a fairly unknown open world space RPG that is technically still pre-release, but has been worked on for over 10 years. Starsector has an active modding community and plenty of helpful resources within its wiki, discord, and forums. Even still, learning the codebase, working within it, and fixing all resulting errors by the end were quite the challenge. This was a group project with a group of 4.

When I first met with my group for this project we were unsure of the game that we wanted to mod. It needed to be an open world, single player, FPS, or RPG game and needed to already have a supported modding community. This was every group member's first mod and the most popular modded games seemed difficult to mod while also not being anyone's favorite game or at least a game that they knew very well. So instead, we decided to choose a game that most hadn't heard of but was very much a group member's favorite game, and that game was Starsector. It is quite the difficult game to understand and get into, but boasts a large and active modding community and an abundance of player freedom within the game.

My main role for the project was map implementation and asset design. The only assets I needed to create for the mod were a weapon sprite and projectile sprite with some special 2D effects. Implementing the map was what I focused on a lot more and that had me adding a new solor system, planet, orbital station, market, star, jump point, asteroid belts, and debris fields into the game and incorporating them into the larger sector map. Once I got each aspect of the map into the game, I managed to give them all the proper functionality a player would expect and used vanilla assets to make them all properly look like a player would expect. This was not easy since I needed to sleuth through the starfarer API, that the game was built on, every time I needed to do something that was not explained in the few amount of modding guides available. Also, the vanilla game uses a mixture of code and data files to create the world of the game, so it was not always clear where something should be done or if it can even be done a certain way.

    Challenges:
  • Learning how to use and interpret the game's API and design language
  • Accounting for all the possible options the player has by default during the quest
  • Fixing the obscure issues in our code that arise from unexpected edge cases

    What I did well:
  • Created a design document and production schedule that we iterated on and followed throughout the whole production cycle
  • Pieced together a solar system that feels barren and abandoned and supports procedural generation for a slightly different look each time
  • When a feature was not working as expected or causing issues, we as a team were able to quickly pivot to a different strategy to get that feature working

    What I would change/improve:
  • Include more lore-based objects in the system that the player can interact with and delve more into the story
  • Add a visual effect for when ships are in berserk status and can attack anyone
  • Allow the player to talk to people within the system and find out the details of what has truly been happening on planet Yurei