Ashley's Recent Forum Activity

  • You can now reply to topics in this forum to comment on announcements. Only admins can start new topics though.

  • Construct 0.99 (unstable) released

    We finally made the 0.99 testing release - and as expected there were some serious problems with it, since a huge amount of code was changed for this build. So we'll follow up with 0.99.2 with a lot of fixes in a couple of days, which should be a stable build. If you haven't read about it yet, 0.99 introduces new 3D features (3D mesh distortion, a mesh editor, and Z elevation for sprites), new project bar organisation, and controls to manage the usage of VRAM in your application.

    The road to 1.0

    The next major build release of Construct will be 1.0. We have now implemented all the features we want for 1.0, and until then, we will focus solely on bug fixes. There are around 150 open items on the tracker, and through the 0.99 minor releases (.2, .3, .4...) we will aim to get these as close to 0 as possible. Once we're satisfied with the bug fixes, we'll release version 1.0!

    Beyond 1.0

    After 1.0, we will continue to maintain the 1.0 branch with bug fixes and minor features, but we will change focus to start work on our next project: Construct 2.

    As you probably know we're all volunteer student developers, and we've essentially learnt how to program properly in developing Construct, a huge and ambitious project which has been, overall, a success. However, in our relative inexperience when starting the project a couple of years ago, we made some poor design decisions, such as how to lay out the overall structure of the code behind Construct, and the technologies we used. As a result, we've ended up with some difficulties in maintaining code these days, and given our much increased knowledge of programming from our experience developing 1.0, we think we can do a lot better. Further, new technologies have since become available - like the MFC Fluent UI system - which would be a big step forwards for the editor usability.

    So the plan is to rewrite Construct 2 from the ground up. This isn't as epic a job as 1.0 has been: parts of Construct as it is right now, are very well written, like the new renderer and project bar. We can just lift those directly to the new codebase and reuse them with very few changes. That also eliminates the many hours of debugging and testing that has gone in to those areas. Also, given our experience with 1.0, we should be able to write code faster with less time spent on debugging and back-and-forth changes. This also makes it possible to involve a whole set of new technologies, such as an OpenGL renderer, unicode, ports to other platforms, cross-compiler SDK, XML/folder-based projects, even more 3D features, and so on.

    The last thing we'd want to do is shoot ourselves in the foot long-term by trying to coax the current codebase in to doing things it was never designed to do, and that seems to be common in the software world. Short-term, we will probably fall behind our competitors as we work on it, but long-term, we'd come out with something truly kickass And it always pays to think in the long term. The downside, though, is with such a complete rethink, it's unlikely .caps from 1.0 will be able to be ported in to Construct 2. Importing the old .caps would mean making 2.0 100% backwards compatible, including the dubious design considerations, and impede progress considerably. I know this will frustrate some people, but we're not dropping the 1.0 branch - we will continue to maintain it. Plus, it's necessary, for a clean, fresh start.

    If we do it right, we won't ever have to have another rewrite after 2.0. Everything will be upgradable from there in to the future. And the future is what we want to be thinking about

  • Actually I've noticed on my video card render-target surfaces can be non-power-of-two (ie. 1280x1024 instead of being promoted to 2048x2048), but I'm not sure if all cards can do that. It's still 5mb of VRAM for a 1280x1024 surface, though, and if you're using all possible effects, transitions, etc then the runtime may well need to create four or five temporary surfaces. It has to be done that way - you just have to live with it.

  • No, the control press conditions are triggers within the Mouse & Keyboard object... why do you need to trigger them manually? What are you trying to achieve?

  • I was going to have an option to switch between fullscreen and window mid-gameplay (assuming that Construct bug gets fixed), but that would just stretch the image out.

    Set the resize mode in application properties to show more window content.

  • What would you use it for? Doesn't mesh distortion do something a bit like that?

  • What size is your application window? Is it just that one transition or others?

    Using transitions requires creating temporary surfaces the size of the application window, so if you have a large application window, this can consume a lot of VRAM.

  • I wouldn't do what you do in that .cap.

    Every 4 vertices in a distort map renders like a sprite (since a sprite is made of 4 vertices), so you've gone and created 1500 vertices on startup just for your terrain, the equivalent of 375 sprites. Spawning 60 canvases will unecessarily waste a lot of VRAM, especially if you have large levels. The paste and update collision masks are fairly slow functions and you shouldn't call them regularly.

    If you want that, why not just have 10 random images in a sprite animation and set them randomly? You'll use a HUGE amount less processing power and memory!!!

  • It'd be a really tricky algorithm to make distort maps collide properly and be very time consuming... what do you need it for?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • If no plugins, behaviors or events check for collisions on an object, then there are no collision checks on that object. Therefore, setting the collision mode to 'none' has no effect. What would be the point of checking collisions for an object that doesn't need them anyway?

  • Hmm, a very tricky algorithm to write... might be slow to process too...

  • If you set a layout to load on app start, with the application setting being load per-layout, that one layout is loaded at startup and isn't freed until the application ends, so it never frees the VRAM. Does that help?

Ashley's avatar

Ashley

Early Adopter

Member since 21 May, 2007

Twitter
Ashley has 1,767,820 followers

Connect with Ashley

Trophy Case

  • Jupiter Mission Supports Gordon's mission to Jupiter
  • Forum Contributor Made 100 posts in the forums
  • Forum Patron Made 500 posts in the forums
  • Forum Hero Made 1,000 posts in the forums
  • Forum Wizard Made 5,000 posts in the forums
  • Forum Unicorn Made 10,000 posts in the forums
  • Forum Mega Brain Made 20,000 posts in the forums
  • x125
    Coach One of your tutorials has over 1,000 readers
  • x74
    Educator One of your tutorials has over 10,000 readers
  • x5
    Teacher One of your tutorials has over 100,000 readers
  • Sensei One of your tutorials has over 1,000,000 readers
  • Regular Visitor Visited Construct.net 7 days in a row
  • Steady Visitor Visited Construct.net 30 days in a row
  • RTFM Read the fabulous manual
  • x42
    Great Comment One of your comments gets 3 upvotes
  • Email Verified

Progress

32/44
How to earn trophies

Blogs