Skip to content

carolinefriedman/ThePiHost

Repository files navigation

ThePiHost

group members (username, name)

augr4882, Austin Griffith

carolinefriedman, Caroline Friedman

gpogoncheff, Galen Pogoncheff

joshuaGriffiths, Josh Griffiths

Title of project

ThePiHost

Description

Over the duration of this semester our group has developed an arcade-style computer gaming application. Our goal was to provide an environment where a user could achieve an arcade-like nostalgia from the comfort of their own home. To address this goal, contained in our application is a set of video games that are reminiscent of the vintage video games that we all know and love. In particular, the contents of our application include Tennis (a recreation of the 70's game Pong), Space Defenders (a recreation of the 70's game Space Invaders), and, to provide our users with a more modern gaming system, we included a copy of the open source project "OpenEmu" (https://github.com/OpenEmu) so that users could easily add their own games to their collection and access them through our application's connection to OpenEmu.

The games that we coded (Space Defenders (aka "Space Invaders") and Tennis (aka "Pong")). Allow the users to not only play the game, but track their scores and progress. Within each game, there are different way to "level-up" and score points. At the end of the game, in the game over screen, our code queries a high-scores database to update the score of the most recently terminated game and print the top three high-scores for the game.

Our application can be downloaded from the website that we created. This website includes screenshots of the games, a package downloader, and installation instructions. Our website can be accessed in one of two ways:

This first method of accessing our website is at the url that is hosted by the raspberryPi, thepihost.sytes.net . In order to access the website hosted by the raspberryPi, the Pi server must be powered on and hosting.

The second method of accessing our website is at http://creative.colorado.edu/~cafr3980/the-pi-host/ . This location offers an identical website as the one hosted by the Pi, except for the fact that it can be accessed at any time.

Once at our website, simply scroll down the home page to the download section and click on “DOWNLOAD” to obtain the application package. The following steps and dependencies must be observed in order to launch our application:

How to Build and Run

Installing Application

Dependencies:

  1. Program must be run on a Mac computer
  2. User must have Java installed

Download and Installation Steps:

  1. Place the downloaded archive file in your directory of choice.
  2. Untar the file with the command tar -xvzf ThePiHostApp.tar.gz
  3. Enter uncompressed directory and double click ThePiHostLauncher.jar
  4. Enjoy

Buidling and running source code, unit tests, etc.

All of the builds for this project were done by exporting java projects to .jar files in the Eclipse IDE. However, within the spaceDefendersDB, tennisDB, and menuTesting folders is all of the source code and dependencies (except Java) needed to build our application. The source code for the individual classes in the AutomatedTesting folder can be compiled with javac filename.java.
Our already built and ready-to-run application can be obtained from our website and installed using the steps provided above.

Repository Organization

In the master branch of our github repository, you fill find the folliwing files and folders:

  • Automated Testing: Within the Automated Testing folder are the unit tests that we made for the Tennis and Space Defenders games, a TESTING.md document that describes how the tests were run (with screenshots of the results of some of the tests), the results of our user acceptance tests, and the source code that the unit tests were run on. The Automated Testing folder contains two subdirectories, AutomatedTesting_SpaceDefenders and AutomatedTesting_Tennis. Within each directory contains a src folder (with the JUnit unit testing code and the Cucumber unit test runner for each class), a bin folder (for the unit test binary executables), and a .settings folder. All unit testing for this project was done with JUnit and Cucumber.
  • Documentation: The Documentation folder contains the javadoc automated documentation that was generated for the Menu, the Space Defenders game, and the Tennis game. It contains two initial subdirectories, one for the raw html generated by Javadoc, and one with the PDF form of the documentation for these application components (the Menu, the Space Defenders game, and the Tennis game).
  • Website: The Website folder contains the html, css, assets, and javascript used to generated our website.
  • menuTesting: The menuTesting folder (this is not just test code) contains all of the source code for the launch menu executable.
  • spaceDefenersDB: The spaceDefendersDB folder contains all of the source code for the spaceDefenders game.
  • tennisDB: The tennisDB folder contains all of the source code for the tennis game.
  • README.md: Description of project.
  • ThePiHost_Part5.pptx: Powerpoint file for our presentation.
  • part1_readme.md: The originial readme that we made at the beginning of the semester.
  • thePiHost_Part6.pdf: PDF document for part 6 of the team project.

References

No member of our group had experience with neither Java nor game development prior to this project. In learning how to write a game in Java, we followed a tutorial at: https://www.youtube.com/watch?v=lE18VALSCAA . Thus, we would like to thank "ImperatorRyan" for his helpful tutorial. The basic theory and game flow follow what we learned in this tutorial, however, many modifications were made to better suite the motives of our group.

About

the pi host

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •