All true Alex and Jakob.

I am not trying to develop something professional, so that leaves me two

1. Implement a very simple framework, and handcraft all of the requirements
it in miniPicoLisp (thx Christophe! I had put it aside for a year and
forgot) that wraps SDL2, which is C-based, and then I can distribute the
miniPicoLisp executable for the target platform (Windows, Linux, Mac) with
the SDL2.dll or .SDL2.a and other data files (.jpg, .ogg or .wav, etc...).

   - This is a perfect real world example of this path. A guy whose handle
   is rxi on and Twitter created a "Lisp-shaped" language called
   aria, and then did a jam with it in a final game called pulsr. Aria is very
   minimal - no vectors or hash maps, only lists, but supports lambdas,
   macros, has a garbage collector and a C api:
      - You can download both, build aria, and then extract pulsr. In pulsr
      there is a folder called pak0. Add .tar.gz to the end of the folder name
      (pak0.tar.gz), and extract it. You will then have a folder with
the source
      to the game. Delete the pak0 folder or move it, since the pulsr exe will
      try and execute that first (per rxi, I haven't tested it).
      - He basically modularized his framework in a lot of files. No
      criticism from me, but I would like to base mine on a more traditional
      frame, or skeleton for doing future jams.
      - miniPicoLisp should work. No multi-player without networking, and
      no db to hold entity structures like maps or characters, but SDL2 has all
      of the input/keyboard handling, graphics and sound covered for you. So
      maybe simply wrapping SDL2 and creating a better structure or framework?

2.  Copy an existing JS game framework (Phaser), and make it programmable
in PicoLisp proper, and just export JS/HTML5/CSS. You have done a lot of
the work on this already, I believe.

I am favoring option 1, and not distributing to Android and iOS for now. I
see option 2 as a viable future path. I also prefer CSFML over SDL2. SFML
(C++ - based) is another media/game library, and CSFML is the official C
port of it. But, SDL is very popular and easy to find a lot of tutorials
online. With game jams and small stuff, C is preferable over C++. SDL1.2
(old), and SDL2 are both C-based.

Would the OpenGL wrapper in PicoLisp work in miniPicoLisp, or not due to
floats, or big nums, and what else would I need to add to miniPicoLisp to
allow it to do so? The goal is to stay neutral, no Posix requirements.

I have a few days off coming up, and I am going to start on option 1. I
will put it up on Github if I get anywhere next week. Only 7 days and 1
hour until the LGJ!


PS: I have reposted this, since I left the subject off the last time I hit
Send, and I did not see it on the list. Forgive any unintended double
posts. Thanks.

On 20 April 2016 at 13:23, Jakob Eriksson <> wrote:

> Actually, I find that you can statically link most libraries on
> Linux and that tends to remove almost all distribution problems.
> best regards,
> Jakob
> On 20/04/16 07:57, Alexander Burger wrote:
> > Hi Rob,
> >
> >> HTML5, JS and family come into the picture when you want to distribute
> or
> >> share your game. Distribution is king, and sadly it is asking too much
> to
> >> have a basic user/player to install PicoLisp so they can play your game,
> >
> > Yes, that's the problem. As long as you go for a native Linux solution,
> > using C libraries and GUI, you run into trouble with distribution. There
> > are so many different Linuxes around that it becomes a full-time job to
> > provide turn-key packages for all of them. I addition, PicoLisp may run
> > also natively on Windows now that Microsoft jumped onto the train.
> >
> > An online implementation doesn't have these problems, but has other
> > limitations.
> >
> > As I said, it all depends on the type of game, and on which is based.
> > Some JavaScript framework is probably the easiest, it would communicate
> > with a PicoLisp server in a similar way as @lib/canvas.l and
> > @lib/canvas.js, using XMLHttpRequest().
> >
> > ♪♫ Alex
> >
> --

Reply via email to