Kickshot

From Mindworks
Jump to: navigation, search
KickShot Logo
Sponser Aziz Makhani
Team Name Red Card Dev
Duration Spring 2015 - Fall 2015
Faculty Advisor Bruce Bolden
Team Members
  • Tessa Saul
  • Jason Alves-Foss
  • Carson Stauffer (first semester only)

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]

Background[edit]

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]

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]

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]

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
  • 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
  • Artificial Intelligence
    • Needs to calculate possible moves
    • Better AI will compare moves and choose the best one.

Project Learning[edit]

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]

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]

Fall2015KickShotAndrewRacoon.png
Jason Alves-Foss Interests: Games
Computer Science
Hometown: Moscow, Idaho
Email: alve6656@vandals.uidaho.edu
Fall2015KickShotNataliaWeasel.png
Tessa Saul Interests: Gaming, Graphics, Security, Databases
Computer Science
Hometown: Moscow, Idaho
Email: saul7812@vandals.uidaho.edu
Fall2015KickShotJamesRabbit.png
Carson Stauffer Interests: Gaming, Computer Graphics, Artificial Intelligence
Computer Science
Hometown: Boise, Idaho
Email: stau2921@vandals.uidaho.edu

Documents Archive[edit]

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