• Content Count

  • Joined

  • Last visited

  • Days Won


b10b last won the day on January 22

b10b had the most liked content!


About b10b

  • Rank
    Advanced Member

Contact Methods

  • Twitter

Recent Profile Visitors

4,205 profile views
  1. You might remember in the old days non-exclusives were sometimes called "site-locks" and it was considered a big-bad when other sites embedded or IFramed the game (effectively leaching)? Whereas these days (within a revenue-split model) it's often advantageous to allow other sites to link, embed, and further distribute content - assuming it is properly managed with authentic parties. A good publishing partner will actively negotiate distribution and licensing deals with such channels - in a way not dissimilar to how TV "syndication" works. And, so long as all parties are recipients of the upside, this is usually a good thing that results in growing royalties. But I don't want to end up sounding like a sales pitch for anyone and everyone offering revenue-split - not all are worthwhile - explore, ask tough questions of potential partners!
  2. Hi @Kevin Trepanier, From a FGL-Flash-era comparison the big changes are HTML5's shift towards revenue-split, syndication, multi-platform, multi-player. A good Publishing Partner (who can bring high volume traffic and share revenues fairly) is good to have but might take time (and a small catalog of games) to find? Sponsors. The "Auction" exclusive-upfront-fee licenses are rare (or rather the level of risk for a small team to build a game of sufficient scope to gain exclusive interest is hard to justify upfront). The "Gameshop" style non-exclusive upfront-fee licenses do exist, however the number of active sponsors in the market are few so overall revenue is limited (in comparison to slower but longer revenue-split). There are links on this forum to such sponsor portals, although it's a changing list with high churn so your own research will be necessary. Virality. As always, it's possible but improbable! But more contagious these days is the speed and quantity of rip-offs and clones. Any big-idea must be protected with (or leverage) a server-side strategy. Of course everybody's mileage will vary, most will quietly stall whereas a few successes are very real and highly deserved (and often humble!). I hope that's a fair and helpful overview.
  3. Not sure many peeps will want to sign-up to play? Or at least not yet. How about "Play As Guest"?
  4. b10b

    Pixi Texture Atlas Animation Library suggestion

    Have you tried Spine (or DragonBones)? Both work well with Pixi and are often more versatile and expressive than the spritesheet-only approach (but at the cost of some extra runtime performance requirements). Otherwise we've been using the Pixi extras "AnimatedSprite" as a starting point for plain spritesheet animation (combined with Shoebox to generate the Atlas, TexturePacker also works well).
  5. b10b

    Find empty position in map

    Nicely documented. However I imagine the map to be changing, so collecting / filtering all the empty cells each search is going to be expensive (doubly so if the map array is formed by looping all Players to get their positions?). Whereas having Players link (or delink) themselves from their respective Coordinate (as they move) and then have that Coordinate link (or delink) itself from EmptyCoordinates (as the Player links change) may be more optimal? Whether this linking overhead is more or less optimal that the OP's "loop until random is empty" approach likely depends on size of map, population density, frequency of movement and so on. A fourth approach may be to hold a finite set of "spawn" locations and pick the one with any Player furthest from it.
  6. b10b

    First person wizarding puzzle game

    Interesting concept and goal. I was able to make my way through without issue (desktop Chrome). Maybe consider larger drop areas on the UI and penalties for guesswork?
  7. b10b

    how to make a perpetual movement with random

    @espace use onLoop instead of onComplete You won't need to reset the x, because the tween state will do that. Math.random(0,800) is incorrect, use Math.random() * 800 instead. Use a regular function (not an arrow) for the signal listener, and use sprite as the context (instead of this). Sorry, couldn't figure out why this scenario didn't fit as expected with arrows? function create() { var sprite=[] var tw=[]; for (var i = 0; i < 5; i++) { sprite[i]=game.add.sprite(400+i*10, i*100, 'phaser'); } var move=()=>{ for (var i = 0; i < 5; i++) { tw[i]=game.add.tween(sprite[i]).to({x:-400},1000,Phaser.Easing.Linear.none,true,i*200,-1); tw[i].onLoop.add(function(){ this.y = Math.random() * 800; },sprite[i]) } } move(); }
  8. b10b


    Characters are looking great!
  9. It would be a start towards considering the scenarios where counter (derived from delta) is significantly larger than updateFrequency (and therefore not fully resolved with the singular if). You should next reconsider your assumptions around averages. I'm going to sign off there as I'm repeating myself. Good luck.
  10. @thedupdup I'm guessing a little in the dark here ... but perhaps move away from if(counter to while(counter ... there will likely be some knock on effects to consider too ...
  11. I get that. When the tab is inactive requestAnimationFrame effectively pauses, so delta effectively grows. When it resumes the delta will be the equivalent of all those imagined smaller deltas added together. Hence timeElapsed returning -3000 (things are happening exactly as coded). But I actually don't think this is the point ... it is ok to have timeElapsed as -16, -3000, 1,000,000, or 0, just so long as the logic that acts on it considers all possible range (not just the expected range).
  12. I don't think you should assume anything about delta. Your code snippet doesn't define updateFrequency so I have to guess what it is, but I can imagine scenarios where delta is quite large. More to the point 'counter -= updateFrequency' is likely making the assumption that counter is only fractionally larger than updateFrequency, rather than multiples of. For the latter outcome you might consider using a while loop rather than an if.
  13. Yep the stackexchange answer is fine. Note there are no assumptions that delta will always be < updateFrequency.
  14. Code issues aside, one thing to note is that requestAnimationFrame is usually significantly reduced on a background tab (sometimes not updated at all). Can you explain your goal (with new words) as there may be a simpler solution.
  15. @Ankit M thank you for such decent answers!