/TheBTeam

Our Video Game Design Group

Primary LanguageC++

Food Fight

artwork_2artwork_4

A Food Themed 2D Tower Defense Game with procedurally generated maps and waves.

Download Instructions

  • Head to the computer lab on the first floor of McGlothlin-Street Hall, 251 Jamestown Rd, Williamsburg, VA
  • Log into one of the computers and enter the following commands into a terminal window:
    • git clone https://github.com/andrewkatson/TheBTeam.git
    • cd TheBTeam
    • mkdir Debug
    • cd Debug
    • cmake ..
    • make
    • ./Game
  • You're playing! Have fun!

Playing on a non-W&M machine

If you're prohibitively far from the William & Mary CS lab (or are too lazy to go there), you can perform the above procedure in any Linux terminal. However, it is possible to encounter issues with compiling and running the game using this method. The game has been thoroughly tested on the lab machines, but not other systems. It is not guaranteed to work properly with your setup.

N.B.: If not playing on a McGlothlin lab machine, the following packages are required:

  • git
  • g++
  • make
  • cmake
  • libsfml-dev

Background

The year is 20X3. Big Pharma has just finished their most recent campaign of polluting the water with chemical to make the frogs’ teeth whiter. Now, Big Pharma sets its sights on making the children healthy by introducing mind controlling genes into the GMO-ridden vegetables that currently occupy school cafeterias everywhere. You, our heroic protagonist, assume the role of War Chief for the Jolly United Neighboring Kingdom Fighting Unsavory Delinquents (J.U.N.K.F.U.D). You are tasked with keeping the kids of Chester A. Arthur Elementary School sated so that they are not infected by the Vegetables.

How To Play

Food Fight is a tower defense game, played in a cafeteria. Your goal is to make sure as few kids get to the salad bar as possible. You'll do this by creating towers that fire food items at the children automatically so that they get too full and lose their appetite. Each level of Food Fight is played in a new cafeteria with a unique layout that changes every time you play. There are countless strategic possibilities!

Food Fight has multiple different control schemes for its different gameplay modes, and many game mechanics. Make sure you know them before you play.

Menu

tower

To navigate through game menus, you can use the arrow keys ← → ↑ ↓ to select an option, and Enter to confirm.

Gameplay

tower

On the main gameplay screen, you can press one of the four speed buttons to change the speed at which the action plays out. You can also press the H key to hide and show the HUD. When no waves are going on, a Next Wave button appears, allowing you to trigger the next wave at your leisure.

Placing Towers

tower

You can double click on any empty tile to bring up the Buy Tower button. Clicking this will bring you to a screen where you can pick the tower you want to buy.

Upgrading Towers

If you click on a tile where a tower is present, the Sell Tower and Upgrade Tower buttons will appear. Different towers have different types of upgrades, specializing in different areas. Experiment to your heart's content!

Obstacles

tower tower

Obstacles can sometimes be found throughout the cafeteria, and can include lunch tables or trash cans. Obstacles usually won't get in your way, but you won't be able to place towers on tiles that are occupied by obstacles. You can pay money to Remove obstacles from the game board, but this is an expensive procedure, and you should consider carefully whether or not you want to work around that obstacle's place on the board.

Upgrade Circle

Right clicking a tower will bring up its Upgrade Circle. This will allow you to individually upgrade aspects of a tower's statistics. You can click on each icon to upgrade a specific statistic if you have the money. Experiment to your liking!

Towers

tower tower tower tower tower

Buying towers costs money. Upgrading them costs more money! In addition, every time you buy a tower, it'll cost twice as much to buy more towers of that type. Luckily, when you feed kids, you get their lunch money, which you can spend on more towers. As you advance through the game's levels, you'll also start with more and more money at the beginning of each level, allowing you to better prepare for the waves to come.

Dr. Paprika

tower

Soda and other drinks are a great well-rounded weapon for general purposes! They'll rot those kids' teeth to hell and back.

W&W

tower

Candies' light weights and quick travel speeds are great for fighting fast units, but they won't do much damage.

P.P.'s Pizza

tower

Pizza towers do strong damage and pierce armor, but their projectiles travel slowly and won't hit the quicker kids.

Fry Guy HQ

tower

These house fry-guys, the first line of defense in your army. Once they see a unit, they'll start fighting him and keep him stationary as long as he stays alive. They're great for stalling units and keeping them away from the veggie table while your other towers whittle their health down.

Rally Points

rally

These towers also have a unique control scheme. Clicking on one will show you a flag icon inside a circle. Clicking this flag will allow you to pick it up. You can drop it on any path tile inside the tower's circle of influence. This flag will tell the tower's Fryguys where they should convene while they're not fighting.

Children

unit unit unit

Children come in 3 different weight classes. The largest kids are slow, but have nearly bottomless stomachs and built-in armor. The smallest kids are on the other side of the spectrum-- they're quick runners, but their bellies will fill up fast. Average sized kids tend to form the bulk of the kids at school, and they fall somewhere in between the biggest and the smallest kids.

Tips

  • Different towers have strengths and weaknesses that allow them to counter different units. Plus, the more towers you have of a certain type, the more expensive it'll be to buy more of that tower. A diverse lineup will increase your chances of success.
  • Your upgrades from the upgrade circle will carry over when you upgrade to a new level of tower, but the upgrade prices will reset to be cheap again. Upgrade your tower to a new level once the smaller upgrades get too expensive and you'll always be able to upgrade!
  • Even though you'll lose all your upgraded towers when starting a new level, your towers will get stronger on subsequent levels based on how you upgraded them in earlier levels. Use your upgrades wisely, and don't be afraid to upgrade!
  • You start with more money when you begin a new level than when you began the previous level, but your left over money from previous levels won't carry over. Make the most use of your money while you still have it!

Miscellanea

Game created by Andrew Katson (team lead), Kyle Pederson, Jeremy Elkayam, and Mei Song.

concept artwork of a pizza fighting a childmore concept art

Our UML class diagram can be found here: UML Diagram