Kickshot
KickShot Logo | |
Sponser | Aziz Makhani |
Team Name | Red Card Dev |
Duration | Spring 2015 - Fall 2015 |
Faculty Advisor | Bruce Bolden |
Team Members |
|
KickShot is an app based on the board game of the same name by Aziz Makhani. The game is split into three levels of play, aptly named Level 1, Level 2, and Level 3. Each successive level introduces additional complexity to the game. Level 1 was completed during the Fall 2014 semester. This semester's team has been tasked with implementing Level 2.
Problem Definition[edit | edit source]
Background[edit | edit source]
KickShot is a soccer board game conceptualized by Aziz Makhani, a local soccer referee. KickShot includes three levels of play and the iteration being implemented this semester is Level 2. Level 2 builds off Level 1 by adding cards, new rules, several ways to score a goal, and two halves of play. Eventually, Level 3 will add even more cards, along with additional rules and a difficult AI opponent.
Deliverables[edit | edit source]
This semester's team aims to deliver a finished Level 2 version of KickShot that includes:
- 7 playable cards
- New Rules that provide more options for offense and defense
- Several ways to score
- Shooting left or right, which can be blocked with the correct card
- Passing into a goal
- Direct free kicking into a goal
- 2 halves of play that end when the players run out of cards to play
Specifications[edit | edit source]
There are several important requirements for KickShot. The most obvious requirements are that it be bug free and fun to play. Ideally, KiskShot should also be intuitive, requiring little explanation of mechanics. Lastly, KickShot must be cross platform. KickShot is currently being implemented in Unity3D, to allow for 3D graphics and cross platform compatibility. The first semester the Panda.js game engine was used. Kickshot can be played in a web browser, as well as on smartphones, tablets, or computers.
Challenges[edit | edit source]
This semester's team chose to roll back last semester's changes in favor of writing clearer, more easily extensible code. Other considerations of implementing the board game include:
- Adding cards to the game
- Data structure
- Manage multiple decks of cards and hands
- Graphics and animations
- Drawing cards
- Playing cards
- Viewing cards in hand
- Data structure
- New set of rules
- Redesign turns
- Able to pick a card and play it
- Cards have unique rules
- Roll-offs between players
- Goal scoring attempts
- Goal blocking attempts
- Intercept attempts
- Pass attempts
- Rule enforcement
- Cards can only be used a appropriate times
- The player can only have so many cards at a time
- Redesign turns
- Artificial Intelligence
- Needs to calculate possible moves
- Better AI will compare moves and choose the best one.
Project Learning[edit | edit source]
Over the course of the semester, our team has learned more about the Unity3D engine we are using for development, c#, control flow, and version control.
Design[edit | edit source]
This semester the game was largely redesigned from the ground up. A key part of this was the use of 3D assets and how they would be implemented. The main goal of the design was to keep the game visually similar to physical counter part. The dice had to be modeled in a 3D editor and they rolling simulated using Unity's physics engine.
Team Information[edit | edit source]
Documents Archive[edit | edit source]
Current work can be viewed on Github here: https://github.com/RedCardDev/KickShotUnity
Here is a schedule for development:
Date | Goal | Results |
---|---|---|
9/22 | Client Interview |
Move to Unity Cleared |
9/24 | Initial Conversion |
Foundations set in place |
10/1 | Dice Rolling |
Dice rolling |
10/8 | Work towards snapshot day |
Movable parts (Dice, token and cards) implemented |
10/15 | Start implementing card rules |
Pass and intercept cards working |
10/22 | Work on player hand and card rules |
Goal Shot and Goal Block cards working |
10/29 | Work on shuffling and turns |
Shuffling and turns implemented |
11/5 | Combining code |
Code combined |
11/17 | Choosing cards and AI |
Player can choose cards and AI can pass and intercept |
12/3 | Work on poster |
Poster completed |
12/4 | Snapshot day and work on project as time allows |
Level 2 fully implemented |
12/8 | Work on Documentation |
Documentation finished |
Our poster from EXPO : File:Fall2015KickShotposter.pdf