WackyToaster's Recent Forum Activity

  • There is also mysprite.count that does that.

  • I think you have to use this plugin "rgbaAt(mouse.X,mouse.Y)"

  • It´s hard to tell without seeing the source code. What error do you get? I work a lot with ajax and never had much of a problem with it. The only issue I had were CORS issues, that were relatively easy solved. I think that might be your problem. Try the following php code.

    <?php
    header('Access-Control-Allow-Origin: *');
    echo "Hi this is text";
    ?>[/code:37vdaafy]
    
    CORS means [i]Cross-origin resource sharing[/i]. Since C2 preview opens it´s own server that then tries to connect to your server, your server says "An outside connection... boy that might be harmful to allow access" and thus denies it. If you export your project as html and upload it on your webspace, it should work without defining the header, but from outside sources you have to specifically allow access.
    
    Please be aware that "header('Access-Control-Allow-Origin: *');" opens the access to the file up from any source outside your own server (* is the wildcard) and is not recommended. For testing it´s totally fine though. Instead of * you can also use any webadresses (including localhost and/or the ip of the construct preview)
  • Afaik the scirra facebook plugin does not work on mobile. You have to use a third-party-plugin. I think cranberry has one, I also used https://www.scirra.com/store/construct2 ... nnect-2650 with success.

  • Yes, you should add the health variable to the family. Then place your mages on the layout and change the health variable to whatever you want for each mage.

  • I assume you added the instance variables on the family. In this case, substract 5 from health does exactly what you need. Instance variables are for each instance of the family, not the whole family.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Let´s do it the easy way: tokenat!

    tokenat(str(number), 0, "")

    The number has to be converted to a string with 'str(1234)'

    If you have variable lenghts of numbers you probably want to make use of tokencount and loopindex.

    See: https://www.scirra.com/manual/126/system-expressions

  • Got to the boss, but gave up there because I couldn´t reach that last switch or the dynamite, no clue what I am supposed to do there. Be very careful about what and how you make your game hard. Make your game fun first, then make it hard. The line between hard and just plain annoying is very thin, and I think you crossed it into the annoying part.

    Waiting for paypal

  • I think you should be fine, as long as you keep some things in mind.

    • First of all... what is full-size? 480p? 720p? 1080p? Construct will scale the images up or down regardless of resolution, but the size you choose decides how big the image will be. It depends on what your main target resolution will be.
    • How many layouts do you plan to use? Because one layout = one more image.
    • Do NOT move these big background images. This costs a surprising amount of power. Move the viewport instead.

    I can only guess but if you go for 720p png images you should be able to go for ~1mb per layout. Also depends on how many colors you use (how good it compresses) or you could instead use jpg or gif (lower quality, lower size). Or you could load the images from a server. (Requires internet connection though)

  • [quote:2f3cp1ev] I have no idea what type of game you are making but that seems to me to be a bit overkill.

    I should have made it more clear that this is just an example, I don´t actually make a game right now, just an app. It was just exaggerated to show my thought behind it, that the event system will go through all other events even if they are not in the layout, before getting to the one event that matters, thus eating performance for nothing.

    [quote:2f3cp1ev]what I've learned in my experiences is that ESPECIALLY if there are no instances of the enemies - it will consistently run all code checks pertaining to the non-present enemies.

    What I do is create a spawner for each enemy, and at the start of a layout I check if the spawner exists. If it does, I enable the group for the enemy code and create the enemy per each spawner. If it doesn't exist it disables the group.

    Sounds like a good and easy approach to me. Not having to think about all the includes would make it even easier.

  • Something I always wondered regarding optimisation... what is the best practice for organizing event sheets? Or rather, does any of the approaches make a huge difference, performance or otherwise?

    Let´s say I make a game with several layouts and 1000 enemies, each with individual behavior. Now my personal approach on this is to make an event sheet for each enemy, and use includes in the layout event sheets to only use the enemies I need. So a layout that only uses enemy #874 will also contain only that part of the code. Everything is neatly organized and I´m pretty sure that is the definitive approach for it. (right?)

    Now my question is, if I were to make one single event sheet that contains all 1000 enemies (sounds like code-hell) and include that monstrum in my layout event sheet, again for a layout that only uses enemy #874, how are the events handled then? From what I understand is that the event system will first go through the conditions for enemy #1-#873 (top to bottom, excluding sub-events) and then finally reach the only enemy that is used. Wouldn´t this impact performance? Or is it not even checking the conditions since the layout does not contain the instances? (Isn´t this a check in itself, to see that there is no instance?) If it does impact performance, it should be mentioned in the Performance Tips.

    Now a different situation. I (actually) create a single-screen app. The app can have different states/pages that are currently active, and based on the current state a set of events should run. Since it is only one layout, it needs to include all the code for each state/page. But obviously if I´m on page 3, I don´t need to run the events for the other pages. I handle this by using a state machine (If you haven´t heard of it, google it right now and thank me later ) So it only needs to do very simple checks (state 1, nope. state 2, nope. state 3, yep) However, I could also use the ability to enable/disable groups, I assume this would theoretically be faster, since it doesn´t even have to check anything and only runs the enabled group, but only by a miniscule amount. (right?)

    And now a last question. The event system works top to bottom, and once it worked through all events, it makes the drawcall. This is one tick. But doesn´t that also mean that on a sub-tick level, nothing is allowed to happen at the same time? I´m pretty sure in certain cases this would heavily compromise stability, but in other cases where it doesn´t matter, would it speed up the process? So instead of "Do A, then B, then C, then D" it would be "Do A, B, C and D". Now even if it would speed up, it´s questionable to sacrafice stability to squeeze out 0.0001 fps, but maybe for bigger projects it would actually improve for 3-5 frames and might be worth it as an option. I imagine a sort of "Run simultaneous 'tag'" condition, aswell as a "Run simultaneous events with tag 'tag' now". That would allow stuff to run simultaneous while still beeing somewhat controlled within the event system flow.

    Or maybe I just have too much time to think

WackyToaster's avatar

WackyToaster

Member since 18 Feb, 2014

Twitter
WackyToaster has 25 followers

Connect with WackyToaster

Blogs