This project started as an additional feature for a VR game we had already released on Steam called Pitch-Hit. Except, where as Pitch-Hit is simply a collection of mini-games styled around batting cages, Totally baseball aims to create the full baseball experience and allow players to complete all 9 innings as both offense and defense.
As offense, it’s fairly straight forward, you swing the bat to hit the ball once it’s pitched at you. You then use the controllers to run in place and try and run the bases. We went to great lengths to make sure this wouldn’t induce any nausea in users. We create a very prominent vignette that blocks out peripheral vision when the player is moving and we do not prevent the player from running in any direction even though running bases should be an on rails experience. After you stop on a base and return to home plate, an AI base runner will take over where you left off and try to make it home when he can.
As defense, you play as which ever player is the most important at any given time. You start off as the pitcher with the ball, after you shoot it at the batter and they hit it you become whoever has the best chance of catching the ball or getting to it first. Assuming that you don’t catch the ball but quickly pick it up you can then shoot the ball over to the first baseman. The game will then enter slow-motion and you’ll become the first baseman and have the opportunity to catch the ball you just threw and get the runner out. It’s a great feeling. Obviously there are a lot of different ways a play can go down, but I use that series of events as an example that sums up most of the functionality.
We also have a feature in development where the user can throw balls by hand rather than firing them out of a cannon. It’s come a long way, but I still think most players will use the cannon.
The most challenging part of this project has been the AI. Both teams are capable of playing the entire game without player intervention and when the player is playing, the AI does a great job of reacting to the player’s choices and mistakes. Although I was not the primary developer working on the AI implementation, I did oversee its creation and played a large role in the design of its decision making.