guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Guile Game Library


From: David Thompson
Subject: Guile Game Library
Date: Tue, 28 May 2013 20:30:43 -0400
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130514 Thunderbird/17.0.6

Hello all,

In my free time I like to tinker with game development, and I also like to tinker with Guile. I come from a Python background where I used such libraries as Pyglet and Pygame. These libraries were easy to use and had all the conveniences for making 2D games (Pyglet sports a full GL binding for doing more advanced stuff as well). I haven't found a similar library for Guile. Is there one that I haven't discovered?

If there isn't, one should be made. Pygame is a fun treat for new Python programmers, and I think a similar library for Guile would be even more fun. :) In the past I've tried to wrap the Allegro 5 library using the Guile C API, and also with the FFI. My experience doing so lead me to the conclusion that a game library developed completely in Guile, not just a mere wrapper, would ultimately be much more satisfying.

Now, how would this be achieved? I looked briefly at the source code of Pygame and Pyglet and learned the following: Pygame uses the Python C API to wrap up a bunch of SDL calls. Since Pygame uses SDL, the graphics functions use a software renderer which isn't optimal. Pyglet doesn't seem to use any C code and instead uses the FFI. Pyglet sports OpenGL, X11, and FreeType bindings to name a few. I personally prefer this development model over Pygame's.

What Guile libraries already exist that can provide needed functionality? (Windows, Graphics, Sound, Keyboard/mouse/joystick input, Fonts, Physics, etc.)

What libraries would best suit this purpose? Figl (wingo's GL binding) is an obvious choice, as well as a Freetype binding (that I'm not sure exists). But what about the other important pieces such as sound and input?

Thanks, Guilers!

- Dave



reply via email to

[Prev in Thread] Current Thread [Next in Thread]