< Go Back

Little Guy Games · For Major League Baseball

MLB Home Run Derby VR

Server & Gameplay Programmer

About

A VR baseball game for Major League Baseball, developed by Little Guy Games.

I worked on the Java server and Unity gameplay, focusing on database access, tournaments, and bat and ball effects. My work also included extensive bug fixing and ongoing maintenance.

Project Info

Client
Major League Baseball (MLB)
Studio
Little Guy Games
Role
Server & Gameplay Programmer
Game technology
Unity · C# · VR
Server technology
Java · SmartFoxServer · SQL

01 / Effects integration & VR performance

Gameplay Effects

Effects driven by gameplay, tuned for Quest VR headsets.

Gameplay integration

  • Bat effects follow home-run streaks, or consecutive home runs.
  • Ball effects respond to home runs and landings.

Quest optimization

The strongest bat-tip effect slowed rendering near the camera. Working with Bo, I:

  • Cached references and removed repeated calculations.
  • Prepared particle effects before activation.
  • Reduced six effect levels to three for Quest.
How the bat effect changes
  1. Home-run streakConsecutive home runs
  2. Effect managerSelects the matching effect
  3. Active bat effectSwitches only when needed

02 / Server programming & SQL

Server & Database

I refactored how the Java server reads and updates player data.

Before

One SQL utilityQueries for different types of data mixed in one class

Changes were harder to track.

After my refactor

Table classesQueries grouped by data type
Row objectsDatabase results in a consistent format

Reusable query methods with shared error handling.

  • Server & Unity: Updated both sides to use the new data structure.
  • Player progress: Loaded levels from the database and refreshed displayed stats after data resets.

03 / Tournament flow & results

Multiplayer & Tournaments

Keeping tournament rounds moving through interrupted games.

My changes

I refactored tournament brackets, the matchups linking one round to the next.

  • Fixed advancement bugs in tournaments with fewer than eight players, where empty bracket slots required players to advance across multiple rounds.
  • Handled forfeits, disconnects, and late results.
  • Matched ranking rules in Unity and Java.
Front-facing presentation of the MLB Home Run Derby VR tournament board, with round brackets and the final trophy
The tournament flow I improved
  1. Start requestDedicated action, separate from settings
  2. Play the matchupPlayer leaves? Stop the countdown
  3. Resolve resultsHandle forfeits and late reports
  4. Advance the bracketMove players through empty bracket slots