World Library  
Flag as Inappropriate
Email this Article

Gosu (library)

Article Id: WHEBN0028018130
Reproduction Date:

Title: Gosu (library)  
Author: World Heritage Encyclopedia
Language: English
Subject: Chipmunk (software), Cocos2d, Away3D, Frogatto & Friends, Quake II engine
Collection:
Publisher: World Heritage Encyclopedia
Publication
Date:
 

Gosu (library)

Gosu
Developer(s) Julian Raschke, Jan Lücker et al.
Stable release 0.7.48 / July 14, 2013
Written in C++, Ruby
Operating system Microsoft Windows, Linux, Mac OS X, iOS
Type Game engine
License MIT license
Website .org.libgosuwww

Gosu is an open source 2D game development library for the Ruby and C++ programming languages, available for Mac OS X, Windows and Linux. The C++ version is also available for iPhone and iPad.

Gosu is known for its ease of use and performance, being one of the preferred libraries on game development timed competitions.[1] It comes with extensive documentation.[2]

It is released under the MIT license.

Features

The library offers easy object-oriented interfaces to access common resources:

  • Hardware-accelerated 2D graphics and text.
  • Sound samples and music in various formats.
  • Keyboard, mouse and gamepad input.

The library also offers extensive additional functionality including networking, advanced color operations, mathematical functions, locale operations and more.

As a game development library, it's completely adapted to the classic game structure, featuring separated steps for processing logic, user input, and screen drawing.

Gosu aims to contain everything that is necessary to write a game in clean C++ or Ruby code,[3] letting the user forget about low level and boilerplate code. For example, the minimum Ruby code needed to open a blank window consists of merely two lines of code:

require 'gosu'
Gosu::Window.new(640, 480, false).show

the C++ equivalent is nearly identical:

#include 

int main() {
  Gosu::Window gamewindow(640, 480, false);
  gamewindow.show();
}

Furthermore, a simple operation, like loading and drawing an image, that would take up to three different functions and two datatypes on SDL can be easily done with just one Class (computer science) and one of its methods on Gosu.

See also

References

  1. ^ http://www.ludumdare.com/compo/2007/12/11/another-library-suitable-for-timed-competitions-rubygosu/
  2. ^ http://www.libgosu.org/cpp
  3. ^ http://code.google.com/p/gosu/articles/DesignRationale

External links

  • Gosu's main website
  • Gosu repository on Github
  • Articles on Ruby game development featuring Gosu: part 1, part 2.
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 



Copyright © World Library Foundation. All rights reserved. eBooks from Hawaii eBook Library are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.