Ashley's Forum Posts

  • Can you post the crashing .cap to the tracker?

  • See if you can get a reproduce going in a new .cap. Even so, it's better than it was and it seems to be only certain situations in one particular feature, so I'd be happy to release a stable with that known problem.

  • Take a look at the stick in this forum. GPL doesn't cover your creations. You can do what you like with them. GPL only refers to the source code to Construct itself.

  • I'm considering marking this as the next stable build since it corrects some important issues. Is anyone having any problems which would make this unsuitable for a stable release?

  • Plugins are not backwards compatible across Construct builds.

    Awesome. Is there any change to get a Pixel Per Collision for physic objects?

    No - if it's not in the changelog, it's not affected, I'm afraid!

    Anyone had any problems with this build yet?

  • Download Construct 0.99.6 (unstable)

    This is an

    unstable build. You can help Construct's development by downloading it, trying it out, testing and reporting bugs. If you have projects you want to work on without possible bugs getting in the way, stick to stable builds.

    Link to previous build (0.99.5) changelog

    A fairly small update to keep things ticking over, since a few of these fixes have been sitting around done for a while so they may as well be released. Sorry there isn't more, we've all been very busy lately and it's hard to find time to work on the project. Nevertheless, the changelog:

    Event sheet editor

    • [CHANGE] System object: 'set global filter' action was removed, it has had no effect since 0.99. Loading .caps which use this action will automatically remove them.

    Plugins

    • [ADD] XAudio2: expressions to get channel pan, volume and frequency ratio (omitted by accident)
    • [FIX] XAudio2: crash in freeing sounds from cache (could cause changing layout or closing application to crash)
    • [FIX] Sprite: crash using 'Load animation from file' and destroying a single instance of an object
    • [FIX] Text: crash on exit in Application runtime
    • [FIX] Canvas: crash in 'paste object in to canvas'
    • [CHANGE] Sprite: distort maps now tile the texture when distorting outside the texture area. Allows for sprites to be used as rotating or animated tiled backgrounds.
    • [CHANGE] XAudio2: 'Attach channel to object' could have had an effect when attaching to a channel which is not playing, when according to the documentation the channel must be playing first.

    Runtime

    • [FIX] Per-pixel collisions could sometimes cause intermittent crashes.
    • [CHANGE] Error message on systems not supporting the game's resolution. Sometimes this mentioned 100000x100000 (woops!) whereas now the message states the resolution is not supported.
  • Wow, that is beautiful. Very, very nice!

  • Moved to Help & Tech Support.

    I'd recommend you go through the Ghost Shooter tutorial at

    It'll teach you most of the basic concepts of Construct, as well as how to achieve that with Private and Global variables.

  • Well, if you want ******** Crysis-level performance, you're going to get in to the more complicated aspects of 3D programming. Games like Crysis use special features to optimise performance. For example, the 3D world geometry itself is in a special kind of vertex memory, called a static buffer, which is kept in GPU memory for maximum performance. Construct does not (at the moment) use static vertex buffers because they're not usually needed for 2D games - basically all geometry is generated on the CPU and sent to the GPU every tick. This is actually most optimal for most Construct games, because nearly everything changes every tick, so it's not worth keeping vertices on the GPU.

    So yeah, if you're going to do performance tests involving thousands of vertices, you'll probably never get the same results as a professional 3D engine like Crysis. You might simply be using the wrong tool for the job.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Can everyone speak in English, to save me having to take lots of trips to Google Translate and getting weird results like "and my day cooking"?

  • The flash feature is fundamentally broken because it's using tick based counts and doesn't use timedelta. I could change it back but it would break all existing .caps using it! And if I don't do that, I don't think I should add any more features to the flash action, it's pretty simple to do yourself.

  • Moved to Plugins, Behaviors & Effects.

    Aeal5566: There is point in 3D features in Construct - take 3D box for example. It's a useful way to add pop-out 3D elements to a 2D level. Obviously Construct isn't going to turn in to a full-blown 3D game creator, but I think these kinds of features are still worth having.

    Glamthaus:

    1. Yes - the Sprite object actually draws a series of its own textured triangles to achieve mesh distortion in the first place.

    2. Your plugin can use vertex shaders if you like, but I don't see much point in a plugin which requires vertex shader hardware support. You may as well do it on the CPU, it's not usually very much processing.

    3. Of course, but your own rotations aren't considered by the runtime (eg. determining if the object is onscreen and therefore should be drawn).

  • Can you post the .cap that hangs? It should work perfectly, and if it doesn't, it's a bug which should be fixed.

  • It doesn't really matter if you check all 30 variables, because the performance impact is ultra small. Just one collision check is probably hundreds of times more intensive than a simple variable check.

    Well said. There's no good way to do this - you can't skip the other events once you know you've hit one - but it doesn't matter, because the impact is so tiny you'd have 10,000x more effect (literally) on performance worrying about, say, the rendering efficiency. So why sweat the small stuff?

    [quote:28hk23w1] events add so much overhead that it's kind of ridiculous to worry about efficiency.

    Did you mean so little overhead? Or are you comparing it to real code?

    Compared to real code, I mean. In traditional languages individual commands are very basic and low overhead. But events are very high-level, and do a lot of work for you in comparison to traditional script, so worrying about their performance is counterintuitive: they already perform badly compared to real script, but it doesn't really matter.

    For 1-30

    if state=loopindex

    • do events
    • end loop

    This would only work if each event for 1-30 had the same actions. But then why would you repeat an identical event 30 times in the first place?

    Every tick

    if state = 0

    - do this event

    An 'every tick' or 'always' event is redundant, because all events are already checked every tick.

  • Really? On this page Firefox uses 27mb, and Chrome uses 19mb.