GeorgeZaharia's Forum Posts

  • this is how i learned Construct ... 1st the thing sort of came to be visually easy, as im a front-end developer so knowing html5, css stuff helped.

    2nd i took all the examples in Construct over the years and disect them took apart line by line see what they did etc...

    3rd i played a lot with one example in particular that made me more used to construct (for me was the audio plugin example), i played with it a lot of time... understood a lot of stuff from it and made me more confortable with the interface. started mixing game ideas with the music stroboscope etc... making objects dance on music, fluctuate etc etc.. so in all what people suggested above... is learn by doing and redoing. having a bit of programming knowledge helps you get into that logical thinking part of things in the event sheet, but even without that you can still learn Construct "programming" by doing.

  • try using .ogg files instead ;)

    or if you can... host the audio files on a private website/server... and once the game starts load the assets from there... careful the file link on server must be like this depending on construct plugin you using: www.randomwebsite.tld/filesource/music.mp3 if the file format is not present in the link audio won't import.

    while this won't make your game smaller... since you will download eventually the full size... what this will do... is have your initial game small. so people can download it, and install the launcher fast. then they will wait in the loading screen of your game while the assets are downloaded, as in any major/normal game you will do. but this method helps you if you want your game to be like just the code no assets to be placed on facebook instant games for example where the requirements maximum files size of game is like 800kb... but that isn't for the whole game, that is for the "snapinest" of initial load only.

    if you can't figure the ogg or the server hosting part out, use audacity, and convert your mp3 from 43000Mhz to 16000Mhz mono/stereo single channel, you will lose some quality... like in any compression, but not that big difference for real... unless your device is like full stereo home cinema blueray etc etc etc where sound is a professional thing.

  • Download C2 Example

    image preview

    dop2000 was right :)

    took longer to place the objects in screen by event sheet than to actually make the calculation work ;)

    have fun... initially who ever said something about placing the loop under the start of layout was right... is just you need to get the order of events properly.

    hope this is what you mean.

    .. if you want to use it for coins in screen in a game... just replace the "on start of layout" to some 1 time trigger. you don't need at that point the creation lines... just the counting "for each coing iid ascending" and do the action. just make sure u trigger it once like... on collision with object, or on destroyed, or on score end game custom boolean trigger 1 time.

  • try removing all ur images and deselect the deduplication.... it might be that ur export in this image particular case is hang by the deduplication process... 2300+ images .... 190mb to be removed... lots of stuff... that is dead weight.

    if that speeds things up with minifier selected then u know what you need to optimize.

    Sebastien i think you might be referring to the minifier "hang error" i don't think this is the case. as when the minifier "hangs" u won't get any time expectation it will just freeze atleast for me.

    on the other hand, you might be right... minifier does affected exports in past as well.

  • With some experience now, I have short-listed the reasons, but I need to be sure which ones are more critical than the other. I need to know which one(s) are likely to be causing the heating issue the most:

    1. Numerous collision events (20+ Physics objects, only two of them moving)
    2. High-resolution sprites! 40+ of them! (max is the background 1080p)
    3. 600+ Events (not grouped, all of them in 1 layout/event-sheet) and 30+ global variables
    4. Layout size: 15300 x 1480 (however, scroll-to enabled with viewport of 1920x1080/scale outer)
    5. Other possible factors: Layer Scaling (not constantly), Time-scale set to 1.5, Photon plugin?

    i totally skipped ur list lol... but yea when comes to collisions, it sort of needs to be clutter free. like the more objects interact in the same time glitches will pop depending on device performance now.

    but around 20 objects interacting in screen can be around normal shouldn't create to much issues.

    high-resolution sprites, max quality should be 512px unless u need for 4k screens. but if ur target is mobile, id keep it at 480p or 720p .. for background images for characters i think 128x128 is pretty big and should show up on most devices very sharp and crisp.

    on events like i said, organize them make sure ur trigger the loops when needed and not have them trigger all the time.

    layout size.. doesn't matter that much.. it might take some cpu but only if u are rendering it all at once, if u scroll into it like on a platformer, and u dont need gameplay wise to go back once screen past some area... u can destroy the objects outside screen, id just create the objects when screen is in that area, will spike a bit the cpu every time u move to new area but then should balance to lower cpu usage and gpu, once creation event finished.

    glad it helped u :)

  • I agree with ashely and others, not sure if my response will help, but here is a step by step what to optimize if your game has cpu usage issues.

    So here are my tips:

    1. optimize your event sheet, make sure u trigger once the events and not on a loop or multiple loops.

    (you can use loops, but under a trigger once condition, like generate on a loop a certain amount of monsters in a circle for example, or check on start of layout a array database xy etc)

    2. you don't need 1080p on mobile games... max image quality u need is 512px anything above that is pointless(if you are not releasing for tablets which might need a 1080p resolution so your games graphic doesn't look choppy --- you can separate assets loading based on devices. however id just keep 512px and just stretch content a bit + a zoom in to match the screen of tablet device), and will just ruin ur gpu performance, making the gpu of the device work overtime for no reason.(after u export find the spritesheet or the assets u have and run them trough tinypng.com once... it will clear some "ghost" shades from it, and cut out the extra dead weight that u actually don't need, like pixel perfect shading transparency extra layers etc)

    3. turn the webgl effects off if u can replicate them with normal sprites (webgl heats things very fast in Construct, even if u don't use effects, having webgl activated inside ur game will heat things up for no reason -- there might be a reason but i think this list is just going to be to long ... u can guess what the reason is).

    4. don't use 3rd party wrappers, try and wrap ur APK or IOS launcher as native as possible (latest C3 i think does this pretty amazingly good, any outside wrapper is just overcomplicating ur process and dependencies), don't use 3rd parties like the old ones we had ... they are a mess, learn to wrap ur own with android sdk is rather easy, to sign and release a certificate.

    5. make sure u export for latest android and not some old android version, sure older android versions might make ur game compatible with older devices, but then ... lots of glitches will be reported, cause the android version is out of date or soon to be dumped from the service maintenance, plus old devices = more weird problems.

    6. this sort of goes into nr 2... but is related to audio ... make sure u have the small size exact what u need as sound and music, dont add mp3,ogg,vobb,+++ 1000 other formats inside ur game one game will be huge, 2 u only need ogg for cross compatibility or mp3.

    7. if ur running in app purchases or advertisements... make sure u don't over-call them, this sort of goes into 1).

    8. Optimize ur event sheet ... i noticed that more than 30 event lines per event sheet is going to create a issue.

    9. Optimize ur event sheet ... You can have more event lines by just separating ur events into more eventsheets like (Audio calls, button triggers, global variables, end game, score game, etc), just include them and trigger them when needed.

    10. Optimize ur event sheet ... no more than 5 subevents and 10 actions per event line. the more u have the more cpu will consume cause of how many things the computer has to check in that 1 fraction of a second before he moves to the next condition event.

    If you would be reading the blogs on optimizations, you would see that the longest and difficult part of game development is optimization. and this step is the most important when comes to having a "good product". That is why i always recommended when going into a "big product for public" make sure u design and code your game from the beginning "optimize in mind". otherwise once u finish it 1 year later, you have to go back to beginning and redo all the code.

    Hope it helped, but i doubt i said anything helpful in here that you didn't already knew.

    As per device heating up as Ashley said, and i think newton also.... for every action there is a reaction, so cpu/gpu is used (especially on a 80% usage cpu) u will have a reaction out of ur device = heat ... ur mobile game ideally should sit at 0-15% usage idle (CPU+GPU) and ~50% on triggers and rendering. not 70% all the time.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • GeorgeZaharia Can you give us an example?

    i can't in C3 but with C2 just create a sprite object add ur image there.... then with browser and touch plugin u say something like this

    On touched "sprite" }action } browser.openInNew... (your url). with C3 similary should work also.

    the coding way i cant use the C3 advanced features... my premium license expired... but if you know javascript a bit or regular HTML + CSS should work, the same

  • I worked hard for this program and my goal was to solve a problem and right now I decided to release this software for free soon!

    Hoping that others will use it and be satisfied

    I feel i had to come back and say, don't be discouraged by what me newt and others are saying, you could do a video, of how things work, explain in more detail, what your software does compared to Constructs default compression and obfuscator. You don't have to give it away for free, i mean is great service for those that need it. But being your work, you can ask what price you want. Please contact at my email [[zga[]agz]]@gmail.com no square brackets.

    Also, when you replied earlier to me, i wanted to say, that even if the price high, you know how much your work is worth, and for those that really needs this software is worth probably more than $40 considering will protect probably assets worth more than $100.

    What i say or Newt says and others about the price is true also, price is a bit high, but again, not really, i seen other software at higher price that dont work properly... if yours do what you said it does then is a good price. But around Construct community we are "cheap" meaning we like stuff that is either free or around or under $20. it's a long history of bargain here hahaha.

  • Hello,

    I tried with the browser, but it didn't work. I can't "prevent portrait" via browser.

    After several days of research and testing, I couldn't find anything conclusive either. Did you find a solution on your side?

    no i did not search for it, since i don't think is a problem that users will face, and if they do they go back to where the game works ... which is normal landscape.

    however i found this i guess u could high jack it for browser, but should work from C3 settings as well since does the same thing.

    tip pulled from developers.mozilla

    in browser u could add a condition ruling, saying:

  • You do not have permission to view this post

  • You do not have permission to view this post

  • u can try this few things for android :never use minification on js... maybe some image compression but that is about it... apk + js minification doesn't play well.

    html5 if this happens: don't use minification, disable adblock as might block some js required files to load Construct, clear cache of browser(images/and particular app data for the specified url).

    for both, if u did the above and still have the issue, make sure all ur files are named corectly in the exported zip folder or the assets folder inside the project u get when u export.

    if they aren't might cause a loading failure, usually this happens with sounds/music files that have both ogg+m4a format, that is why is better to use mp3 or just ogg.

    don't name ur files with Capital leters in beggining example: Audio_Awesome_file.ogg. just name it audio_awesome_file.ogg since the capitalization will be removed upon the export, there might be a mistmatch in finding the file, remember in code the word "Awesome" is not the same as "awesome". capital letter matter.

  • u just answered yourself, in the script event sheet, u do normal javascript... like array=[] etc... same thing... C3 supports javascript fully.please check documentation for other stuff regarding it.

    var someVar = [0,1,2,3,4,5, "cow", 7,8...];

    on event call "someVar[index.nr in the array]" someVar[6];

  • suggestion... if u don't want to use the Construct built in listeners, you can always try this

    w3school event listeners

  • why not just use images(sprites) as buttons instead? (not the best "saving memory" way, but it works, and u have them inside ur project at all times.)

    if new C3 feature allows u to do normal CSS or js, you can pick a button by it's id or class and apply a background image with a "contain" background size or a background-size:contain or a background-size:100% 100%... and position center. make sure ur image and button are the same size... or there will be "visual chops"