No description, website, or topics provided.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
audio
backgrounds
config
demos
lib/tinysound-1.1.1
sprites/dummy
src
test
.coveralls.yml
.gitignore
.inch.yml
.ruby-gemset
.ruby-version
.travis.yml
Gemfile
Gemfile.lock
LICENSE
README.md
Rakefile
bofrev
bofrev.jar
make_jar

README.md

bofrev Build Status Test Coverage Code Climate Inline docs

bofrev - Boring Friday Evening - originates from a Friday late-night coding session.

The idea behind this project is to implement a Framework to implement 2D applications similar to old nintendo games and numerical simulations.

The framework should allow to easily implement a game without having to understand how the framework is implemented. Ultimatively, a simple game should be implementable by only defining how user input affects the game state and how the game state should be periodically updated (according to a given world clock).

A list of all implemented applications and their controls can be found here. For further information, please have a look at bofrev's wiki.

This project is licensed under the MIT License.

Acknowledgement

  • All sound files are from freesound.org.
  • For playing sound files, bofrev uses the java library TinySound.
  • For generating an exectuable bofrev jar file we make use of Warble.
  • For testing we rely on Minitest
  • For evaluating the quality of the code documentation, we rely on inch

Features

  • 2D Grid Games
  • Freefrom games without a grid
  • Collision Detection.
  • Music Player, Sound Effect Player
  • Tetris Music with fancy effect sounds.
  • Tetris, Game of Life, Sokoban
  • Fractal Image Renderer

Plans

  • Support advanced networking modes.

Prerequisites

  • JRuby 9.0.1.0
  • bundler
  • git (optional)

Installation

  • Install rvm. See here
  • Run \curl -sSL https://get.rvm.io | bash -s stable
  • Install JRuby 9.0.1.0
  • Run rvm install jruby-9.0.1.0
  • Install bundler
  • Enter gem install bundler
  • Clone this repository
  • Enter git clone https://github.com/simplay/bofrev.git
  • Go to cloned repository:
  • Enter cd path_where_i_put_this_repo_to/bofrev/
  • Install dependencies:
  • Enter bundle

Run a application

Either enter ruby bofrev into your console or run the latest bofrev.jar via java -jar bofrev.jar. For further information, please have a look at the Usage section below.

Usages

Running tests

Enter rake test or simply rake in your console.

Generating an executable jar

Enter chmod +x make_jar and then ./make_jar into your console.

Running bofrev

Enter ./bofrev -d <D> -g <G> -m <M> into your terminal to run the game <G> in running mode <D>. Example ruby bofrev -g 3 -d 1 To run the game number 3 in the mode 2.

  • Game Mode <D> is an optional parameter:

    • <D> is 0: run in normal mode.
    • <D> is 1: run w/e music.
    • <D> is 2: further run only based on user interaction.
    • default value is 0.
  • Game to Select <G> is an optional parameter:

    • <G>is 1: run Tetris.
    • <G>is 2: run Game of Life.
    • <G>is 3: run Sokoban.
    • <G>is 4: run Snake.
    • <G>is 5: run Ping Pong.
    • <G>is 6: run 2d Fractal Renderer
    • <G>is 7: run sprites demo
    • default value is equal 1.
  • <M> indicates whether we want to play in single-or Multiplayer-Mode or want to host a server. This parameter is optional.

    • <M> is 0: run in single player mode. (default)
    • <M> is 1: run in multiplayer client mode.
    • <M> is 2: run in multiplayer server mode.

./bofrev -h To list the show the help man.

Known Issues

  • when running the test suit locally entering entering rake, it may report Coverage may be inaccurate which will result in reporting Coverage = 0.0%. By entering export JRUBY_OPTS="-Xcli.debug=true --debug" into your console this will be fixed.

Contributing

  1. Fork this repository
  2. Create your feature branch git checkout -b my-new-feature
  3. Commit your changes git commit -am "Add some feature"
  4. Push to the branch git push origin my-new-feature
  5. Create new Pull Request (in your forked repository)