top of page
Search
  • Writer's pictureMichael Hosp

Bouncing Blasts: How We Made the Blasters Function

Hello! I’m Michael, one of the programmers for Super Nova Stadium. Today, I’m here to talk about the core system of the game: its ricocheting mechanic. I wrote a large amount of the code for the system, along with the blasters that fire the bouncing lasers.


The bouncing itself comes from a combination of several things. Unity, the engine we are using, has a built-in reflection calculator; however, we needed more finesse. Some things in our game, like the trees or players, don’t reflect lasers off of them. As such, we mark any object that can reflect lasers accordingly, adding a tag to the object that signifies this reflectability. Further, to make sure people don’t just shoot directly at one another or at each other’s feet, we apply penalties to shooting the floor and direct shots to make those options highly ineffective.


Managing the laser’s visual effects is another fun challenge. The game is multiplayer and has to sync up across all players, and many of Unity’s systems are not inherently built for this. As such, we have the server keep track of all the lasers, with players’ computers only keeping track of visuals. This has led to some issues we’ve been dealing with, but as of our vertical slice, it’s only had a few problems.


In general, working on the ricocheting mechanic has been interesting, if a bit frustrating at times, but I feel the results are certainly worth it. If you’re interested in playing, please check us out at Stout Game Expo, itch.io and Steam when we release the game in full. Thanks for reading, and be sure to check out the next post where Phil goes further in depth on visual effects.


17 views0 comments

Recent Posts

See All
Post: Blog2_Post
bottom of page