pstrejczek

Members
  • Content Count

    69
  • Joined

  • Last visited

Everything posted by pstrejczek

  1. Great game ! I love old-style arcade. The forest level reminds me Toki - one of the best arcade games I played.
  2. @enpu I have problems with MacOS version. When I open the .dmg file it says that the image file is corrupted.
  3. Why not separate that code into class/classes in Panda2 instead of copy pasting to the main file? This would keep the code maintainable and should still result in single game.min.js If it is some kind of library that is reusable it's better to pack it into a plugin - it seems to be quite simple.
  4. I'll put my 2 cents into this thread ... Does Panda tiled plugin work correctly with exports from new Tiled 1.2 ? - There are some breaking changes in the export (as the changelog says). I haven't tried this myself and I'm just curious.
  5. @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.
  6. @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.
  7. @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.
  8. @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).
  9. @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.
  10. @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
  11. @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.
  12. This is an interesting topic, and I have searched myself for information about HTML5 games on Steam. You can create a PC, Mac or Linux executable from HTML5 game, but for achievements etc. you need to integrate Steam SDK which is basically a C++ library. Guys who made Game Dev Tycoon made a node.js addon, to expose Steamworks API for Javascript and node.js https://github.com/greenheartgames/greenworks And there are various (quite impressive) games published on steam using this library: https://github.com/greenheartgames/greenworks/wiki/Apps-games-using-greenworks For X-Box One you use the HTML5 to UWP wrapper, which is a different beast. Guides on how this could be done can be found on Microsoft pages. Microsoft encourages to make UWP apps and games with HTML5 technologies. It would be probably a lot of work to make export with these technologies straight from Panda2 easy. @enpu would have to decide if it is worth it. It would make Panda 2 very versatile - no question. Anyway. For the moment I think that if the main target for my game would be Steam or game consoles I would use a different framework/engine (Monogame perhaps, or Love2D - which is an absolute pleasure to work with - if Steam only). The performance would be better and integration would be probably much easier.
  13. @Wolfsbane Actually, arkanoid (or breakout) was my first attempt to try Panda engine. I have not used any physics engine (event he built-in one) though. I was thinking to rewrite this with Panda physics, but started working on different project instead. It is very rough as it was made only for engine test, but I think I can share my project Breakout.zip
  14. Ha ... Awesome! ... So bye-bye Cordova and today I'm starting experiments with PhoneGap cloud @enpu - than you so much for the info 👍
  15. Hmmm ... I must have misunderstood something. I have to read the description of the PhoneGap plans carefully again. Does one private project mean one game? If I want to export another one I need to buy the subscription ?
  16. Nah ... it is just my first time as I haven't used Cordova before. I have some problems with testing on emulators but it is rather not Panda related but my setup problem. Making game is fun, but building with Cordova is not - I'm a little lazy I want to learn Cordova usage as paying a monthly fee for PhoneGap makes no sense if you use it occasionally.
  17. I'll drop my 2 cents. I find Panda built-in physics to be extremely helpful. In the game, I have almost finished (I'm fighting with Cordova export right now, cause I don't want to use phonegap) I have made most of the physics myself, but the built-in engine helps me in detecting collisions. It works really well for that. It is great if you want to make something on your own but don't want to do everything from scratch. P2 physics is great. There is a lot of nice demos and examples on P2 github page and they are extremely easy transferable to Panda2. I have experience now with both P2 and Box2D and don't see any advantages of one over the other. P2 is just a little different philosophy.
  18. @Wolfsbane I agree. I wrote an email to Mike some time ago to do a review of Panda2, but he was busy at the moment. I guess he did not put enough attention to details. You have to pay but you get an awesome editor, plugins, game templates, mobile apps to test the game on real devices in real time and authors support. You don't usually get this with totally free or opensource engines. Lest look f.ex. at Corona - it's free but if you want to monetize your game with ads the price of AdMob plugin is ridiculous. Even for Phaser the plugins are paid.
  19. You could always set the visibility to false for the sprites which are not needed to be visible at the moment, but I understand that is not the point. For your approach, it would be probably more efficient to create and draw the sprites dynamically according to the situation in the game and then destroy them when not needed. Or maybe create placeholders for a maximum amount of cards which is possible and only set correct texture and/or visibility if needed. This is doable, but I can't imagine at the moment a simple method to do this with a minimum amount of code. What I would do - If there is no need for the player to know the precise amount of available cards in the deck by looking at the deck - I would create f.ex. 4 deck textures and change them in the single deck sprite according to the amount left in the deck to let the player have an image of how many cards are left (a lot -> a little less than a lot -> not too much -> one card). I know this is a hack, but it's easy to implement
  20. If I would do that, I would make a card class (containing the sprite) and would probably operate on an array of card class objects, not just the Deck. This way, you can have all your card related methods in one class and can easily respond to f.ex. clicks. Actually, your pseudocode is just what I would do, except drawing, updating and responding to clicks would be implemented in the card class. All that I have to do then is to create the card object and add it to the array. I would propably use some kind of id for the card objects, to easily search for what I need. In Panda2 sprite is an object of a Sprite class, so I don't see a much simpler way to do that. Maybe @enpu could suggest something different - I'm still learning the engine so maybe there is some better way. Maybe it would be a good idea to add a simple card game template to available templates?
  21. I have a moving starfield in my game. I just created a star class which contains sprite and I pass all the parameters (position, size, speed etc.) in the constructor. Everything is set up in the constructor and the star movement is handled by the class update function. Then I create instances of this class in a loop and put them in an array because I reuse them if they fell off the screen. The whole code which handles my starfield fits in about 60 lines of code. I think you could use a similar approach.
  22. @Ninjadoodle - I think it is a good idea to create helper classes. I usually do this myself. I put important variables and functions there (sometimes it is more than one class) and then create an instance of the class in the main module. I keep those classes in a separate module (or modules). This way you will achieve some kind of "static" class. Maybe not the best practice, but it works and helps in code organisation.
  23. @enpu - Thanks for bringing back the modules section. It is perfect now !. I'm going to work on my game this weekend so I'm gonna test this beta out a little more.