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.
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
Selected Work
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.
- Home-run streakConsecutive home runs
- Effect managerSelects the matching effect
- Active bat effectSwitches only when needed
02 / Server programming & SQL
Server & Database
I refactored how the Java server reads and updates player data.
Before
Changes were harder to track.
After my refactor
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.
- Reworked rounds and empty player slots.
- Handled forfeits, disconnects, and late results.
- Matched ranking rules in Unity and Java.

- Start requestDedicated action, separate from settings
- Play the matchupPlayer leaves? Stop the countdown
- Resolve resultsHandle forfeits and late reports
- Advance the bracketCheck that the winner advances once