Coder Social home page Coder Social logo

sitarhero's Introduction

sitar hero

Music/video game using Java and MIDI Sitar
Final project for my Computer Programming class

SitarHero.jar

idea

I was inspired to design Sitar Hero in fourth grade, after my friends and I managed to come up with a plethora of multicultural puns. Finding "Sitar Hero" the most compelling, I vowed to one day make a game similar to Guitar Hero, but with the popular Indian instrument, the sitar, instead of the classic Gibson SG modeled guitar. For this project, that is what I originally intended to create; however, synchronizing an audio bytestream with the movement of AWT and JavaX Swing components is in fact quite an unwieldy task. Thus, I decided to make the project more authentic to the concept of "Sitar Hero" and have the user feel like he/she/they is/are playing a sitar.
 
Gameplay:

  • The player must hit notes on the keyboard as they reach the bottom of the screen
    • If a note is missed, the reaction box will flash red and a kick drum sound will play
    • If a note is hit, the reaction box will flash green and the correct sitar note will play
  • If the player completes a song with 80% notes hit
    • Song name and artist are revealed
    • Edited/shortened version of song is played
    • Player proceeds to next song
  • If a player runs out of lives or completes with 20% notes missed
    • Player must retry song that was failed
  • After three songs, game won!

screenshot

Sitar Hero Screenshot

instructions

  1. Install Java 8
  2. Clone/download this repository
  3. Use command line Java (recommended) or BlueJ
    • Command Line
      • Open a terminal or command prompt
      • Navigate to this_repository/SitarHero/
      • Run the following command: java SitarHero
    • BlueJ IDE
      • Download and install BlueJ IDE
      • Open BlueJ and select Project->Open Project from the menu
      • Navigate to this_repository/ and open the folder SitarHero (as a BlueJ project)
      • Right click on class SitarHero and run the static main() method with no arguments
  4. Ignore any messages that show up in the console/terminal window about AudioComponent.h
    • This problem is common using native Java audio on macOS
  5. Play sitar hero!

credits

All files referenced hereinafter reside within the SitarHero folder.

  • Sitar image files/sitar/sitar.png premierguitar.com
  • Sitar MIDI SoundFont files/sitar/saz.SF2 Marck Heusschen of hammersound.net
  • Gifs in files/sitar
  • Wav audio files
    • All .wav files in
      • files/levels
      • files/rickroll
      • files/saymyname
    • All edited by me, courtesy of SoundCloud and YouTube

View full credits in README.TXT

disclaimer

Anuv Gupta and Sitar Hero take no credit for and have no association with the legal owners/creators of the above intellectual property (ie. SoundFont, GIF/PNG images, and WAV audio files). All credit belongs to the respectively credited entities, and any other entities that claim valid legal ownership of such property. In addition, Anuv Gupta and Sitar Hero take no credit for and have no association with any entities or property belonging or related to Guitar Hero and ActiVision. Any and all similarities or resemblances to the aforementioned entities are completely unintentional and by chance.
 
For any issues or questions, please contact [email protected] by email.

sitarhero's People

Contributors

anuvgupta avatar humbertodias avatar

Watchers

James Cloos 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.