Giter VIP home page Giter VIP logo

sp21-202-team-orange's Introduction

Team Orange

Team members

  1. Ryan Choy 014499316
  2. William Su 013697658
  3. Janaarthana Harri 015246205
  4. Premchand Jayachandran 015326428

Contributions

  1. Ryan
  • Made base game
  • Added bullet projectile feature
  • Added screens (Home page, Controls page, Credits page, Game Page)
  • Added screen transitions
  • Made game turn based (Player 1 goes first, then Player 2 and vice versa)
  • Start screen background image
  • Bug fixes + minor QOL features
  1. William
  • Ensured clean code by moving utility functions into the classes that used them instead of just hanging around the main code
  • Optimized bullet physics for correctness and performance
  • Created system to rotate an image around its center
  • Used system to have active sprites follow cursor
  • Expanded Player class and Bullet class attributes for further functionality
  • Optimized game loop logic to be cleaner and less verbose (less conditionals using the active_player and dormant_player system)
  • Added fuel consumption feature
  • Logic for intelligent image import and process based on player1/player2
  1. Janaarthana
  • Background images and sound.
  • Player hit animation.
  • Screen transition after the game ends, continue to play again or quit.
  • Health bar created for both players.
  • Snowfall map created.
  1. Premchand
  • Added the collision detection feature to detect collision between the object and projectile
  • Used the collision detection to reduce the hp to reduce the player's health.
  • Added multiple model images for the player and made the model random at the start of the game.

Summary

This project uses the pygame library to create dynamic images and interactions between each other. The code used are all python code.

Our project is a multiplayer turn based shooting game where 2 players try to hit each other with a physics projectile. This idea came about due to the recent EOLing of adobe flash player. Many of us had grown up playing adobe flash games with very similar premises - and with Flash's EOL just passed, we wanted to create a tribute to those somewhat crude 2D physics games of our childhoods. With that in mind, we included many hallmarks of that particular genre of game - stock art backgrounds, inconsistent sprite choices, and simplistic gameplay mechanics. While perhaps not as involved as we had originally intended, we believe our project reflects that experience rather well.

With regards to the physics: the projectile's movement speed and direction depends on the location of the mouse, the further away the mouse is from the player, the faster it will go. Players have a set amount of distance they can travel (energy) in a turn and uses the a and d key on the keyboard to move left and right respectively. The goal of this is to make it harder for the enemy to use the same shot on you two turns in a row. Players would take turns shooting the projectile and when their respective hp goes down to 0, the opponent will win the game. The game will then restart after a few moments.

Game Flow/Screenshots

Architectural diagram

Class diagram

Sequence diagram (Screen transitions)

Key Features

  1. Speed and angle of projectile based on location of mouse
  2. Different character models, including more complex multipart sprites
  3. Dynamic hp bar visual that changes based on incoming damage
  4. Dynamic pixel elements imitating snow fall
  5. Characters model change its direction based on the position of the mouse

Game Ad link

https://drive.google.com/file/d/1wYUqsaa9ga4DUV21WwI_oNY2vwTyPHrK/view?usp=sharing

Game demo link

https://drive.google.com/file/d/1AfEwFopfrOpO2LxU6CB1HCB6CVRMn6p7/view?usp=sharing

Team Kanban Board

Agile Videos

Standup 5/12: https://drive.google.com/file/d/1_lVNL9Ih_BaKY4cWFiZS4aM8MGdaw2ix/view?usp=sharing

Retrospective 5/15: https://drive.google.com/file/d/1XWHBffBMHCjZVvPEG5DNoGa6q4W3jLbG/view?usp=sharing

sp21-202-team-orange's People

Contributors

ryanchoy95 avatar wilson289296 avatar janaarthanaharri avatar paulnguyen avatar

Watchers

James Cloos avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.