[ANN] Gosu 0.7.5

J

Julian Raschke

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 Kelly 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
 
J

John Joyce

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!
 
J

Julian Raschke

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 Gross.
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
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,899
Latest member
RodneyMcAu

Latest Threads

Top