Popular Content

Showing content with the highest reputation on 12/28/18 in all areas

  1. 1 point
    Hello game devs! I've been working on the game katan.io for a while to bring an alternative accessible approach to playing Catan online. We currently have about 15-30 people online at any time. I'm sure you guys will have some great feedback for the game, feel free to post them or send me a message about anything that's broken or that you think the game needs. We try to update the game once a week. Here is the foreseeable roadmap: - Color Optimizations - Game Ending Screen Revamp - Game Trading Screen Revamp - User Profiles & Stats - Ladder & Ranked Games Tech used are: node.js, typescript, ws, pixi.js
  2. 1 point
    Phaser and Babylon are both very popular here, popular enough to have their own forums. There are others that have their own subs as well. Unity, GameMaker Studio and Construct are also mentioned a lot which are more integrated environments than frameworks like Phaser and Babylon. I wouldn't call Pixi a framework, its a module that forms part of a framework (or application architecture). I find the following useful for classification: * With modules you own the architecture and you (as developer) employ the modules to perform specific tasks * Frameworks own the application and you (as dev) are afforded windows into the architecture in which to work Depending on which of the 2 above you find yourself most agreeing with will usually dictate your enjoyment of using either smaller, focussed modules or larger, more powerful frameworks. Generally speaking, using a framework will be faster as they have come up with solutions to common problems when structuring applications, or, in our case, specific applications, namely games. Generally they aren't super-flexible and you really have to agree with their solutions or you end up fighting them to get work done, you really have to buy-in to the structure and philosophy of the framework to get the most out of using one. If you do that then they can be very powerful and allow you (as dev) to focus on your game logic rather than lower level stuff like app structure, rendering pipelines or input massaging. Frameworks, by their nature, may start out fairly simple, but, they tend to be kitchen-sink so they consume more and more commonality in order to increase their usefulness. Modules (or libraries) are the opposite, they take one problem and solve it, its up to you to bolt them together, this gives you flexibility but is generally time consuming.
  3. 1 point

    When to use Bitmap Text & Text?

    It really depends on your needs. Bitmap text is faster to render, yes, because normal text requires generating and uploading a new texture to the GPU each time it changes. And every piece of text also requires it's own texture, which can mount up. But, as you say, normal Text gives you much more flexibility at runtime to create different styled text. And if you're supporting other languages, much easier to use normal Text than trying to create bitmap fonts for every character set..... So they both have strengths and weaknesses, so there is never a 'this is always the best one to use in all scenarios'. You can mitigate a Text weaknesses, for example, by generating all of the Text textures up front, avoiding the slowness of generating them as they're being rendered for the first time. It uses more memory, but maybe that's an acceptable trade off? Or have some fancy code so that if you have the same word and style in 2 places, you don't have 2 Text objects with their own textures, but they share the 1 texture? Or use textures from Text to create a dynamic atlas, which pixi-ui uses I believe. a rapidly updating high score object might rule out normal Text because the rapidly regeneration of the texture may cause performance issues. Or maybe not. Profile your own use case
  4. 1 point
    The two bits of code do completely different things. Hinted pieces array clearly doesn’t hold the array indexes, but rather the id values. Game Objects in Phaser don’t have an id property, so this is something you added.
  5. 1 point
    You should probably ask in the new forum, but anyway: Your hinted_pieces[ i ] probably doesn't work as an index for the child array (only 0 and 1 would work).
  6. 1 point

    Particles circle effect

    Is this something close to what you want? http://www.babylonjs-playground.com/#U64HVU#3
  7. 1 point
    beforeRender is mostly about code organization, with no performance effect. There are 2 types of beforeRenders, those registered to the scene & those registered to an individual mesh. I am only going to talk about those registered to an individual mesh. A mesh beforeRender is much more OO, especially if subclass your mesh. You can do sophisticated things like have a variable number of "bad guy" meshes moving around. Just instance them, then register a beforeRender. Doing this for each instance in the render loop is extra management code that adds no value, toxic. If you do not subclass your mesh, like if it is coming from a .babylon, then you will need to create a class for your before render, so that you can pass the Mesh to work with in the constructor. The constructor can do the actual registration though. You can do things in a beforeRender, like check if the state of has somehow changed, and react. I am doing this in DIALOG.Panel. You could put this in render loop too, but a render loop could become a total mess fast. The only thing a before render might not be able to do is run when visibility = false; beforeRender is a great way to write an extension, because you can have more than 1 per mesh. So you can have one checking for some state change, and still use the POV extension, which is implemented as a before renderer. Really, a better question is what is the benefit of having more than a token render loop? It might be good for non-programming types, or learning an experimenting. The bigger your game, you will start to see that introducing more and more advanced logic becomes difficult to deal with.
  8. 1 point
    Hi, Generally, in a game, you want one engine and multiple scenes. With this method, you won't have to check in your renderloop : if (scene1.isActive) {} ... is (scene2.isActive) {}... But if you have only one scene in your project, it's exactly the same.