From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Panicz Maciej Godek Newsgroups: gmane.lisp.guile.user Subject: SLAYER announcement and help request for preparing a GNU package Date: Sat, 4 May 2013 23:54:44 +0200 Message-ID: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/alternative; boundary=20cf3071c82ef5227404dbeb83df X-Trace: ger.gmane.org 1367704499 30490 80.91.229.3 (4 May 2013 21:54:59 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sat, 4 May 2013 21:54:59 +0000 (UTC) To: "guile-user@gnu.org" Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat May 04 23:54:59 2013 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1UYkPx-00032g-M0 for guile-user@m.gmane.org; Sat, 04 May 2013 23:54:57 +0200 Original-Received: from localhost ([::1]:59176 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYkPx-0007A9-Cp for guile-user@m.gmane.org; Sat, 04 May 2013 17:54:57 -0400 Original-Received: from eggs.gnu.org ([208.118.235.92]:42088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYkPn-00079t-5K for guile-user@gnu.org; Sat, 04 May 2013 17:54:48 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UYkPl-0005oX-J6 for guile-user@gnu.org; Sat, 04 May 2013 17:54:47 -0400 Original-Received: from mail-vc0-f172.google.com ([209.85.220.172]:36382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UYkPl-0005oT-Dh for guile-user@gnu.org; Sat, 04 May 2013 17:54:45 -0400 Original-Received: by mail-vc0-f172.google.com with SMTP id hx10so2273833vcb.31 for ; Sat, 04 May 2013 14:54:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:date:message-id:subject:from:to :content-type; bh=kadEl4Vf86SJRC571ilLRtPWupwo/H8g2D4SiBsSuBw=; b=IqPsv2VeMiNihDzrUBhPNJQKB0jWV4oer6z084cwtfkwGFZhfDqqaX1TGkxHkcGBMe n72KQLlp/sY1Fp9df8TMw65rfWc/hvThbtTvgRUFcKxjG8B4HIbi+8SOtjcksYCmn0n+ T8zprH3A3hydt/oRHf7qTFOsm47N3Ccr7urrsWRul7E09650mbetpi6UtItb0OY5WcZU UmIYxt8Nh3B/FZMjU4buUYFm7WtuZFNuHetA6pLyd48N7s5a8o4vQf9wnbG1CnuOB45s JZp2m5KYYps1PKrn0xeqrO2k9tDXZrd5ecNdGmW4Iz3yU/6TZyQY1qnhdgV4JzYRLNXh XhnQ== X-Received: by 10.52.74.35 with SMTP id q3mr4466142vdv.39.1367704484518; Sat, 04 May 2013 14:54:44 -0700 (PDT) Original-Received: by 10.220.141.10 with HTTP; Sat, 4 May 2013 14:54:44 -0700 (PDT) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-Received-From: 209.85.220.172 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:10307 Archived-At: --20cf3071c82ef5227404dbeb83df Content-Type: text/plain; charset=ISO-8859-1 Hi everyone, I've developed a piece of software that I named SLAYER, by combining the letter 's' with the word "layer", or replacing the 'p' letter with 's' in the word 'player'. Either way, slayer can be thought of as a simpler alternative for wrapper libraries such as guile-sdl and guile-opengl, or as a programming environment that is in a way competetive to Adobe Flash (with standalone player). But obviously, it is something completely different. I made this program as a base for research in GUI design, but it also contains a stub of a 3d game engine that I'm planning to implement -- which explains native support for OpenGL. I recently thought that it also could be a great platform for teaching kids to program games, because -- once compiled and linked -- it could be distributed as a standalone package, that requires no additional tools. The program is available through mercurial on bitbucket: hg clone https://bitbucket.org/panicz/slayer The repository contains README file, which lists packages that are needed to build. Except a little mess, there are two demos that show the possibilities of the system. The first one with the command: $ ./slayer -e3d The -e3d option is needed to enable the "3d" extension, which is required by the demo. It allows to move around in a 3d space using mouse and WSAD keys. There's also a draggable icon and a simple text-console, which accepts s-expressions (evaluated using f1 key). It is activated with a click, but for some reason the cursor isn't always displayed. The source file is slayer.scm. The second demo is the classical arcade PONG game (for two players). It's written in the raw guile+slayer, so it's pretty lengthy (~160 lines), but it should be easily understandable. PONG can be run using $ ./slayer -i pong.scm Both demos use sound, which can be disabled by passing the --nosound option in the command line. PONG can also receive the -e3d option, which would force it to use opengl for display. Other command line options are undocumented, but they can be easily found in slayer.c. I admit that the lack of any documentation can now be the most seriously discouraging factor, but I promise to respond to every question eagerly. The second most seriously discouraging factor would be the build process, which could require manual editing of the Makefile, among others. It would be lovely to use the GNU autotools, but they seem so complicated, and I thought that since you might have more experience with those, you could help me to prepare a decent release, and perhaps to reorganize the structure of the source code. Perhaps the third most seriously discouraging factor (except some random crashes that still happen) would be the lack of certain features: I'm trying to apply the 'lazy implementation' strategy and add SDL/OpenGL features only as I need them, and also my priority is to keep interfaces simple, even at the cost of programmer's freedom (so for instance, there's no option for choosing color index mode in OpenGL, or some other SDL video mode than the default). Despite those factors, I'd be happy to hear some feedback from you. Best regards, M. --20cf3071c82ef5227404dbeb83df Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
Hi everyone,
I've developed a piece of softw= are that I named SLAYER, by combining the letter 's' with the word = "layer", or replacing the 'p' letter with 's' in = the word 'player'.

Either way, slayer can be thought of as a s= impler alternative for wrapper libraries such as guile-sdl and guile-opengl= , or as a programming environment that is in a way competetive to Adobe Fla= sh (with standalone player). But obviously, it is something completely diff= erent.

I made this program as a base for research = in GUI design, but it also contains a stub of a 3d game engine that I'm= planning to implement -- which explains native support for OpenGL. I recen= tly thought that it also could be a great platform for teaching kids to pro= gram games, because -- once compiled and linked -- it could be distributed = as a standalone package, that requires no additional tools.

The program is available through mercurial = on bitbucket:


The repository contains README file, = which lists packages that are needed to build. Except a little mess, there = are two demos that show the possibilities of the system. The first one with= the command:

$ ./slayer -e3d

<= div style>The -e3d option is needed to enable the "3d" extension,= which is required by the demo. It allows to move around in a 3d space usin= g mouse and WSAD keys. There's also a draggable icon and a simple text-= console, which accepts s-expressions (evaluated using f1 key). It is activa= ted with a click, but for some reason the cursor isn't always displayed= . The source file is slayer.scm.

The second demo is the classical arcade PON= G game (for two players). It's written in the raw guile+slayer, so it&#= 39;s pretty lengthy (~160 lines), but it should be easily understandable. P= ONG can be run using
$ ./slayer -i pong.scm

Both= demos use sound, which can be disabled by passing the --nosound option in = the command line. PONG can also receive the -e3d option, which would force = it to use opengl for display.

Other command line options are undocumented= , but they can be easily found in slayer.c. I admit that the lack of any do= cumentation can now be the most seriously discouraging factor, but I promis= e to respond to every question eagerly.

The second most seriously discouraging fact= or would be the build process, which could require manual editing of the Ma= kefile, among others. It would be lovely to use the GNU autotools, but they= seem so complicated, and I thought that since you might have more experien= ce with those, you could help me to prepare a decent release, and perhaps t= o reorganize the structure of the source code.

Perhaps the third most seriously discouragi= ng factor (except some random crashes that still happen) would be the lack = of certain features: I'm trying to apply the 'lazy implementation&#= 39; strategy and add SDL/OpenGL features only as I need them, and also my p= riority is to keep interfaces simple, even at the cost of programmer's = freedom (so for instance, there's no option for choosing color index mo= de in OpenGL, or some other SDL video mode than the default).

Despite those factors, I'd be happy to = hear some feedback from you.

Best rega= rds,
M.

--20cf3071c82ef5227404dbeb83df--