BROO's Forum Posts

  • Yeah, the same ^^'.

    Congratulation Rich 1337 posts ;--).

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Since you're not involved in this, I don't understand your worries at all. CROS mentioned that Ad Revenue Sharing was successfully applied in other stuff.

  • I don't find Construct to be that much visual . Kodu is Microsoft(R) creation tool... MS(R) always takes simplicity of use to the maximum, IMO there's nobody who has that much application design skills to match MS(R) products.

    If someone doesn't have much experience with non-MS(R) game creation tool interface, it's always hard to start. Unlike graphic or sound creation programs, in games you have to parallely organize all those: graphics, music/sound, logic, what is more complicated .

  • Since I don't know how was this solved by programmers, experiments will show some stuff.

    Here is the simple "add timedelta" thingy:

    :arrow: Text('t') adds timedelta meaning it counts seconds

    :arrow: Text('t1000') adds timedelta*1000 meaning it counts miliseconds

    :arrow: Timer retrieves play time

    And all those errors provide difference between Timer and Text('t')*1000 or Timer and Text('t1000'). The [msec] error doesn't divide stuff, the error divide result by 1000.

    http://www.republika.pl/tymczasownik/timerCountingError.cap

    <img src="http://www.republika.pl/tymczasownik/timer_error.png">

    :arrow: Timer is based on adding timedelta

    :arrow: 1000*timedelta produces numerical errors

    :arrow: Numerical errors are random (one time positive, one time negative) and that leads to minimalizing the error

    :arrow: The bigger the time is, the bigger numerical error is produced on every tick

    :arrow: 0 error for adding nonscaled timedelta doesn't neccesary mean that Timer is compatible with system time (well, actually who'd bother if there was like 0.001msec error during the longest play possible?).

    I'm now leaving program on to see results after some time...

    <img src="http://www.republika.pl/tymczasownik/timer_error2.png">

    Because errors are random, maybe after few hours the error will be positive value ^^.

    Maybe there's a better point in checking this incrementing with Profiler's "getTickCount()"? I remember using getTickCount() and it's resolution wasn't really pleasing, is it the same way in Construct's profiler?

    Edit:

    <img src="http://www.republika.pl/tymczasownik/timer_error3.png">

    ...positive :-).

    Edit2:

    <img src="http://www.republika.pl/tymczasownik/timer_error4.png">

  • Aeal:

    -> Insert doesn't work, if there's already a key

    -> Set doesn't work, if there isn't a key

    Checking if they exist was avoided for better performance. I really advise you to know which values you already have, and which not.

    But if you can't control knowledge about values you have: you can do work with the Function Object.

    <img src="http://www.tymczasownik.republika.pl/hashtable.png">

  • Yeah, I meant "if acceleration is 0".

  • x_ray(t) = y * ctg(w*t)

    y = constant vertical distance from center of screen to bottom of screen

    w = some constant parameter adjusting constant angular speed

    dx_ray(t)/dt = (-y * w) / sin^2(wt)

    d2x_ray(t)/dt2 = (2 * w * w * y * cos(wt)) / (sin^3(wt))

    -> x_ray(t) is the x position of ray (ray's begin).

    -> there's a need to modify x_ray(t) parameters because x,y screen coordinates are really x,-y

    -> dx_ray(t)/dt = speed, it's chaning, because...

    -> d2x_ray(t)/dt2 = (2 * w * w * y * cos(wt)) / (sin^3(wt)) ... acceleration is not a constant value.

    Ergo, x_tank(t) = y * ctg(w*t) to make x_tank in synch with x_ray.

  • Timedelta's theorethical accuracy makes about 0.0001% error coming from using float for it. But if there was some practical tests made, I'd love to hear about them ^^.

  • These things cannot be put in synth.

    Edit: To make things clear: then can be put in synth only, if tanks' speed wasn't constant during their time on screen.

  • I'd go with that method even if I had 5000 frames to process. Splitting stuff into right animations and directions and cropping with quickly set hot spot would take no more than 4 hours of work. 4 hours is a time everyone need to make a simple addition to engine. So 100 frames is like no work at all.

  • Turn on Num Lock key.

  • Those number pad shortcuts are already implemented.

  • Every ... msec isn't suited for intervals so low they'll execute every frame. Your code is correct, but the thing is, every event can be triggered only once during single loop.

    You can make PV that adds timedelta per loop. And then you can check in WHILE whether its value is greater than desired "every ... msec" (but you input values in second units then).

    Check this .CAP:

    http://www.republika.pl/tymczasownik/ev ... WithPV.cap

  • [quote:1xmtat65]Since Construct started as a free project though, a lot of the users here would not have the money to pay for it.

    Construct wasn't started as a free project.

    And regarding topic I have nothing to say ^^.

  • Caspis just check his menu.