oosyrag's Forum Posts

  • Mm... usually best not to mess with it IMO. If you're getting anywhere near the VRAM limits, by default that means you have a lot to load, which could cause freezing when changing layouts. Sprite sheeting is a good thing.

    construct.net/en/forum/construct-3/general-discussion-7/spritesheet-question-123103

  • AFAIK it would be loading into memory on start of layout. Pretty important for people with huge layouts to load, as the "freeze" during loading is not pleasant and often resembles a crashed program.

    I'll be using C2 to fiddle with multiplayer and families when my C3 subscription expires. My situation is similar to R0J0hound. I don't really have any major projects and I have a sub mostly just to support Scirra. For all the little examples I like to make the free version of C3 is more than enough (minus the previously mentioned availability of multiplayer and families).

  • I wonder if its in related to the "player details category of expressions" mentioned in the manual but doesn't seem to exist. C3 documentation is usually so complete too.

    In the editor, it looks like there are MyAvatarURL, MyDisplayName, MyFamilyName, MyGivenName, and MyID expressions. Maybe you could use MyID as a unique identifier.

  • Here's an older example I made.

    dropbox.com/s/sujrkr4imdx6o59/quizanswersexample.c3p

  • Mmm... there are several ways to do this. I would recommend using an array to record the drawn path.

    On path drawing active, every set interval push the mouse coordinates to the back of an array.

    On path drawing finished, have the player object move to each coordinate recorded in the array in sequence.

    If you don't want to use an array, you can try using invisible helper sprites instead. As you draw the path, you can create these "cookie crumb" helper objects at a set interval at the mouse location for the player object to follow.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • For instance with your mouse example, it feels like checking whether the mouse has moved would be slower to figure out than just setting the object to mouse position? Or barely a difference?

    That was an overly simplified example, and in that case there wouldn't really be a difference that mattered.

    For a more practical example, see this project I put together for another thread: dropbox.com/s/v56jw51ktwd70mj/bfsfloodfillexample.c3p

    If event 2 ran every tick (following the mouse, since its a highlight) with the heavy flood fill algorithm behind it, it would be significantly inferior to only running upon changing tiles.

    Basically I try to avoid running actions at all if not required (they won't actually do anything). If it's just one action, then whatever. But if its more, it can make a massive difference. It's very easy

    normally to overlook this, because of the fact that there's no discernable difference between "Event runs, nothing changes" and "Event doesn't run, nothing changes" (unless you start losing significant framerate, as would be the case in the flood fill example). But in the first scenario, the cpu could be doing x amount of work in the background, even though there are no visible changes.

  • construct.net/en/make-games/manuals/construct-3/plugin-reference/ajax

    construct.net/en/make-games/manuals/construct-3/plugin-reference/binary-data

    The AJAX plugin is actually the key here.

    Binary data

    The AJAX object can receive resources as binary, and also post binary data, using the Binary Data object. This is also useful to fetch local resources like canvas snapshot URLs or video recording URLs, and load them in to a Binary Data object to do something else with them, like save it to storage or upload it to a server.

    Set response binary

    Use this action before a Request action to read the response in to a Binary Data object instead of returning it as a string in the LastData expression. This allows for non-text resources like images to be fetched and processed directly.

  • You may be able to save the image binary into a global variable (to be saved with the built in save/load) or a local storage key. If not, you could at least save the path of the chosen image as a variable/local storage to load again next session.

  • Your OP said you needed to generate a set of nonrepeating numbers. That's what the permutation table does. And you were talking about letters.

    Your second post has nothing to do with either of these things, and is not specific enough to build any particular solution without answering the issues mrcgkh raised.

  • Some recommendations for cpu:

    Any event that can be triggered, should be triggered.

    Avoid running anything every tick, even though it seems like it might need to. For example, setting something to the mouse position every tick. This can be optimized by setting it to the mouse position only when the mouse moved from it's previous position instead.

    Narrow the scope of every event as much as possible, especially in loops or for each element, to act upon only what it needs to act upon.

    As for memory usage, that memory article scirra.com/blog/112/remember-not-to-waste-your-memory covers it pretty well. Generally speaking you don't want to even get near the limit of available vram of your target system. If you need to exceed that amount, use layouts to break up and manage memory usage.

  • Create a permutation table size 26 with the advanced random plugin. Associate each letter with a number, 0-25.

    construct.net/en/make-games/manuals/construct-3/plugin-reference/advanced-random

  • No, there is not.

    But there may be other methods to achieve the end result you desire.

  • I notice you seem to have a lot of trouble with saving your projects, from your previous threads.

    Most people do not have trouble doing so, so it is hard to know how to help you with the limited information you provide.

    What platform/browser are you running on?

    Were you able to save your project before?

    Are you able to save any project, via different methods and websites? (Try dropbox or local save)

    Did you make any changes between when you were able to save and were not?

    Are you using any addons? Which ones?

  • It is a fairly common question.

    godotengine.org/qa/18559/how-to-add-commas-to-an-integer-or-float-in-gdscript

    forums.unrealengine.com/t/add-thousand-separator/43710

    stackoverflow.com/questions/721304/insert-commas-into-number-string

    It's solved by regex already, so it's not something that engine developers normally go out of their way to specifically add in after already supporting regex.

    Also, while it can be difficult for a beginner to think through it, it wouldn't be hard for an experienced developer to put it together in half an hour with the math tools provided, which you can then utilize. That's all libraries and behaviours and plugins are in the programming world: people who have put together ready to use code so you don't have to yourself.

    I personally had some difficulty because I ran into exceptions and cases where my approach would break or not work, due to my unfamiliarity and lack of research on how other people did it before trying to tackle the problem. But programming can always evolve. I'm thinking of I can clean it up, turn it into a function with parameters, and make sure there aren't any buggy situations, I could probably submit it as a feature request and get it added as an expression. (Alternatively make it an addon, copy and paste able function/event, or JavaScript library, ect.)

    Now that I actually look and research a bit, of course it's already been done before. stackoverflow.com/questions/1990512/add-comma-to-numbers-every-three-digits