Fruit Feast

by Ryan Rule-Hoffman

Abstract & High Concept

Fruit Feast is a competitive multiplayer game, where the player must consume as much fruit as possible from the map.

The player can collect power-ups that affect their ability to collect fruit, and must also face off against obstacles, other players, and even enemies in order to get as much fruit as possible!

Whichever player obtains the highest score at the end of the round wins the game.

Genre

The game is somewhat of an arcade style game, where the controls and layout are very simple.
However, the graphics are of a more modern style.

Platform

The game is primarily written to be played on mobile devices, such as iPhones, but it also works on desktop computers.

Story

The Oak Forest is the home to a wide variety of creatures and an even larger variety of fruit bearing plants. Towards the end of every summer, all of the creatures come out to consume as much of the fruit as possible before autumn. The player takes control of one of these creatures, and participates in the yearly Fruit Feast!

User Experience

The user experience of Fruit Feast has two major components to it, which are the mobile experience and the desktop experience. Designing the game so that it is playable on both platforms is a challenging experience, but I believe that the solution used by the game works very well.

On the desktop, the user will run the game in a windows web browser, and can of course optionally take the game full screen. The desktop users will control the character with the arrow keys for movement, which is very straightforward. However, on the mobile side, the game will run in landscape in fullscreen inside of the device’s mobile browser. During gameplay, the mobile users do not have a keyboard available, so they much touch the edges of the screen with their thumbs to direct their character in the correct direction. This seems to work very well, and is extremely important due to movement being the main mechanic of the game.

Esthetics

Graphics style - Cartoon style graphics, consistent with most mobile games.

Sound - Free available sound assets will be used.

The game will also feature background music and background graphics for the levels.

Gameplay

Mechanics

Lots of fruit will be placed in various places in overworld of the game. All players will be present on the same game map, which may also feature obstacles such as wells, enemies, teleporters, and so on.

Control

The main control of the game is holding your finger on the game screen in the direction that you would like the player to move. On the desktop version of the game, the arrow keys are used for movement.

Scoring

Scoring will be based off of the amount of fruit that the player eats, and may also be based on the amount of enemies the player defeats or how many power-ups they collect.

Onboarding and Teaching the game

The player will be taught how to play the game by allowing a sandbox or single player environment, where the player will slowly be introduced to each mechanic of the game.

Player learning

In order to win the game, the player must obtain the highest score. In order to do this, the player will learn which game mechanics cause them to earn the most points.

Multi-User Architecture

The game is a multi user system in two ways; the first way that the game is a multi-user system is that is allows the user to register an account. This account is used to store the player’s all-time high score, and could be used in the future to store all kinds of game-related statistics. Secondly, the game itself is a multiplayer game, and you must compete with other users in order to collect as much fruit as possible.

Client & Server Platform

The client is written in JavaScript, and will load all of the assets and data required for the game though HTTP(S), just like any other web application. The server is also written in JavaScript, and utilize Node.JS. The client interacts with the server to load all of the files off of it, just like a standard web server, but also uses Socket.IO to talk with the server for the gameplay. The server manages all of the games going on, along with the generated world associated with each game. It is also responsible for syncing all of the movement of the players between the various clients. Lastly, the server also stores all of the user account information.

Assets

Assets for the game are obtains in two ways. For simple things, like game tiles, they are created in Photoshop or other image editing programs. For more complicated assets, like the creatures, assets found online on sites that allow creative commons licensing for commercial reuse are used.

Mockups

Concept Art

Libraries

The SoundJS library is used for this project.

About the developer

Ryan Rule-Hoffman

I am a third year GDD major. I have a passion for server based multiplayer games, and having a high quality user experience.