Skip to content
This repository has been archived by the owner on Apr 13, 2022. It is now read-only.

D3nX/NeoGame

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NeoGame

A Ruby game Framework - based on Gosu

What's NeoGame ?

NeoGame is a (not yet) powerful Ruby game framework built on Gosu multimedia library.
The framework make the game developpement easy, fast and robust.
It's entierly writed in Ruby for Ruby !

Pong sample (Neogame 0.2) :
alt text

Cool ! But how I use it ?

How to use it ? No more simple, just take a shot in the wiki section (in progress). (You can also check the website : https://niobean-generation.000webhostapp.com/tutorials.html, though it is outdated) You l'ill discover all about the game library :

The basics :

  • Create a window
  • Draw a image
  • ...

And the API :

  • Make collision
  • Manipulate audio
  • ...

Briefly, you l'ill discover all you need to make a powerful game using the Ruby programming language.

What look like NeoGame ?

For creating a sample window in example, NeoGame look like this :

# Neogame 0.4 - Sample Window

require "neogame" # We import Neogame

include Neogame # We include it

# Now, we create the window
class Game < Window

	def initialize
		super Settings.new(640, 480, false, "Sample window") # We send the properties in order to create the window
	end

	def update
		# Game logic here
	end

	def draw
		# Render everything here
	end

end

Game.new.run

How to install it ?

Just type that in your terminal :
gem install Neogame
Now You're ready to go !

Changelogs

24 / 09 / 2017 :

Currently, NeoGame is in version 0.1 -> Early alpha

06 / 10 / 2017 :

NeoGame is in version 0.2 -> Early Alpha
Changelog :

  • Fixed square collision bug
  • Added Audio class (for music and sound)
  • Fixed bugs about Sprite and SpriteSheet class
  • Sprite class is not extended anymore from Gosu::Image, but it has his own image
  • Better flexibility (for Sprite and SpriteSheet)
  • Sprite and SpriteSheet getPixel method return a Gosu::Color instance instead of an array
  • Added circle shape, but not collision with yet...
  • You can change the sprite color using the color attribute
  • Refactored a bit the code

06 / 12 / 2017

Neogame is in version 0.2.1 -> Early alpha
NOTE: This version is a minor update
Changelog :

  • Added getWidth and getHeight method for Text class

16 / 01 / 2018

Neogame is in version 0.3 -> Early alpha
NOTE: This version is a MAJOR update
Changelog :

  • Converted all the library to ruby convention
  • Fixed Sprite class bugs
  • Fixed SpriteSheet class bugs
  • Fixed Media class bugs
  • Added structure "Position"
  • Added Input class
    • Added input methods for when key / mouse is down / pressed / released
  • Deleted every module except Shapes and Neogame
  • Added collision between rectangle and circle and between circle and circle
  • Spritesheet attribute :anim_time has moved to :frame_time
  • Camera class has now render, scale, rotate and record method
  • Camera class has now a ":render_order" attribute (who is an array) for render method (for tell to Neogame what to do in order : scale ?, translate ?, ...)
  • Added StateManager class for manage game state
  • Added GameState class for use with state manager
  • Added "options = {}" argument for sprite and spritesheet. These options are the same in Gosu when you create an image.
  • Added some examples

03 / 07 / 2018

Neogame is in version 0.4 -> Early alpha
NOTE: This version is a MAJOR update
Changelog :

  • Added path variable to Sprite & SpriteSheet class
  • Added an ObjectsManager class
  • Modified a bit the code of the "StateManager"
  • "GameState" class name changed to "State"
  • Added GUI::Button class
  • Added GUI::Panel class
  • Added GUI::ProgressBar class
  • Text class 'get_width' and 'get_height' method are now 'width' & 'height'
  • Added 'size' and 'position' getter & setter (used with Vector2) in GUI::Panel class
  • For Input::mouse_down is now a static function
  • For every movable object, added a "position" and "position=" method / accessor
  • Now read image pixel is way faster
  • "Position" struct deleted
  • Neogame module now include all Gosu methods
  • Added "resize" method to the window class
  • Use "run" method instead of "start" to launch a new window

About

A Ruby game Framework - based on Gosu

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages