# Agario Game
## User Data
### Currencies
* Food: Used to calculate player size and for future world advancements
* Candy: Used for Pet upgrades
### Multipliers
* Purchased Food Gain Multiplier
* Pet Food Gain Multiplier
### Leaderboard
* POWER - store in Power stat
* RANK - feed from Power
* RENOWN - feed from Renown
* WORLD - store in World stat
### Statistics
* Rank - feed from Power
* Reputation
* Things Eaten
* Heroes slain
* Bad people eaten
### Pet Data
* Pet: Food Gain Multiplier
* Chosen Cosmetic
* Pet Level
* Level up cost
## User Interface
### Main UI

- Hero Tab
- Pet Tab
- Settings Tab
- World Bar

- Hero Hunter Tab

- Food
- Candy

- When you eat something it should show something like this:

- When you collect candy it should show something like this:

We're going for this style though:



We're going for this layout for the main UI menu:



### Hero Tab
- Shows Statistics
- Shows your current purchased food gain multiplier
- Allows you to purchase the next food gain multiplier

### Pet Tab
Displays pet info and lets you upgrade your pet
- Shows your current pet food gain multiplier
- Shows you your current pet stage
- Shows you your current pet tier (10 levels = 1 tier)
- Lets you feed your pet to increase its level/tier (you feed it candy)
- Lets you switch between pet cosmetic levels (each tier has a new cosmetic, you can use any tier's unlocked cosmetic)


### Settings Tab
Show player settings
- Background music switch
- SFX switch
- Can eat heroes switch
- Can eat villains switch
- Fast mode
- Particle effects
- Selected outfit
- Show other players' pets
- Show your pets

We want this style:


### World Bar
Select a world to go to via arrows
### Hero Hunter Tab
Teleport to another user's server by entering their UserId/Username and clicking confirm

### World Advancement Tab
Should show up whenever someone reaches a certain size and can go to the next world

## SFX/Music
All sounds will need to be sampled or pulled from an existing licensed library. (Boom, SFXHub, ETC)
I'll be seperating the requirements for sound into two categories: Music and Effects
### General SFX
* Building Destruct
* Plant Life Destruct
* Stone Destruct
* Ground Destruct
### Eating SFX
* Eating 1 - Small Munching (No example yet)
* Eating 2 - Large Crunch (No example yet)
* Eating 3 - Large Cruncing (No example yet)
### Worlds Music
* General Theme; I'd like to do something similiar to Bubble Gum Sim
<iframe width="560" height="315" src="https://www.youtube.com/embed/PKeYdU_2c-g" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
We want to keep the musical theme akin to something cartoon, loopable, and catchy; while also fitting the theme of the specific world they're in.
## VFX
All VFX need matching animations and objects to destruct proportional to the players size.
Some VFX will show to all clients, while most of the VFX will all be purely cliented Here is a short list of VFX objects that will need done.
- Power Up ORB FX - It will consist of a glowing effect, a rotating orb, and icon of said powerup.
- Destruction1 - General cartoony breaking effect.
- Destruction2 - Small cartoony breaking effect, will be used for smaller parts.
- Destruction3 - Small cartoony breaking effect, matching the root part of the object broken.
- Destruction4 - Medium effect found when breaking medium objects.
- Destruction5 - Medium effect found when groundpounding or root part of object broken.
- Large Destruction - Found only when eating special objects or large objects x2 variants.
We will also need various effects for players consuming objects; this will require either matches the objects texture to the effect by making a copy of all or just the color.
- Eating Effect - Shold match what-ever the player is eating and fall from their mouth and hands while consuming.
- Walking effect - small cartoony dust cloud behind the player
- Sprinting effect - Similar to walking, but has a minor trail aswell
- Punching effect1 - Small trail from fists or feet when swinging at objects
- Punching effect2 - Medium trail from fists or feet when swinging at objects
- Punch Impact1 - Similar to punching sim, effect will play when small radius destroyed.
- Punch Impact2 - Similar to punching sim, effect will play when medium radius destroyed.
- Punch Impact3 - Similar to punching sim, effect will play when large radius destroyed.
## Animation
Animations will consist of differing phases for eating (small, medium, large).
- Small: Players will reach to the ground, pick items up, and bring it to their mouth OR queue.
<div style="width: 100%; height: 0px; position: relative; padding-bottom: 121.186%;"><iframe src="https://streamable.com/e/8hbiag" frameborder="0" width="100%" height="100%" allowfullscreen style="width: 100%; height: 100%; position: absolute;"></iframe></div>
- Medium: Medium objects at are .35-.5 the size of the player will be picked up and eaten in a two step animation.
- Eating objects in two stage will be modeled in a way so they are broken up properly and look natural.
<div style="width: 100%; height: 0px; position: relative; padding-bottom: 95.152%;"><iframe src="https://streamable.com/e/eeuui0" frameborder="0" width="100%" height="100%" allowfullscreen style="width: 100%; height: 100%; position: absolute;"></iframe></div>
- Large: Large objects that are .6-1:1 the zie of the player will be picked up and eaten in a four step animation.
- Eating objects in a four stage will be modeled and broken up into many parts to simulate eating and give larger objects a fun feel.
<div style="width: 100%; height: 0px; position: relative; padding-bottom: 128.030%;"><iframe src="https://streamable.com/e/csyu6w" frameborder="0" width="100%" height="100%" allowfullscreen style="width: 100%; height: 100%; position: absolute;"></iframe></div>
## Modeling
The game will have models separated into 4 edible pieces that will be eaten differently depending on the size difference with the object and the player (see animation tab)

## Advancement
- Waiting for actual advancement data
## Gameplay
Players will start off in each world at a small size and achieve a their maximum size via eating the objects in their enviroment. The main objective is to grow mass and enough points to progress to new worlds. Players can also engage in PVP to absorb some extra mass from other players and dominate a world.
Worlds will be layed out as themed zones to progress in and always offer options for small, medium, large, and "Special" objects to consume. Different eating animations will play depending on the size difference between the player and a prop.
* if there is a large size difference (you're alot bigger), it'll be eaten in 1 *chomp*)
* if there is a medium size difference (you're semi-bigger), it'll be eaten in 2 *chomps*
* if there is a small size difference (you're almost the same size, but still a little bigger), it'll be eaten in 4 *chomps*
Chomps will be from the models top down to its bottom, that way we can minimize the amount of model separation we need to do, and therefore minimize modeling costs. All models will be separated into 4 parts, since this allows for any chomp animation (large, medium, or small) to be played for any model. Chomps will not animation lock the players, they will be able to freely pick up other destroyed objects while chomping and moving. Objects picked up while eating go into a queue for later consumption; debris objects that cannot be consumed will be kicked out of the world or crushed.