Ashley's Forum Posts

  • Yes but creating each individual part, and skinning the bones, is no different than doing the same in some tweening program, then importing the animation.

    There's more to it than that. You can dynamically tween between any stage in any animation to any other animation. That's prohibitively difficult with frame by frame animations. Also, the bone animation is perfectly smooth at any V-synced framerate, because it uses TimeDelta - again, using framed animations, it is nearly impossible to get a perfectly smooth display. Finally, you can timescale and the animation stays absolutely perfectly smooth, even at very slow timescales, again thanks to TimeDelta. That's simply impossible with framed animations, you'd end up with noticable jumps as it switched frames at long intervals.

    In short, using the built in bone movement will have better display quality, and be able to do more (assuming it matches the features of what you want to do).

  • Why not just do it yourself with global variables? Use this precise order of actions:

    Always:

    set mouse_dist to distance(mouseX, mouseY, global('old_x'), global('old_y')

    set old_x to mouseX

    set old_y to mouseY

    'Mouse is moving' condition would be equivalent to mouse_dist different to 0, and 'On mouse moved' condition would be equivalent to mouse_dist different to 0 followed by 'Trigger once'.

  • Congratulations! Here are the list of benefits:

    • Green name
    • .......
    • Profit!
  • It's probably possible to fiddle with the SDK and make it work on Express - I'm not sure if the SDK will be able to port to non-Microsoft compilers, though. I haven't tried. If other compilers implement member-function pointers differently, you're pretty much out of luck, because the SDK depends on that.

  • Assuming the rendering engine is swapped out for an OpenGL one (doable), there are issues with MFC, plugins and plugin architecture (most plugins also depend on MFC/Win32 and there are 70+ of them) and you'd need a write-once compile-twice setup for each plugin to stop yourself going absolutely mad. The IDE would be more complicated because it depends on a Windows-only UI library, but I don't think that needs to be worried about before the runtime.

    In short, time is the limiting factor - as said earlier in the thread, we're all volunteers, full-time students working in our spare time. To be honest, I'm not a big fan of spending months of time and effort on an operating system I don't use to gain another 5% of the PC market. Someone else is welcome to do it though if they want - we are open source - and I'll gladly answer any questions or help any way I can if someone took up the challenge.

  • You need the DirectX 9 august 2008 update, or newer. This is not an option, it is required.

    Everything should work fine on Vista. If it doesn't, tell us!

  • Yes, you can - you need the latest DirectX end-user runtime, because although you have DirectX 9, Microsoft release regular updates every few months, and Construct uses these updates.

    For convenience, the installer uses the web setup. You can get an offline copy from Microsoft, here's the link:

    http://www.microsoft.com/downloads/deta ... laylang=en

    The download's about 86mb, another reason we use the web setup - Construct only uses a small part of that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • The main culprits could be:

    • Lots of shaders (doesn't look like it from screenshot)
    • Lots of nested loops with lots of objects (for each A, for each B with 200 instances of A and B = 40,000 iterations per tick = about 3 million a second)
    • Unwise use of RTS pathfinding (if you're using it)

    Send the cap over to me and I'll run it through the profiler and see whats the main problem.

    Still, artwork looks great, can't wait

  • Update 7th Dec 2009: phpBB chat has been replaced with IRC chat!

    Join us on:

    irc.esper.net

    #construct

    The chat button is now a Mibbit client for the IRC.

    Note for context: the following posts follow the original post where the phpBB chat was added!

  • We've set up a forum-based chat, using your registered nicknames (and the existing admin system). You can find it here:

    http://www.scirra.com/phpBB3/chat/

    This is the official chat - feel free to keep going to IRC, but it's unofficial, and not run by any Scirra admins.

  • In light of some good contributions lately (midnight, deadeye) I've been updating the beginner resources on the site. I realise Construct can be intimidating and appear complicated to beginners, so I'm trying to make the starter resources as good as possible. So if anyone has any suggestions for improvements or changes, let me know!

    I've changed the Learn section of the site a bit:

    http://www.scirra.com/learn.php

    There's also a new URL for the tutorials section:

    This directs to the Tutorials page on the wiki, but that's a pretty complicated URL. If you want to show someone some tutorials, that URL should be quick & easy to give them.

    I've listed some example .caps on the tutorials wiki page as well. If anyone has or remembers any particularly good .cap files (eg. from the uploads forum) which are well commented and useful to beginners, let me know and I can put them up there as well.

  • Brilliant! Top stuff Deadeye - mind if I link to Platform School from the main site, wiki etc?

  • That's what the bullet movement is meant to do. Did you try changing the speed?

  • Here's the function, hope it's clear enough:

    // start angle, end angle, step
    float RotateTowards(float start, float end, float step)
    {
       if (step == 0) return start;
    
       float cs = cos(start);
       float ce = cos(end);
       float ss = sin(start);
       float se = sin(end);
    
       float z = cs*se - ss*ce; // for determining clockwise/anticlockwise
       float dot = cs*ce + ss*se;
       float angle = acos(dot); // angle difference between start and end
      
       if(angle > step)
          if(z > 0) // is clockwise
             return start + step;
          else // is anticlockwise
             return start - step;
       else
          return end; // angle difference is less than step - finish on end angle
    }[/code:15kakc7c]
  • Unless you want the trigonometric calculations behind this, I think you may as well wait until the next build. There's a new 'angle is clockwise of other angle' expression, so you could test if the angle is clockwise of one angle, and anticlockwise of the other. I think that'd do the trick.