Dalal's Recent Forum Activity

  • My partner and I would like to enroll in the Apple developer program as a company, mainly so that our desired "identity" is displayed as the seller/publisher rather than an individual's name. Accordingly, we have decided to form an LLC.

    My concern: LLC requirements dictate that the company name must contain the text "LLC" or a similar text identifying it as a company. From a branding standpoint, I don't like how the LLC looks next to our company name, and I wouldn't want it to be displayed. Assuming our official legal name is "Cool Games LLC", I'd rather have the app page read something like "Bird Racer by Cool Games", excluding the LLC part.

    I've seen several app pages on the store which do not contain this "LLC", "Inc." etc. How can I do the same?

    If it isn't obvious already, I am VERY new to this. I appreciate all the advice and info I can get.

    Thanks,

    Dalal

  • Problem Description

    When the playback rate of a sound is lowered, the "Is Any Playing" and "Is Tag Playing" conditions of the Audio object return false while the audio is still playing.

    Description of Capx

    There are two buttons: one plays a tone at 1x speed, the other at 0.5x. The text reflects whether the audio is playing or not. Try playing the tone at 0.5x and you will observe that the text says "Not Playing" while the tone is still clearly playing.

    Steps to Reproduce Bug

    • Step 1: Create an action that plays a sound.
    • Step 2: Follow with an action that lowers the sound's playback rate.
    • Step 3: Create a condition that tests whether the sound is playing.
    • Step 4: Set a Text object to "Playing" when the sound is playing, and "Not Playing" when it isn't.

    Observed Result

    Text switches to "Not Playing" before the sound has completed.

    Expected Result

    Text should switch to "Not Playing" after the sound has finished playing. This should take into account playback rates varying as the sound is playing. Only once the sound has truly completed should the condition return false.

    Affected Browsers

    • Chrome: YES
    • Firefox: YES
    • Internet Explorer: Can't tell, sound is broken for me in IE11.

    Operating System and Service Pack

    Windows 7 Home Premium SP 1

    Construct 2 Version ID

    r195.

  • Ah, well I simply dragged the file from the music folder to the sound folder, so no re-encoding there. The difference I heard was not a quality difference per say, it just felt as though it was stuttering, and my imagination threw together some wild ideas on how sounds are synced to the framerate, while music is not

    But listening to it today with a fresh mind, I think it's all good. Thanks for the advice and reassurance

  • fisholith,

    Thanks! I think your suggestion to move them to the Sounds folder works best for me. I tried it out and it does do what I want, but I'm just a bit concerned.

    Aside from the difference in streaming, are there any other playback differences with sounds and music? I'm assuming it's just a psychological effect (i.e paranoia), but the music sounds a bit different when played as a sound. Please quell my worries and tell me I'm hearing things

  • When I lower the "playback rate" of a sound, it slows it down, affecting both pitch and speed.

    When I do the same for music, however, it only affects the speed, which is unwanted in my case.

    How can I make it so that music is affected the same way as sounds are?

  • Does this mean anything for CocoonJS (which uses V8)? How about Crosswalk?

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Ah cool, thanks for this perspective. You're right that what we have is astounding already, quite a feat. As a C2 fan, I merely seek to help improve the engine, though obviously I have very little knowledge of its inner workings. That's where discussion helps me.

    First is that what you are looking for is a change on how the sound is rendered, by the system, not a change in the C2 engine, or better described as a hack.

    I think I get where you're going, but I don't see it as a change in how the sound is rendered. In a C2 game, if you were to fade an object out before destroying it, is that a change in how objects are destroyed? You are merely using the system how it's supposed to be used to achieve a result more useable within the scope of your product. Put another way, just because there is a System.StopAudio() doesn't mean that MyGameEngine.StopAudio() is restricted to solely calling System.StopAudio(). There are specific needs the game engine has, among which are aesthetically pleasing audio playback. I am suggesting a change in C2's Audio > Stop, not the system's core implementation of audio rendering.

    [quote:2u1jdq9c]Second, the kind of timing precision you want isn't there, especially on mobile. You'll be lucky to get 0.1 ms.

    Yeah, I didn't think of this too much. "0.1 ms" precision? That doesn't sound too bad for a fade-out that must occur in less than a frame of 16ms. Honestly, anything to reduce the harshness of the click is beneficial I feel.

    [quote:2u1jdq9c]Thirdly, this is why we have polyphony.

    Haha, yeah but there is still a definite need in games to stop certain sound samples from overlapping, just as there is a need to prevent certain images from overlapping. You wouldn't say "that's why we have layers". There is obviously such a thing as aesthetics, and it can apply to audio just as much as it can to visuals.

    [quote:2u1jdq9c]Also theres nothing wrong with using an even shorter sound for that type of situation.

    The sound in the demo was exaggerated to demonstrate the effect. Consider a real game like Super Mario World when he's flying through a bunch of coins. Look at how neatly the sound effect repeats for each coin, how it cuts off the previous one. Even if they had the full polyphonic capabilities of today they wouldn't have let them play together. Letting those sounds play together creates this muddy kind of reverb-y, sloppy sound, characteristic of amateur fan-made platformers. It's very disgusting. A shorter sound is not the solution, or the coin wouldn't have the rewarding effect it does when you get one. I mean, come on, unless you're just a programmer, you know that game design and development is art! And artists are picky people. Lots of subtleties to think about. The engine shouldn't require us to make compromises on something that can be fixed.

    Anyway, I'm up way past my bedtime. Perhaps the -100db solution is fine. But hopefully this is something to think about, because there is basically no reason I see for someone wanting the risk of that click when they call Audio > Stop.

  • Try using the "Make Seamless" filter in GIMP.

    http://cgcookie.com/blender/2014/04/15/ ... ures-gimp/

  • I'm looking for the pirate princess on this website. I found the second clue and opened the page which I suspect contains the third. Now I'm stuck.

    Before I rack my brain, could someone give me a definitive answer on whether or not she's still here? Or is she missing?

    Thanks!

  • TiAm, holy shiz! I wasn't a believer, but you've converted me. I definitely see the difference in Chrome (60 FPS event-based recyling, 20-50 FPS without it). And this is on my development PC which is quite a beast (at least per my standards). After reading the articles about garbage collection I figured it'd be a waste of time to recycle objects beyond what C2 already does behind the scenes, but this has me convinced otherwise. Looking forward to seeing where this discussion leads!

  • newt That workaround works fine for this demo, but not in more practical applications (see below). While workarounds may work in certain cases, my intent with this post is to explore whether 'Audio > Stop' should do it on its own. Why so adamant on finding an event-based solution when this is something that should work right out of the box? Between a stop that clicks, and one that doesn't, which one falls more in line with the expectations of the game developer? Which one is more useable? It's obvious that the 'click' noise is unwanted and unexpected. Shouldn't we consider this suggestion as a way to improve Construct 2 functionality?

    In the case of the demo, the workaround you posted is simple and manageable. But now consider a more practical use of Audio > Stop: preventing the overlap of similar/clashing sounds, like collectibles. Imagine Mario running through a bunch of closely spaced coins. "Ding ding...d..d.d..d..d...ding" is what it should sound like, rather than "Ding ding...d *pop* d *click* d *pop* etc." That sounds unpolished, glitchy and unprofessional. Granted, for many sounds the popping is subtle and big pops only happen once in a while. But that inconsistency alone is troubling.

    Check the event sheet in the attached .capx. The solution that would ideally work is to simply stop the previous sound, then play a new one. The workaround you posted almost works, but it plays the sound 0.02 seconds late because of the Wait, which is not the desired game experience.

    The workaround that actually works requires a variable that toggles between two values. Now we can stop the previous sound in a neat way but immediately start the next sound. Kinda ugly, but it works. But now let's say I have different kinds of collectibles. It complicates things a bit more, and ends up obfuscating the events more too. And really, all we want is to stop a sound without that unwanted click.

    So now consider my main points:

    • Audio > Stop doesn't imply anything about audio 'clicking'. It is most certaintly unexpected behavior. The click is usually an unwanted addition to the sound.
    • It is hard to imagine a case where someone would desire the 'click', especially because its very inconsistent, and shouldn't be there in the first place.
    • Workarounds using events are not straightforward. The cleanest approach is to modify the Audio object with a micro-fade.

    Does the above not seem to you a compelling enough case to at least consider changing the 'Audio > Stop' action? I would like to at least discuss the feasibility and implications of changing it. I understand that sometimes people post suggestions when they want something very specific to work in their game. This is not the case with my suggestion. This is a somewhat common issue in multimedia work. In music production, for example, when a sample is chopped out of a wave, a slight attack and decay will be added to get rid of the clicks. No one wants the clicks! I don't think game development is any different.

  • In case the example is hard to get to, I've attached it to this post.

    newt Events update per frame, whereas the "micro-fading" I'm talking about has to happen in 2ms. Let me clarify that the point is to prevent the high-frequency click that occurs when a sound is stopped midway through, not to modify the original sound in a perceptible way. It's not a "fade" so much as it is a better algorithm for stopping the sound. The current algorithm basically adds a click to the sound. The one I'm suggesting leaves it as it is, not to mention that it indeed stops well before the next frame. Which one behaves more as expected?

    Naturally, I feel the native Stop action should have this 'smoothening' behavior by default, because I can't imagine a scenario where this inconsistent click would be desired in a game, can you? As it stands, it feels more like a bug. It's only if there are reasons to leave the method as it is that I would suggest a "Fade Stop" action as an alternative to allow people to avoid those pesky clicks.

    I read a post from 2010 from someone encountering this issue in Unity (I wonder if it is fixed now). The solution suggested was to write a routine that fades it out in 1/10 of a frame. That's exactly what I think Construct 2 should do natively, because it's the only way people want to use 'Stop'. To do that in Construct 2 right now, I would have to modify the Audio object (and I would do a sloppy job of it), and this will put me out of sync with future updates.

    If this is as common an issue as the person in the post suggested, and if people everywhere end up writing their own micro-fade routines to fix it, why not just make it native functionality in Construct 2? To me I think the Audio: Stop method is less useful if it doesn't behave the way most people would like it to. How many people expect there to be a click when they stop their audio? That's not what 'Stop' is supposed to do in games!

Dalal's avatar

Dalal

Member since 17 May, 2012

None one is following Dalal yet!

Trophy Case

  • 12-Year Club
  • Email Verified

Progress

13/44
How to earn trophies