I have used 8th programming language [1], a Forth, where the same code
compiles to Linux, Windows, Android, OS X and iOS. SDL2 is on all
platforms, and there are games made with it, so maybe the same could be
done for PicoLisp. The Red Language libs and all is under 1mb [2], and it
too is targeting multi-platform, so I think there is a niche for PicoLisp
here too.

Rob

  [1]  http://8th-dev.com/
  [2]  http://www.red-lang.org/

On 22 April 2016 at 15:27, Robert Herman <rpjher...@gmail.com> wrote:

> At first, I only wish to create something quick, so I am ready for the
> game jam. I can add platforms or polish later. I think what you are
> suggesting is embedding miniPicoLisp as a scripting language, if I
> understand you and PicoLisp correclty.
>
> I am really looking to use miniPicoLisp as the game framework, only
> leaning on SDL2.0 or CSFML as the engine underneath to deal with keyboard
> i/o, event handling, sound, graphics and networking. I guess maybe it's the
> same thing?
>
> Rob
>
> On 22 April 2016 at 15:18, Jakob Eriksson <ja...@aurorasystems.eu> wrote:
>
>>
>> I'd say it's rather simple to embed minipico into any framework
>> which can be used with plain C.  So that should open up Android
>> and iOS too. Although never underestimate the practical troubles
>> with compiling on 4 platforms if you are only one developer. :)
>>
>> Been there, done that. :)
>>
>> // Jakob
>>
>>
>> On 22/04/16 04:24, Robert Herman wrote:
>> > All true Alex and Jakob.
>> >
>> > I am not trying to develop something professional, so that leaves me two
>> > choices:
>> >
>> > 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 itch.io <http://itch.io> 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:
>> >       o https://rxi.itch.io/pulsr
>> >       o https://github.com/rxi/ari
>> >       o 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).
>> >       o 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.
>> >       o 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!
>> >
>> > Rob
>> >
>> > 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 <ja...@aurorasystems.eu
>> > <mailto:ja...@aurorasystems.eu>> 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
>> >     >
>> >     --
>> >     UNSUBSCRIBE: mailto:picolisp@software-lab.de
>> >     <mailto:picolisp@software-lab.de>?subject=Unsubscribe
>> >
>> >
>> --
>> UNSUBSCRIBE: mailto:picolisp@software-lab.de?subject=Unsubscribe
>>
>
>

Reply via email to