Jump to content

Panda2 on gamefromscratch !


pstrejczek
 Share

Recommended Posts

4 hours ago, WombatTurkey said:

Was extremely giddy, but then realized i'm with Godot now

How're you finding the Godot experience? I took a peek at it when I was looking for my tool, but in the end settled for Panda because it's so lightweight (and effective, which is a very nice combo)

Also, it's never too late to join the darkside. ?‍♀️

Link to comment
Share on other sites

7 minutes ago, Wolfsbane said:

How're you finding the Godot experience? I took a peek at it when I was looking for my tool, but in the end settled for Panda because it's so lightweight (and effective, which is a very nice combo)

Also, it's never too late to join the darkside. ?‍♀️

I love it! I had my game almost finished in Phaser, and it was going to be packaged w/ Electron, but found Godot never looked back. I was always checking out Panda 1 back then, so to see this Panda 2 just makes me extremely happy. Not only to me, but to the developer, and most importantly the game dev community 

Link to comment
Share on other sites

@WombatTurkey I agree. Godot is awesome. I have made a little test project myself when it was around version 1.3 and downloaded the last 3.1 alpha lately and man, what a progress they made. 3.0 was not fun because of compatibility with GLES3 only, but now when GLES2 comes back with 3.1 Godot is awesome again!

What I like in Panda2 is that it does not force me to do things in a certain way (as Godot does with the concept of nodes - which is awesome, but not universal) but allows me to do things the way I want. It's almost the same flexibility Love2D offers. 

If I was making my game to be released for desktop or Steam I would definitely go with Godot or Love2D. For mobile or web Panda2 is for the moment my no1. engine of choice. 

Link to comment
Share on other sites

@Wolfsbane Godot is also very lightweight and a pleasure to use. It is just much more an engine with quite a lot of concepts which you have to follow (nodes, dedicated scripting language (similar to Python) etc. ) which is not bad if you learn them and like them. Panda2 on the other hand just gives you more basic tools and Javascript - the most popular programming language at the moment. It is maybe to soon to compare Godot to Unity, but Godot editor is much more clear and optimal. Unity editor look like a nuclear plant control software :)

 

Link to comment
Share on other sites

@pstrejczek Hey I agree Panda is really awesome and really need the lime light. You mentioned that you would use Love2D or Godot for a Steam /Desktop release. Any specific reasons for this? Have you heard of Gideros - its is extremely similar to Panda in it's workflow + free and maintained by a passionate community. The HTML5 Gideros produces is slow and has a lot of problems (lua emulated) - no way I would use it, but for Desktop you might be surprised at how similar it is to Panda and how awesome it is to use.

Personally, I would love to be able to use Panda as a one stop shop - so knowing why it might not be ideal on Steam would be interesting - is it mainly achievements? Perhaps @enpu can think about possibly adding some Steam integration in the future (achievements etc.)

Link to comment
Share on other sites

@Ninjadoodle I have tried Gideros and I agree it is very nice. What I dislike is that it requires GLES3 to work. If you have an older graphics card which supports only GLES2 the current Gideros version does not work. You can use the editor but the runner crashes. This is actually the only reason I'm not using Gideros. The editor is also a little rough.

What I like about Love2D is that it is basically only a framework and I can use the Visual Studio Code with an awesome Love2D plugin to code. It is also quite easy to deploy executables. There is also quite a few games (like Move or Die https://store.steampowered.com/app/323850/Move_or_Die/) created with Love2D which already are on Steam. As it is one of the oldest free frameworks there is a ton of libraries and tutorials for various things.

 

With both Godot and Love2D you can create reasonably small executable versions. 

I think you could quite easily pack Panda2 game as electron app and include streamworks plugin with https://github.com/greenheartgames/greenworks but there are several disadvantages:

- I'm a little concerned about the game performance - this could be an issue (but maybe not)

- It would be hard to debug when something will work wrong only in the desktop version 

- the size of the executable project  (when you add electron) is quite big even for very simple things. I have read somewhere that in the future electron will be customizable when you create a build, but I'm not sure if it is done yet.  

Link to comment
Share on other sites

@pstrejczek - Thanks heaps for the detailed explanation :) 

I'm lucky, as Gideros runs on my PC. I'm also not a 'real' coder so for me, the editor is quite sufficient. I know some people are also using ZeroBrain (I think that's what it's called).

This post is quite interesting, as I often wonder what the best way would be to deploy a bigger project, for let's say XBox One / Steam. Microsoft seem to be recommending HTML5 technologies, yet there seems to be some issues in wrapping.

I guess the only way to find out is to do some tests.

Link to comment
Share on other sites

4 hours ago, pstrejczek said:

@WombatTurkey I agree. Godot is awesome. I have made a little test project myself when it was around version 1.3 and downloaded the last 3.1 alpha lately and man, what a progress they made. 3.0 was not fun because of compatibility with GLES3 only, but now when GLES2 comes back with 3.1 Godot is awesome again!

What I like in Panda2 is that it does not force me to do things in a certain way (as Godot does with the concept of nodes - which is awesome, but not universal) but allows me to do things the way I want. It's almost the same flexibility Love2D offers. 

If I was making my game to be released for desktop or Steam I would definitely go with Godot or Love2D. For mobile or web Panda2 is for the moment my no1. engine of choice. 

Yeah. I was first doing a browser only game, but then transitioned to targeting desktop natively (I could kinda do that if I packaged w/ Electron), didn't feel like that was right for my game. I also really loved the UI nodes in Godot. Has one of the most underrated UI systems to date imo, especially in a free open source game engine. If I were to do a mobile/browser game now, I would have chosen impactjs, but now since Panda 2 is out, it's between  that or Phaser 3. 

I also tried love2d, but their skeleton animation libraries and UI (compared to Godot's) are very lackluster. Their Spriter addon doesn't support animation transitiong, but their Spine module does. Which you'll need $70 for that. However, a better programmer than me could just add in that by themselves, so each case is different. I'm just lazy :P. Their tiled support and performance is off the walls, and lua is sooo nice.  

Link to comment
Share on other sites

@WombatTurkey You could try DragonBones which is free and exports to Spine format and then try it with the Love Spine library. I haven't tried this myself though. DragonBones crashes sometimes but it is also quite superior in features to Spriter (which I also bought some time ago). There is a problem with correct Spriter support in many game engines. Panda2 also supports only Spine for the moment. 

I agree with the UI problem in Love2D. There is a lot of different better or worse libraries but nothing standard and well documented.

For mobile and browser, I would also go with Panda (and I actually did :), although my game is still not released - I just need to solve one little collision bug and export it with phonegap). 

Link to comment
Share on other sites

2 minutes ago, pstrejczek said:

@WombatTurkey You could try DragonBones which is free and exports to Spine format and then try it with the Love Spine library. I haven't tried this myself though. DragonBones crashes sometimes but it is also quite superior in features to Spriter (which I also bought some time ago). There is a problem with correct Spriter support in many game engines. Panda2 also supports only Spine for the moment. 

I agree with the UI problem in Love2D. There is a lot of different better or worse libraries but nothing standard and well documented.

For mobile and browser, I would also go with Panda (and I actually did :), although my game is still not released - I just need to solve one little collision bug and export it with phonegap). 

Thanks, that's very good to know! I'm excited to see your Panda 2 game =]. A lot of things happened when I was gone, impactjs went open source, Panda 2 is out.. Phaser 3 is out.. It's like a kid in a candy store :D 

Link to comment
Share on other sites

@Ninjadoodle Wrapping HTML5 app into UWP app is actually not that hard. I have even tried it myself on a simple HTML5 document. It is very well documented by Microsoft. I haven't tested it with bigger projects so there may be some quirks, but the support is quite good so I don't think it would be very hard to solve any potential problems.

Link to comment
Share on other sites

On 9/20/2018 at 12:42 PM, pstrejczek said:

If I was making my game to be released for desktop or Steam I would definitely go with Godot or Love2D. For mobile or web Panda2 is for the moment my no1. engine of choice. 

This is an interesting twitter thread I read a while back around Electron/Hybrid builds vs Native App's. Not specific for games, but in general.

I'm really on the fence about what I think of Electron apps. It's definitely exploding. In theory, or at least, from a purist point of view maybe it doesn't seem like a good idea(native apps are only going to perform better, bottom line), but it's kind of doing alright for itself regardless. VS Code, Atom, and of course, our Panda editor are Electron apps, and they've got a great user experience, and perform really well in my experience. 

Games are different because of their performance requirements, but... I kind of feel like Electron built apps should be at the point that they perform more than well enough for an Indie developer. And Javascripts such a versatile little language that you can use just about anywhere. (or find resources to help just about anywhere!). 

Link to comment
Share on other sites

@Wolfsbane - Yeah I agree with you, I think that speed is getting a little redundant for casual type games. I think that most of us here are making things that would run just fine on mid range devices and desktops.

The problem I think is when you get down to plugging in all the extras - in this example, things like steam achievements etc. Some engines have official plugins, which would probably easy the process quite a bit.

I also feel like using an engine that's only native and has no way of supporting html5 is possibly a little 'dangerous' (depends how you look at it).

Everything sees to be going the cross platform direction, and I wonder whether some of these native only engines have a long life.

I'm genuinely just thinking out loud here and honestly don't know what I'm talking about lol, but this discussion is cool :)

Link to comment
Share on other sites

@Wolfsbane  That's why I wrote that the performance may be a problem but also may not. The games which were published on steam with the greenworks plugin for Steamworks look quite complicated and I guess they perform well. What concerns me the most is the size of the electron project. I'm not sure if this is customizable now, but some time ago a simple electron app was about 100Mb and that is insane - just imagine a 100Mb Pong game. Panda 2 editor is about 200Mb at the moment.

Elliot's Quest - quite popular game which was originally made with HTML5 was rewritten for Steam and consoles - I don't know the reason but I guess there could be issues we are not aware of at the moment,

Anyway, I think web assembly will be the future solution for web in cross-platform engines. Engines like Unity, Unreal or Godot will export to web assembly and will probably perform faster than something that was written in javascript. This way you can cover almost everything from one project/codebase. One can not predict the future, but if web assembly will have good and uniform support in the major browsers I think that is the way things will go.

 

Link to comment
Share on other sites

1 hour ago, Ninjadoodle said:

The problem I think is when you get down to plugging in all the extras - in this example, things like steam achievements etc. Some engines have official plugins, which would probably easy the process quite a bit.

Steam has a Web API. Also, the broader issue of lack of accessibility shouldn't actually be a problem for Javascript engines. Everyone has a Javascript something. Unity has the option to use JS, Godot, I think, you can use JS, etc, so I'd actually say using Js sacrifices all those good things like Pstrejczek's pointed out, but it should actually give your game a lot of flexibility to do just about anything.

1 hour ago, Ninjadoodle said:

I'm genuinely just thinking out loud here and honestly don't know what I'm talking about lol, but this discussion is cool

Ditto. I'm not really a web/JS dev, so this is a whole new world for me, too, and I've got far too many things to learn about. I've still got half-a-mind that JS is an awful language that should die somewhere quietly (but then people prove me wrong with how productive they are with it!)

42 minutes ago, pstrejczek said:

What concerns me the most is the size of the electron project. I'm not sure if this is customizable now, but some time ago a simple electron app was about 100Mb and that is insane - just imagine a 100Mb Pong game. Panda 2 editor is about 200Mb at the moment.

Yeah, no, you're right. That would be a bit of a real turn-off. I have an idea Electron apps use a lot more memory/battery life, too,so although I haven't experienced it (yet!) those small things add up.

Even me, I'm building my Panda app with Crosswalk, and it's a 60mb size, and I'm not very happy at all about that, but it's the price of dev convenience.. time will tell if the users are happy to pay for it. But 60mb for a simple Card game is gonna be a hard sell.

46 minutes ago, pstrejczek said:

Anyway, I think web assembly will be the future solution for web in cross-platform engines

I've heard about web assembly here and there, and only have a vague idea about what it is. ? I always thought of it as 'how those 3d engines get good performance' without really digging into it.

 

Link to comment
Share on other sites

@Wolfsbane Web assembly is a very low-level language, like assembler, which is executed by a virtual machine hosted by the browser. You can compile C/C++ code to web assembly (probably more languages will have their compilers soon). The compilation result is supposed to be small in size, fast load and execute at almost native speed of the device which runs the browser. It can also use all hardware capabilities of the device.

It sounds great, but I think we still have to wait for this technology to be well battle-tested, but as it is announced to be fully supported by all major browsers - this is a potential future of advanced web games and apps.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...