gnu-linux-libre
[Top][All Lists]
Advanced

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

[GNU-linux-libre] Packaging JavaScript games, Was: Adding some scummvm g


From: Denis 'GNUtoo' Carikli
Subject: [GNU-linux-libre] Packaging JavaScript games, Was: Adding some scummvm game(s) to the "List of software that does not respect the Free System Distribution Guidelines"
Date: Tue, 13 Jun 2023 18:53:27 +0200

On Mon, 12 Jun 2023 21:28:41 -0400
Richard Stallman <rms@gnu.org> wrote:
>   > i could add too, that what i wrote previously would have been
>   > true 10 years ago
>   > - today, there is a trend toward web-bound javascript, pocket
>   > phones, and VR head-sets - if most game development moves into
>   > those areas, i would predict the result to be a much smaller
>   > percentage of games being freely-distributable, than ever before
>   > - software on those platforms is not "distributed" in the
>   > conventional sense - it is downloaded into memory upon use
>   > (possibly guarded by some DRM mechanism), and discarded when the
>   > "app" exits
> 
> This is a very bad trend -- as is use of Javascript in general.  We
> should try to discourage it if we can -- but is there anything we can
> do?
> 
> Could we possibly help and encourage people who develop games in JS
> to release them also so that a user can install a game on per own
> computer?
I've started looking into it because there are people in the ASCII art
community and free software fonts communities (like velvetyne) that
write JavaScript games and at least some of them are free
software[1][2] (I've only reviewed one so far but there seems to be
more).

One of the issue here is finding how to properly package and integrate
such games in FSDG distributions. A way could be to package the HTML
page and somehow find a way to properly launch a browser to play the
game. 

This needs a bit of research as we'd also need not to interfere with
users browser usage and games might need special settings to work[3],
or might need a browser patched to remove privacy protections or with
different kind of protections.

Another could be to somehow serve the html files and generate a web
page that points to the all the installed games and expect users to go
to that web page (http://localhost).

I've also looked at other approaches but they don't work:
- NodeJS didn't work as the game expected to run in a browser and was
  using the web browser to be displayed and NodeJS is incompatible
  with that (it can't modify the content of a web page like the game
  does).
- gjs (some gnome JavaScript interpreter) also has the exact same issue:
  (gjs:4225): Gjs-CRITICAL **: 18:04:30.221: JS ERROR: ReferenceError:
  document is not defined
- quickjs has the same issue:
  ReferenceError: 'document' is not defined
- Deno has the same issue:
  error: Uncaught ReferenceError: document is not defined

Here what enabled me to find that out is that I went to a local event
about ASCII art that was oriented toward art and politics and was not
promoted inside the free software communities.

So it's also worth sometimes going in other communities to discover
completely new worlds, and sometimes some of the people and/or
communities are deeply connected to the free software philosophy
despite not being well known inside the most famous free software
communities (like GNU, distributions, free software user groups, etc).

References:
-----------
[1]https://gitlab.com/adelfaure/joan-jump.git
[2]The (GPLv3+) license declaration is inside the html page.
[3]For joan-jump, I can run it if I serve the game with a web server
   but I didn't manage to run it locally yet because iceweasel seems to
   block external JavaScript, even JavaScript from the filesystem when
   using local files.

Denis.

Attachment: pgpmIdsVun0y5.pgp
Description: OpenPGP digital signature


reply via email to

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