Posted October 31, 2023 by Bit Gremlin Games
I graduated from Columbus State Community College in May with a degree in Computer Science on the Game Design track. I worked on a few group projects over my last few semesters (the most complete of which are also on itch.io ), and found myself post-graduation looking for both a way to keep my skills sharp and new games to make and start a portfolio with.
I decided to look back at some games and concepts I’d worked on in college and see if there was something there worth fleshing out a little more. I had at one point worked on what I had envisioned as a carnival midway ball toss game. It had been a one-week project, so the game itself was fairly primitive, but the basic idea worked well enough for the relatively narrow scope of the project. The game was literally just throwing balls at targets, loading in a new layout of targets, and repeating the process until the game ran out of layouts (there were 3 of them). It completely lacked any kind of scoring system, the targets moved in a convoluted way through code instead of animation, and it definitely looked like the best I could have done in a week. I’m a fan of retro games, and got inspired thinking about classic arcade games like Donkey Kong, Pac-Man, or Duck Hunt, which only had a few distinct level layouts (if that) which repeated endlessly, but got harder each time. For a simple game I was making to get myself into a solo-dev mindset, it seemed pretty perfect.
I wanted to be able to get down to coding the game fairly quickly, so I managed to find all of the game’s assets for free on either the Unity asset store, opengameart.org, or other “free to use” asset websites. I did some minor texture tweaking, but beyond that was able to use models more or less the way I found them. The mechanics of throwing the ball were something I was able to at least partially cannibalize out of my original project. I pretty quickly gained a newfound appreciation for the division of labor involved in group projects. In college, there had been an art team responsible for creating the game assets, but now I had to source them myself and consider what I wanted the overall aesthetic of the game to look like. I also had to do all of the conceptualizing, planning, programming, experimenting, debugging, level designing, and reigning in of my sometimes over-inspired imagination. My college projects would have all of these divvied up among the whole team, but having to do them all myself set production at a much slower pace than I had worked at previously.
Fleshing out the game concept a little more, I got to thinking about what the player is actually trying to accomplish by playing the game. Again thinking of arcade classics, I decided a high score competition was both simple and appropriate, but decided there should be a bit more nuance to it than “do the thing, get points”. There’s an aspect of strategy to maximizing your score. The scoring system is more complex than Duck Hunt or Pac-Man, using not only a “face value” of points for the targets, but a series of bonus point modifiers as well. Bonus points are achieved in a number of ways. A streak bonus is awarded for 5 or more consecutive hits. Moving targets and high shot accuracy also receive a bonus. Additionally, your entire level score (with bonuses) is multiplied if you are playing with a difficulty setting higher than “normal”. So maximizing points suddenly becomes a matter of strategy. To get the highest score possible on a given level you’d need to (without missing any shots) first take out non-moving targets in order of point value, then moving targets in order of point value, so that any streak bonus earned is applied to the higher-value moving targets. Do this on higher difficulties (which require higher shot accuracy to advance, and are decreasingly forgiving at the highest levels), and your score is multiplied again. So shot accuracy is rewarded with more than simply surviving; smart play results in higher scores, and less forgiving difficulty settings increase this exponentially. And every time the levels loop back to the beginning, the moving targets get faster.
So that’s the origin of “Bullseye”. It’s come a long way from the ball-throwing game I programmed in a week. It’s still relatively simple, but it’s been a great learning experience and something I’m going to be pretty proud of once it’s done.