Drasa's Recent Forum Activity

  • If XAudio2 would have "get pointer to buffer" expression, then everything should be all right. And if you're going to make 0..20kHz in few bars like in Winamp, you'll have to sum/average parts of array.

    BROO: What are the minus frequencies representing :o? I don't quite get why does the function return those also.

    I just began to wonder if it is possible to combine the frequencies afterwards and input them back to XAudio2 :D. I was thinking some kind of controllable equalizer...

  • BROO: That FFTW looks promising... but yes, there is the problem of getting the buffer. I don't know much about Construct's plugin architecture, but even if there would be an function retrieving the buffer in XAudio2 plugin, how would it pass to separate audio analyser plugin?

  • maybe just add some plugin or new Expressions for audio.

    Yeah, and if the XAudio2 doesn't offer the features, some 3rd party library could be used :)

  • Dave: Btw, have you checked my post about instance picking? (I'm sorry for advertising it, but it would be cool to hear if it was useful/implementable idea or not from devs)

  • The spectral analysis of audio (which equalizers like that do) requires pretty hardcore math, so unless there is some tools for that in the new XAudio2, it would be hardly possilbe.

    AFAIK the audio is divided into different (ie. bass, mid and treble... of course there could be more) bands in digital enviroments using so-called Fourier transformations. (Or discrete cosine transofrmations) but that would require a direct access to the waveform and pretty hc math... Is here anybody here with signal engineering degree :D?

  • Ouch, I don't deserve compliments, I made a mistake XD.

    Its either

    Every time the number of objects is changed:

    Set timescale to 0.99^NumberOfObjects

    or

    Every time an object is added:

    Set timescale to TimeScale * 0.99

    The first would perform little bit slower, but it would automatically rise the timescale back towards 1, when objects are destroyed. The second is faster but needs a separate event to rise the timescale back... :D

    AND... 0.999 or 0.9995 seems better than 0.99, the scale drops too fast with 0.99... with 0.9999 the timescale is 0.5 with about 7000 objects.

    AND... btw, lowering the time scale doesn't remove the fact that it still needs to produce the fps the v-syncing needs...

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • You could easily link the amount of bullets proportinally to the timescale value as well... for example anything over 100 bullets and you start slowing time by 0.01 for each extra bullet... you just have to make sure that you don't have too many bullets otherwise it will stop time completely lol. Perhaps a limit of minimum timescale would be the way to go if you choose to do something like this.

    ~Sol

    Set timescale to TimeScale * 0.99^NumberOfObjects[/code:2e3p509v]
    
    (0.99 can be any number below 1, depending on how quickly you want the frame rate to drop) This expression gets closer and closer to zero but never reaches it, so it's kind of natural limit. ("asymptote")
  • just realized the inability to display japanese characters also rules out my idea to create a flash card application in construct to help my studies (i'd release it to the public, too) :(

    it'd be too much work to use images for all that

    Fortunately, there is alternatives :D http://www.mnemosyne-proj.org/ http://ichi2.net/anki/

    Utf-8 support would be much appreciated, though! (I study Japanese too, btw. Actually... Japanese is my main subject. I'm going to be a translator.)

  • I think i'm having a similar problem, i have multiple instances of the same object, each one has a different height value

    if the player is overlapping more than one of them, even though i put an event in that picks the object by it's highest height value, it STILL picks the one that was created first, NOT the one with the highest value.

    I dunno if it's related or not to your problem, to be honest i'm watching heroes and didn't read all the walls lol

    That sounds like a bug (or a coding mistake)... My "problem" is just a feature request. Maybe you could show a cap?

  • how can i use qarp for cubic curves?

    is this for that?

    "Quadratic interpolation. Returns lerp(lerp(a, b, x), lerp(b, c, x), x)"

    im unsure what lerp is tho plz explain ill check the wiki 2

    and is x the time value

    a number from 0 to 1

    Cubic curves would be... lerp(lerp(lerp(a, b, x), lerp(b, c, x), x), lerp(lerp(b, c, x), lerp(c, d, x), x))

    In other words... lerp(qarp(a, b, c, x), qarp(b, c, d, x))

    You should use this instead of self-made expression since it performs faster and is looks cleaner :).

  • Oh my god. The Google respects us with a post. Epic ;D.

  • At first, you must set the distort map. It's rows number must be same than cols number, otherwise it doesn't work. The displacement points are indexed from 0 to the number of rows/columns. So when you distort a sprite, you usually want to loop it with nested for:

    System: 3 For "x" from 0 to 10
    System: 3 For "y" from 0 to 10[/code:3dlyxans]
    
    Use the LoopIndex in loop to set the displace point you want to distort. The x and y displaces mean the amount of pixels you want to move the point.
    
    Try to do something simple at first, for example, applying a constant value to x and y displaces and see the object changing it's position.
    
    The collision mask doesn't update with it, though :I
Drasa's avatar

Drasa

Member since 5 Jun, 2007

None one is following Drasa yet!

Trophy Case

  • Email Verified

Progress

17/44
How to earn trophies