deejoe / sugarizer-lite

A lightweight, shallow-clone fork of Sugarizer stripped of the two largest activities
Apache License 2.0
3 stars 5 forks source link

Libraries for re-implementing activities from other languages into JavaScript #5

Open ghost opened 4 years ago

ghost commented 4 years ago

This is for discussing the use of various libraries and tools to use in re-implementing the existing Python Sugar Desktop activities into Sugarizer using JavaScript.

So far mentioned have been Godot and Pixi JS.

Please discuss here, and add links to projects, tutorials, development version downloads and so on.

DennisSSDev commented 4 years ago

https://threejs.org/ is a good renderer that includes a number of features that you can use. With the range of features it's also a bit low level, that can stagger your progress a bit. @nolski had suggested to use the https://www.babylonjs.com/ which is an abstraction and more higher level than 3.js. For anything in between like animation and sounds use https://www.createjs.com/ . It's been battle tested by me in a number of projects as well as real production at companies. All of these libraries are also open source.

ghost commented 4 years ago

Thanks for the links and the suggestions! I just took a quick look to check the licenses and yeah those look fine.Also it doesn't seem like there's a complex build process to use them. createjs looks like it breaks the project down into constituent pieces if one only wants to use part of it, I guess? That might be a boon or a complexity, not sure.

iclare commented 4 years ago

There's also https://phaser.io/. It's focused on 2d games and seems similar in spirit to PyGame.

DennisSSDev commented 4 years ago

If your game doesn't require a lot of functionality, you can simply use the canvas API: https://developer.mozilla.org/en-US/docs/Web/API/Canvas_API I and @ymoullec have gone ahead and started using it and it's doing all the work we ever needed (so far).

deejoe commented 4 years ago

On Sat, Apr 25, 2020 at 05:07:14PM -0700, Ian Clare wrote:

There's also https://phaser.io/

Thanks!

Code on GitHub under an MIT license,

https://github.com/photonstorm/phaser/blob/master/LICENSE.md

ghost commented 4 years ago

I did not anticipate that the two libraries discussed in the opening comment of this issue would come up in the same development issue, but they have.

First, Pixi JS was proposed:

https://github.com/ritjoe/sugarizer-lite/issues/17#issuecomment-619459426

ghost commented 4 years ago

... and then Godot was proposed

https://github.com/ritjoe/sugarizer-lite/issues/17#issuecomment-619519704

ghost commented 4 years ago

@DennisSSDev

Not to neglect your point about @ymoullec and your efforts with the Canvas API I just want to say that that's a great point and I look forward to seeing how it turns out.

I'll also note that sets one end of a broad range of options, from using no third-party libraries at all (Canvas) to using a substantial third-party development platform (Godot).

ghost commented 4 years ago

We've had mention of Pixi JS but there are no links to it in this issue, so:

Its main page: https://www.pixijs.com/

and its repository: https://github.com/pixijs/pixi.js

ghost commented 4 years ago

p5js also got a passing mention at some point. I've thought of it again because I'v suggested running it as a test case for browser/OS functionality/compatibility in https://github.com/ritjoe/sugarizer-lite/issues/16