# Gosu 0.7.5

**URL:** <https://www.ruby-forum.com/t/gosu-0-7-5/114792>\
**Category:** Ruby\
**Created:** [September 17, 2007, 2:31pm UTC](https://www.ruby-forum.com/t/gosu-0-7-5/114792 "2007-09-17T14:31:56Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![nex4k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@nex4k](https://www.ruby-forum.com/u/nex4k)\
**Post date:** [September 17, 2007, 2:31pm UTC](https://www.ruby-forum.com/t/gosu-0-7-5/114792/1 "2007-09-17T14:31:56Z")

</div>

Hi,

for those interested in game/multimedia programming, Gosu 0.7.5 has  
just been released! When using RubyGems, don’t be surprised if you  
see both 0.7.5 and 0.7.5.1; the latter changes a bug with the Gem  
packaging, so install that. 🙂

Gosu 0.7.5 mostly improved the Ruby support, with a focus on working  
as expected across all platforms for source files in UTF-8 (without  
BOM). This is now the official encoding for developing with Gosu.

Changelog:

- Functions for button id\<\>character conversion are class methods of  
Window now. Code doesn’t break when calling them as instance methods.

- Fixed name clash in CptnRuby.rb

- Fixed memory leaks in load\_tiles and from\_text (thanks to Galin  
Yordanov!)

- Hid mouse cursor over X11 window (thanks to acetoxy)

- Windows: Gosu ships with fmod.dll now (RubyGosu adjusted to find it  
magically) - no need to download seperately it anymore!

- 

From the amount of feedback and discussion I get via e-mail and find  
in other places, there seems to be a growing interest in Gosu, and in  
Ruby game development in general. (Chipmunk looks really promising  
too!) Does anyone know if there still are timed game development  
competitions anywhere? I think the Python people still hold a regular  
Pygame week, and we should show them what Ruby can do. 😉

- 

Also, I have seen conversations about Gosu’s design and progress here  
and in other places. As Bill K. has correctly stated on this list,  
many features such as collision detection are out of the focus for  
Gosu. There is simply a hundred ways to do it, in fact the tutorial  
games _both_ use collision schemes other than rectangular hit-boxes.  
The same is true for implementing a game’s object list, there are  
many different approaches how to handle objects that cease to exist  
in game logic. It even is a per-game decision whether to use Fixnum  
or Float object positions.

In light of this, I don’t think Gosu lacks, say, a core Sprite class–  
it’s even a good thing that it doesn’t get into anybody’s way by  
settling on _one_ way of doing things! What it does lack, however, is  
more example games, so any creative implementations of genres not  
present in the examples right now would be welcome contributions 🙂

And while Gosu intentionally leaves out a lot of ‘traditional’  
features, I can imagine that bridges to Chipmunk for physics or to  
RMagick for dynamic image creation could turn out very interesting.  
So stay tuned for new releases!

Julian

---

<div class="post-metadata">

**Author:** ![nex4k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@nex4k](https://www.ruby-forum.com/u/nex4k)\
**Post date:** [September 17, 2007, 4:13pm UTC](https://www.ruby-forum.com/t/gosu-0-7-5/114792/2 "2007-09-17T16:13:33Z")

</div>

Excellent news!  
I do hope that you’ll change your mind about collision detection.  
I think adding ‘optional’ modules for different approaches to  
collision would be good.  
Basically, consider this: there are many 2D game ‘types’ which all  
do a lot of the same basic things. Not only for collision, but for  
other behaviors. Offering some prebuilt stuff to work from would  
boost people’s use of Gosu further.  
They could be included and customizable.  
Some types: Platformer, Space shooter, Vertical Scroller / Horizontal  
scroller, Bird’s eye view, Isometric view, Pong/breakout stuff, Card  
Games, RPG, and more…  
I think the biggest challenge would be to get enough good code from  
people to put together a module library of these kind of starting  
points.

keep up the good work!

---

<div class="post-metadata">

**Author:** ![nex4k](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/n/9fc29f/32.png) [@nex4k](https://www.ruby-forum.com/u/nex4k)\
**Post date:** [September 17, 2007, 4:36pm UTC](https://www.ruby-forum.com/t/gosu-0-7-5/114792/3 "2007-09-17T16:36:38Z")

</div>

Thanks for the praise and feedback!

> I think adding ‘optional’ modules for different approaches to  
> collision would be good.  
> Basically, consider this: there are many 2D game ‘types’ which all  
> do a lot of the same basic things. Not only for collision, but for  
> other behaviors. Offering some prebuilt stuff to work from would  
> boost people’s use of Gosu further.  
> They could be included and customizable.  
> Some types: Platformer, Space shooter, Vertical Scroller / Horizontal  
> scroller, Bird’s eye view, Isometric view, Pong/breakout stuff, Card  
> Games, RPG, and more…

I think it is impossible to write good general libraries for potential  
projects in advance. There is only one way: Writing one serious game,  
maybe even two, see what they share and make it a library. This is how  
Gosu was conceived, and I will at least not change my mind on  
that… 🙂

One of my goals is to collect implementations of all sorts of 2D game  
genres, either in the examples or on the GosuUsers page. _When_ this  
has happened, and serious projects have grown out of some of these,  
_then_ one could start with the huge task of extracting high-level  
libraries to facilitate building even more games.

For now my focus will be on implementing what all those genres share,  
not what sets them apart. A system to structure games into different  
screens/states/subapplications (title screen/option screen/main game/  
highscore list…) is probably the first optional library that will be  
added to Gosu. There is a way to do it that has evolved over the  
years, in both small and medium-sized games by me and Florian G…  
After that, I hope to add a small GUI library based on that. And that  
is why a rock-solid way of entering text in Gosu applications is much  
closer on the radar than higher-level game features 🙂

Julian
