Left title bumper.

By Bait or By Bullet

Right title bumper.

Development span: August - December 2024 (4 months)

Project Type

  • Collaborative - 20+ Person Team

My Roles

  • Engineering Lead

Source Code

Steam Page

Made For

  • DIG4527C Game Design and Production (UF)
The red exclamation points by a NPC's 'cryer' dialogue indicate that they'll say something you haven't seen on your current save file. Here, Rod Girl is reacting to the player having been defeated once by the third boss. Conversations are sorted into categories and priority values behind
                                 the scenes to make NPCs feel aware of what's going on, and even develop as characters, throughout the game. Shops use the same visual language for interaction as NPCs for ease of player understanding, and alter player data to give them permanent upgrades!

About the Project

By Bait or By Bullet is a fishing game / shoot 'em up / boss rush roguelite, and if all of that isn't exciting enough, it was the largest development team I had been a part of up to this point; DIG4527C, the course it was made for at UF, is structured to let the entire class - over 20 people - act as a single studio. I was one of two engineering leads responsible for managing an 8-person programming team, coordinating with other teams to implement features and update goals, conducting thorough code reviews, and helping to lead full team meetings and presentations. It was wonderful to help lead such a passionate team, and what I learned from the role has been my greatest takeaway from the project.

As a programmer, I was soley responsible for the implementation of all features in our 2D town-down hub world: movement, NPC interactions, shop interactions, and associated interfaces. I also implemented all of our cutscene functionality, and assisted with projectile implementation in the boss arenas, as well as game-wide polish.

The NPC dialogue system is one of the most extensive game systems I've ever made. NPC conversations have different priorities and trigger events; they'll respond to you purchasing an item, defeating a boss, or losing to the same boss multiple times, as well as hold different conversations with you each time you return to the hub. The writers on this project (myself included) were excited to truly flex their narrative muscles on a large-scale project, so I obliged them with a system that could support our creativity.

Instead of chests or enemy kills, you get your loadout in By Bait or By Bullet by fishing it up! There are strange creatures beyond reality... Each boss is the arm of an interdimensional mega-octopus; fights play out like a hybrid between Cuphead and Contra, with plenty of platforms and peril. When you lose a fight, you sell all your fish for shells to keep getting upgrades, and the cycle begins again!

Programming Accomplishments

  • Implemeted a dynamic dialogue system capable of prioritizing different conversations applicable to different scenarios
  • Integrated a currency / shop system into the game's systems to allow the player to purchase upgrades
  • Created movement and interaction systems to allow player to shop and talk to NPCs
  • Scripted bookened introduction and finale cutscenes
  • Implemented all tutorial dialogue for the player's first run

Other Accomplishments

  • Led and managed an 8-person engineering team within a larger 23 person development team
  • Presented progress updates to producer throughout semester
  • Conducted code reviews for members of engineering team

< Previous

Next >

Want to get in touch? Find me in all of these places!

Link up on my LinkedIn profile

Scratch an itch on my Itch.io page

Send me an email at awk481@gmail.com

© 2024 Andrew Kohler