pixelpicosean / lesser-panda

[Deprecated] Module based HTML5 game engine
24 stars 5 forks source link

Panda vs LesserPanda JS #4

Closed karneaud closed 8 years ago

karneaud commented 8 years ago

Doing some research for a 2D web/ mobile web game project I want to develop and came across this. What is the difference between the 2 frameworks?

pixelpicosean commented 8 years ago

LP starts as a fork of Panda but has changed a lot. Take a look at the README and you'll get the idea :smile: Feel free to ask me any questions since I am really willing to introduce this framework to the public.

karneaud commented 8 years ago

I'm looking at the comparison of Panda's logic of using

game.createScene('Main', {
        backgroundColor: 0xb9bec7,

        init: function() {
            var logo = new game.Sprite('media/logo.png').center().addTo(this.stage);
        }
    });

as opposed to your

class Main extends Scene {
  constructor() {
    super();

    // PIXI instance
    let text = new PIXI.extras.BitmapText('It Works!', {
      font: '32px KenPixel',
    }).addTo(this.stage);

and I'm liking Panda's a bit more because its very more well organised and "modular" which follows a pattern similar to "AngularJS"

What was your reason for the change up? ES6?

pixelpicosean commented 8 years ago

Well let me tell the story :smile:

At the beginning I am a impact.js user and it is my favourite game engine so far. Then Panda comes out with impact.js style design but built PIXI inside for WebGL support, and says it's super fast for rendering. I made the decision to switch to Panda and used it for several client games.

I've always been enjoying coding games with Panda until the version 2 launches which removed the WebGL support and the development slows down. Without WebGL support Panda means useless to me. Only IE9 and IE10 don't have WebGL support, and WebGL has been widely support on mobile devices and that makes PIXI a better choice for good performance.

As time goes on, LesserPanda deprecated the impact.js style class and module system which brings even better performance. And then I added ES6 support, refactored modules, things are doing good IMO.

So far the LesserPanda is just something built for my own and it serves all of my games pretty well.

Maybe 2 months ago, I started to add complete new things into the engine which makes it much better than Panda now. The most important one is tag which is supported by all of the built-in sub-systems including Object, Timer and Animation. Motivation for this tag system is to make partially pause/resume easier. You can pause animations tagged with "game" and still have "ui" animations running smooth. Try it and you'll like :smiling_imp:

And a new Animation system has been added, which includes both traditional tweening and a Flash like timeline Action. I am also building a visual editor which will support Action animation data export in the future (not soon since I am too busy recently).

Behavior is the latest concept I am working on. If you have experience with Construct2 or Stencyl, you'll like this concept. Basically behaviors are complete logic code, let's say a "platformer" behavior will make any object able to walk and jump like Mario, or a "facing mouse" behavior turns a sprite looking at your mouse. This kind of thing will be your best friend while prototyping new idea. Keep your eyes on, this feature will soon be available after I finished experimenting several designs. You can think this feature as a Component system.

LesserPanda is what I am using everyday, and powers all of my games. In this case LP is better right?

Documents are lacking, I am going to add them when I got more time. And thank you for trying :smile_cat:

karneaud commented 8 years ago

I am interested in LesserPanda as it seems to be more active than Panda at the moment given that Panda has issues with installation.

I am also considering Phaser but IMO phaser is too bulky and the performance on older phones was a bit disenchanting.

Lesser seems a bit more compact and lightweight and I'm all for this because my projects are usually small and not as complex and elaborate.

What has me reluctant at the moment is the fact that it is a new framework and has little documentation. Would we by chance be able to scope out some of your work as testimony of its real life benefits? '

pixelpicosean commented 8 years ago

@karneaud API document is out, take a look at the weekly #3 for more details.

karneaud commented 8 years ago

@pixelpicosean NICE WORK ...right now I'm using PhaserJS but i have some smaller projects in the pipeline so I'm hoping to try it out. gonna look at the api