Bellhop
Jake Crabtree
Austin, Texas
- 0 Collaborators
Bellhop is a multiplayer mobile/PC hybrid game where you play as bunny Bellhops at the Hareton Resort and Spa. Using your phone as the controller, you hop around the hotel, check guests in to their rooms, and do favors for them by playing over 15 unique mini-games. ...learn more
Project status: Published/In Market
Groups
2020 Intel University Games Showcase
Intel Technologies
Intel Integrated Graphics
Overview / Usage
Bellhop is a multiplayer mobile/PC hybrid game where you play as bunny Bellhops at the Hareton Resort and Spa. Using your phone as the controller, you hop around the hotel, check guests in to their rooms, and do favors for them by playing over 15 unique mini-games. Special, multiplayer mini-games appear that allow players to put their phones together to play mini-games that spans both screens. Winning mini games and checking in guests earn tips, and players will work together to create the largest tip pool before times run out.
Methodology / Approach
Overview
We developed Bellhop as a team of seven undergraduates over three months, as a part of the 2D Game Capstone Course in the UT Austin Game Development and Design (GDAD) program. We used scrum/agile methodologies to develop Bellhop, meeting daily for stand-ups and operating on weekly sprints to segment and iterate on the development of our game. We originally conceptualized Bellhop as a PC/Mac game that was controlled by keyboard or game controller, instead of the phone controllers we have today. Around a third of the way into development, we pivoted to our current design due to some design challenges with the original version of our game.
The Challenges
Individual minigames
Our first attempt at implementing minigames was using split-screen multiplayer, with each person's minigame appearing on their section of the screen. Playtesters found the split-screen inhibited their ability to figure out where they were in the hotel, and that a player's sub-screen, especially at 3+ player counts, were too small to understand the minigames. Removing the split screen and placing the minigame in the hotel rooms themselves also proved to be unreadable by players. What we needed was an individualized screen for minigames, and a shared space for platforming around the hotel environment.
Individual soundscapes
In our initial design, it was a really tough for our sound designer to figure out how to balance giving individual feedback for player actions in a way that made sense to each player and didn't just flood the game with sound clips. We relied much more heavily on visual cues rather than sound cues: none of our minigames or platforming had any sound cues. Having both sound and visual feedback was really important to some of our playtesters for a juicy, exciting party game experience. Like the screen for our minigames, we needed an individualized set of speakers for each player to receive audio feedback.
Accessibility
Our target audience is people who want to play a light, fun game with their friends and family, and might not have four Xbox controllers hooked up to a gaming PC and TV. Mobile was a natural direction to go in to fix this, but still suffered from the first two issues as our PC version.
The Solution & Pivot
Switching from PC to a PC/Mobile Hybrid solved all of the problems above. It gave us individual screens and speakers to play minigames through, and improved accessibility by cutting out controllers from the equation. However, our pivot came a third of the way through the projects deadline, and only a few weeks before our "alpha" deadline, and we had to put in serious work to re-implement and refine our game for its new design. In order to achieve this, we made a simple networking stack, compromised on a local network, and cut several planned features.
Simple Networking with Mirror
Our solution to implement the controls was a (mostly) server-authoritative network, where the PC/Mac game is the server and the mobile controller is the client. All physics and core game logic is run on the server, and the client sends movement, interact, and jump input to the server to be resolved. The minigames are all run completely on the client, which sends up results to the server to be validated and added to the points total. The networking library we used, Mirror, was not designed for this, and expected the clients and servers to "mirror" each other, but still took care of the lower-level serialization and socket programming and was very crucial to completing the project on time.
Local and Global Soundscapes
The global soundscape is used to immerse the players in a shared game space as well as alert them to important events at the Hareton. The local soundscape, when combined with mobile haptics, gives players responsive feedback for the actions they perform, like knocking on a guest’s door or hopping to the next floor. When combined, our soundscape allows players to receive all necessary information from sound cues, like bells going off to indicate that a guest has arrived, be energized by the game's upbeat soundtrack, and be aware of what their fellow bellhops are up to from their local soundscapes.
Compromise- Local Network
One of the main references for our game is the Jackbox _series, which has become incredibly popular due to its ability to be played from a mobile web browser, without downloading an app. While this is an amazing feature to have, programming and deploying our game for a mobile web browser just wasn't feasible in the time allotted, and isn't well supported by Unity. Making our mobile controllers over the local network allowed us simplified the development dramatically, allowing us to complete the game on time. However, this came at the cost of ease of use, since we require an app download for the controller and manual entry of the host machine's IP address. We were able to ease the IP entry process by displaying the host's IP as a code, mirroring the familiar format of Jackbox's _entry codes. Later, we were able to add in host searching to our networking, sending out UDP pings over the network to check for available hosts and clients. As an end user, all you have to do is get on the network, press search, and click on the host with the right hotel name. This is a lot more accessible to kids and first-time gamers, and helped guide us back towards our original design goal of accessibility.
Compromise- Cut Features
We had originally had designs and prototypes for over 20 minigames, but as a lot of the programming bandwidth went towards networking, they had to be cut. Some other features that were cut for time were: multiplayer minigames, wandering hotel AI that Bellhops had to avoid, VIP guests, a story mode, and a minigame practice mode.
Conclusion
We're super proud of what we accomplished with Bellhop, and think we've made something truly unique and fun after all of the design and technical changes it took to get our game here. We also really appreciate and are honored to be representing UT Austin at this year's Intel Student Games Showcase. Thank you so much for, in spite of everything that's going on, still giving us the opportunity to be a part of this showcase with all of these other awesome games.
Credits
Jake Crabtree- Programmer, Game Designer
Bonnie Bolton- Programmer, Tech Artist
Nik Jellison- Programmer, Game Designer
Jasmy Liu- Character and Environment Artist
Samuel Choi- Sound Designer, Composer
Angelia Wu- Programmer, Scrum Master
Will Nakata- Animator
Professor Paul Toprac- Producer
Technologies Used
Unity Game Engine
Mirror Networking Library
Taptic Engine (for Haptics)