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).
This project is licensed under the MIT License.
- 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
- 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
- Support advanced networking modes.
- JRuby 126.96.36.199
- git (optional)
rvm. See here
\curl -sSL https://get.rvm.io | bash -s stable
- Install JRuby 188.8.131.52
rvm install jruby-184.108.40.206
gem install bundler
- Clone this repository
git clone https://github.com/simplay/bofrev.git
- Go to cloned repository:
- Install dependencies:
Run a application
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.
rake test or simply
rake in your console.
Generating an executable jar
chmod +x make_jar and then
./make_jar into your console.
./bofrev -d <D> -g <G> -m <M> into your terminal to run the game
<G> in running mode
ruby bofrev -g 3 -d 1 To run the game number 3 in the mode 2.
<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.
- 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.
- Fork this repository
- Create your feature branch
git checkout -b my-new-feature
- Commit your changes
git commit -am "Add some feature"
- Push to the branch
git push origin my-new-feature
- Create new Pull Request (in your forked repository)