Ashley's Forum Posts

  • That's interesting about Motion Blur still working... well, I query the graphics card and it says "I can't make floating-point textures". Then you go and make a floating-point texture and it works. Possibly a bug in the drivers? I'm not sure thats my fault.

  • Ah, thats interesting. I didn't imagine it'd come in useful! Personally, I like to stick with groups and toggling events, but your way is alright too!

  • Personally I'd side with using one large layout for something like this, and just scroll to the next place when you move past a boundary - it'll make editing the level a lot easier.

  • Dev-C++ is no longer maintained so you should find a new compiler anyway. I'm not sure if the SDK builds on anything other than VS - it might do - give it a try!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Can I just ask why you put 'Always' in a subevent? It's redundant - the actions may as well be in the parent event.

    Doing this:

    + Event

    ----+ Always

    ----> (actions)

    Is identical to this

    + Event

    -> Actions

    Imagine writing code that said:

    if (event) {
        if (true) { // redundant!
            func();
        }
    }[/code:20eoptro]
  • Written a new article which explains the nuts and bolts of how conditions work. Essential reading for any beginner or intermediate users.

    http://69.24.73.172/scirra/wiki/index.php?title=Conditions

    Any thoughts, suggestions, questions, additions etc - let me know!

  • It's still running out of VRAM on 64MB cards, because the picture editor is creating a number of temporary surfaces. I should be able to optimise this - you'll have to wait until a future build, or upgrade your video card, I'm afraid!

  • Some of the For Each loops are redundant. In the group 'Pick tank to scroll to', the condition 'TankID' equal to global('LastPickedTank') already checks every Tank to find the one(s) with matching values, so the For Each has no effect. Also, in the group 'Pick tanks', every single For Each is redundant and can be deleted: remember the way conditions work normally, there is an implicit for-each since it checks if the condition is true for every instance, then applies the actions to all the instances that met the condition. In this case, the events work fine without a for-each!

  • The runtime uses linear filtering and mipmapping so it can scale high-resolution bitmap textures pretty well - there shouldn't be any roughness to slightly zooming a sprite. The problem is DirectX 9, as far as I am aware, has no support for vector graphics. There is no such thing as a bezier curve in DirectX - you have vertices and textures, and that's pretty much it. I can't think of a way of rendering vector graphics that is anywhere as near as efficient as rendering textures. Either you use tonnes of vertices and bottleneck the CPU/GPU bridge, or you render on the CPU and send the result to the GPU, which negates the benefits of hardware acceleration. Do you really want vector rendering that badly? I think textures suffice for most purposes these days...

  • I've had similar reports of issues with that same video card before - it's pretty old, and just doesn't have enough video memory. Some textures can't be paged out to system memory and have to physically exist in VRAM, and if these textures exceed 32mb on a 32mb video card, you run out. The picture editor doesn't have error checking for when VRAM runs out, so it crashes. I think I can reduce VRAM usage by the picture editor though, so I'll try and have something sorted by 1.0.

  • Well I'm actually using a DirectX function to retrieve texture memory - I think some texture memory is mapped to system memory so you have more room for textures... I'm not sure how it works, it's a bit annoying it doesnt have much to do with physical VRAM.

  • In any case, I was wondering if anyone who's used Construct quite a bit and is more used to its features by now can provide me with a list of features this program has...

    Construct is quite differently designed, so the list would be very long! However, a very much non-exhaustive list of Construct's strong points amongst other game creators would include:

    • Sub-events
    • Re-usable event sheets
    • 'For', 'While', 'For Each' loops (in a single condition)
    • Designed entirely around a hardware-accelerated engine & pixel shaders; advanced effects like full-display or per-layer zoom, motion blur, skew, bumpmapping, dynamic lighting & shadows, etc
    • Flexible behaviors engine (formerly 'Movements'): every behavior is a plugin with unique actions, conditions and expressions
    • Containers engine to make picking groups of instances very easy
    • Simple expression syntax; parameter editing in a list; useful expression facilities such as string concatenation ('&' operator)
    • Function object for advanced eventing (condition aliasing, pick-preserving function calls, expression functions...)
    • No limits on variables, objects, events...
    • Built-in inline Python scripting
    • Proper timing engine for consistent gameplay speed on all computers, even with V-sync and differing framerates - including TimeDelta expression

    [quote:jssza63n]I've been hearing a lot about pixel shaders in recent versions of all game design programs

    They're just effects, like Monochrome. Add Monochrome to an object, and it appears black & white. This is done at runtime, and uses fancy hardware, so us geeks get excited over it. Most of the effects run very fast!

  • I've made a little tool in Construct to get details about your video hardware, which saves you looking up the specs of your computer. This thread will be linked to in tech support when we need to know your video hardware for a bug report or issue: if we've directed you here, run the program, and paste the output to your thread. Get it here:

    http://www.scirra.com/files/videohardware.zip

    It would be interesting if everyone ran it and pasted the output to this thread as well - it would give us a rough idea of the hardware everyone's on. My results:

    Device name: NVIDIA GeForce 8800 GT

    Pixel shader: 3

    Estimated VRAM: 733 MB

    Motion blur: Yes

    Thanks!

    Update - here's the .cap file for this tool.

  • The way I would do this is add a private variable to your Tank sprite called 'ID'. Then, add an event like:

    + Start of Layout

    + For Each Tank

    -> Set 'ID' to LoopIndex

    This assigns the tank IDs 1, 2, 3, 4...

    If you want to pick the second instance, just use a 'Compare private variable' condition, and compare ID equal to 2. For example:

    + Upon pressing F2

    + Tank ID = 2

    : Scroll to Tank

    This scrolls to tank #2.

  • What happens when you make an application? Does something go wrong? Is there an error?