guile-user
[Top][All Lists]
Advanced

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

Re: [ANN] Sly 0.1 released


From: Nala Ginrut
Subject: Re: [ANN] Sly 0.1 released
Date: Sat, 14 Nov 2015 01:50:36 +0800

Good job!

2015年11月13日 21:48,"David Thompson" <address@hidden>写道:
Greetings Guilers,

I am happy to announce the release of Sly 0.1.  I've been sitting on
this code for a long time now, and it's great to finally release it.

Download
--------

0.1 release tarball: http://files.dthompson.us/sly/sly-0.1.tar.gz
SHA1
: 9936a8f6ac62a276919134cb92546620475a1c29

About Sly
---------

Sly is an experimental 2D/3D video game engine written in pure Guile
Scheme.  It builds upon OpenGL and SDL to provide a fun, hackable
environment for writing games.  Think of it like Emacs but for games.
Unlike traditional game engines which focus on imperative
object-oriented programming with mutable data, Sly exposes a functional
interface and promotes the use of persistent, immutable data structures.

The REPL takes center stage in Sly, as it should.  Rather than the
traditional edit, compile, restart cycle of game development, games
written in Sly can be easily changed at runtime thanks to the integrated
REPL server.  To develop a game with Sly, you start with a blank screen,
connect to the REPL server, and iteratively build the game model and
interactive features.  Using Emacs + Geiser for this is a joy, BTW.

Video game state changes are very asynchronous which manifests in most
game engines as a collection of event-based callback functions, or
"callback hell" for short.  In Sly, this is abstracted and formalized
into a "functional reactive" programming interface.  "Signals" are
used to represent time-varying values, and hackers can use analogs of
the usual functional friends (map, fold, filter, etc.) to transform
signal values with respect to time.  The result is a more declarative
program that automatically responds to state changes.

This initial alpha release of Sly features many example programs
(found in the 'examples' directory) to show off basic features.  This
includes things like a Minesweeper clone, a 2048 clone, and Conway's
game of life.

Sly is still a young project with many limitations:

* No 3D model loading
* Half-baked interface to GLSL shaders
* Slow rendering engine
* No sound effects or music
* No lighting
* No sprite batching
* No instanced rendering
* Still using SDL 1.2 instead of the much improved SDL 2.0
* Incomplete documentation

Help wanted!  I've learned a lot about OpenGL so far, but I could use
more hands to help improve the renderer's feature set and performance.

Sly is licensed under the GNU GPL version 3 or later, because there's
enough permissively licensed game engines as it is.

In lieu of a mailing list or bug tracker, feedback and bug reports can
be sent directly to my personal email address.  Please join #sly on
Freenode for friendly discussion about the project.

More information, including (incomplete) documentation, can be found
on Sly's home page: <http://dthompson.us/pages/software/sly.html>

My search for a more enjoyable way to build video games was what lead me
to the Guile community just over 3 years ago now.  It's been quite the
ride!  I hope that you enjoy Sly and see the potential for its future
development.

Happy hacking!

--
David Thompson
GPG Key: 0FF1D807


reply via email to

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