• Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by b10b

  1. b10b

    [WIP] Christmas style game

    Characters are looking great!
  2. 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.
  3. @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 ...
  4. 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).
  5. 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.
  6. Yep the stackexchange answer is fine. Note there are no assumptions that delta will always be < updateFrequency.
  7. 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.
  8. @Ankit M thank you for such decent answers!
  9. @ankit_y8com 50% of gross revenue is fair so this was worth looking more closely at. I was surprised to see at least one of our games already on y8.com - because we have not licensed any of our games to your domain. What's the deal with IFraming content from other portals - how are you sure you have proper licensing permissions from developers wishing to share your revenue? Do you syndicate content beyond your own domain or are all gameplays coming from within your domain? Which territories are the majority of your players from (so I can estimate ad revenues)? Thank you.
  10. b10b

    So, what's the deal with sound?

    @ItsYaBoiWesley all the theory is here - you need to capture an Interaction Event before sound can be heard - and the links provided above are precise. For specifics to your use case show us some code and someone might be able to help more. For example do you have an interaction event (click, touchend) that plays the first sound (or resumes the audioContext)? As to why you get sound on W3schools but not on your own implementation that's a fair question. W3schools example doesn't play sound for me (unless I have already clicked on the page or buttons). I also don't see anything in their code that would resolve these issues directly, so if you're hearing sounds without interacting with their page then it's probably down to your "Media Engagement Index" with their site (iirc Chrome tries to not be too annoying and allows autoPlay for some sites based on usage history). Remember, although this policy is a new feature of Chrome, the requirement for an interaction event prior to audio has always been the case for iOS Safari. So audio frameworks like SoundJS and Howler do definitely have widespread solutions. My approach has always been to trigger a "silent" sound on first interaction event, after which all audio is open for business.
  11. @ekarda I imagine you don't want a "click to play" button on the e-card? So options that allow sound to be heard directly from a new user opening a new link will be limited (Media Engagement Index might kick in for repeat visitors who engage with the cards). A creative approach might be to ask the user to "open their card" taking it out of an envelope and thereby capturing the interaction event necessary to enable autoplay?
  12. b10b

    Where is the money in HTML5 games?

    It would be interesting to know whether these (successful) Steam games leverage the "web game" aspect of their development tool (HTML5) currently or at some early stage? For example by releasing early demos and creating initial traction that lead directly to fans and sales on Steam. If so then it's probably a valid example of web game monetization (as a novel route to market). Slither.io at $100k a day is a great example of a statistical outlier, totally plausible for top spot, yet likely incomparable for anyone outside the top 10, and meaningless to anyone outside the top 100?
  13. b10b

    Where is the money in HTML5 games?

    @usergame hi, I'd echo your scepticism over success stories because they are mostly un-audited and their motivation is frequently self-promotion. But that's ok and still valuable - if measured on balance and considered as part of a normal distribution. Earning several thousands of dollars a month is 100% possible while <100% improbable - so an optimist would say it's only opportunity-cost standing in the way. HTML5 games remain a niche economy - where only the individual can raise their position in the distribution, or create new routes to market. You mention HTML5 being worse than mobile, whereas I found the inverse to be true (imo app stores are a walled garden that restrict innovation, coupled with over saturated supply) - so it goes to show - different horses for different courses?
  14. b10b

    [WIP] Bumgineer Demo

    @quiphop yes I totally missed the "BUY" tab on the shop (despite "SELL"ing a lot). Perhaps set the use of a MOLOTOV as a quest in the early stages (with hints on where to find the buy tab / shop) then all essential elements will be known by the time the Player comes to the later stages?
  15. b10b

    [WIP] Bumgineer Demo

    @quiphop that was fun but also a bit frustrating ... first few loops around the Parking lot were probably enough to put most people off? I eventually defeated the first boss and found the Monkey, but couldn't find the CROWBAR or ReverseMicrowave. Despite looking in the code They just didn't spawn (nor did MOLOTOVS ever?). Felt like a bug, so quit. Help please.
  16. b10b

    Pop-Pop Jingle

    With holiday season approaching I made a winter themed Bubble Shooter. The name of the game is POP-POP JINGLE and it is designed to run on mobile and desktop browsers (touch and mouse controls): http://b10b.com/poppopjingle/ Gameplay: Happy Holidays for everyone as you pop-pop all the winter gems using fast reflexes and strategy! An addictive and easy to play Match-3 Puzzle Shooter packed with over 100 festive themed levels. Can you collect all the stars? Technical: Based on our earlier game (POP-POP CANDIES) this version is also made with Haxe + awe6 + CreateJS and designed to run on any device at ~30fps. Many of the assets originated from royalty free sources. I made the holiday themed puzzles and the bulk of the other level designs came from a level pack designed for Frozen Bubble, so big thanks to contributors there. The levels (and star ratings) were sorted based on completion time of sample plays. This game is available to license from our website: http://b10b.com
  17. b10b

    Pop-Pop Jingle

    Get your winterfest on ... with the holiday season approaching we're offering limited edition licenses to our themed puzzle game "Pop-Pop Jingle". Or play for fun at: http://b10b.com/poppopjingle/
  18. What's your criteria of a dev studio? E.g. work for hire?
  19. b10b

    Variables Inside A function

    You'll kick yourself. Now "this" is the Scene, therefore ... this.btnTest.setFrame(0);
  20. b10b

    Variables Inside A function

    A commonly encountered issue. By default the scope of "this" inside any function is that very same function. So how to get to variables "outside"? Simplest is to use "arrow functions" to scope it as you intended. Here's an example of the above using an arrow function where "this" will be scoped to the declaring function. this.btnTest.on('pointerdown', ()=>{console.log(this.timerA)});
  21. What's the purpose of the socket.on('player-click') round trip? It achieves nothing from what I can see (and could just be skipped directly at client). Where is senderBall in passBall() defined? Unless balls are interceptable issuing their positions from server is counter productive - just issue their owner, and when they last changed owner (use client side data to tween the difference). From the scenarios described there is only need to emit player position changes and ball ownership changes. Generally my advice is refactor all this and use some OOP to assist clarity.
  22. What is the message structure and data you are sending? Does it represent the whole state of all balls, or is it distinct per ball? Overall this doesn't sound like a hard problem to solve if thinking from the perspective of the ball - a ball has one owner at a time, and assignment to a new owner can only be issued by the existing owner. When the new owner receives the ball, the ball will announce to the world it's new owner, etc.
  23. b10b

    JS is the best for me?

    My advice ... avoid thinking of making games as a technology pursuit and instead think of it as a user-experience pursuit. Therefore put your audience needs ahead of your technology selections. Who are they, what do they want, what devices do they play on, how can you engage them, how will they reward your efforts? There's many niche reasons to focus on browser based gaming, but if you're not already aware of these and just want to start-making-games-already then Unity is probably the more mainstream choice for gamesdev today. Or alternatively stick to the path you already started, the significant benefit of web stack is that it has become the mainstream choice for non-game applications. Have fun with whatever you decide!
  24. b10b

    Classic Space Adventure

    Awesome, I've been looking forward to this Thank you.
  25. b10b

    Server side rendering?

    I dunno about being lightweight ... the shim and other node canvas dependencies can be significant. From my experience of server-side rendering I'd say the phantom route is less hassle, especially if using a remote service (e.g. phantomjscloud).