[ANN] Sly 0.1 released

From: David Thompson Subject: [ANN] Sly 0.1 released Date: Fri, 13 Nov 2015 08:48:37 -0500 User-agent: Notmuch/0.20.2 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-unknown-linux-gnu)

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

