megatronx's Forum Posts

  • > Also remember that laptops hd screens are not that common yet, and usually their resolution is around 1280x720, and the screens are most often 15", so 860x540 in low quality scaling will look decent, but even on 17" it will look fine.

    >

    >

    right right! didn't even think of this.. so rendering HD when a laptop's max resolution is 1366/768 is a complete waste!

    my only problem now is on some of the advanced UI sections I use screen offsets..ugh..kicking myself! rookie mistake..

    For ui just use Anchor. Also on start of the project testing for resolution and then loading UI graphics trough url from other location so you can have different resolutions of ui. And if you feel like more work, then could do that for whole project. But Ashley confirmation of this being useful from performance perspective ( as from visual side it lets you perfect assets for several types of resolution ).

  • I finally bumped in to this project. It looks wonderful!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • > But now imagine something different: that your sprite is 64x64 but shrank down in c2 layout editor to 16x16 and the game is still 430x270. In high quality scaling and in full screen and in full hd it again becomes 64x64. But now it is not upscaled 16x16 sprite - it is that original 64x64! Now check this: if the pc is not strong enough to output assets in full hd, you switch renderer to low quality scalling, and now this 16x16 is rendered as 16x16 but upscaled to fit the screen.

    >

    > So what you need to do, is to set your games resolution to half hd i wrote above, make all sprites in the editor half the size, but load original hd assets, and those will render now differently depending on the type of scaling.

    >

    >

    okay got it! sounds good, I will definitely check this out. Awesome.. thanks! So when you mentioned before keep decreasing the asset resolution.. you mean find a point where it looks good without looking too blurry for that low-quality setting?

    btw, I can't imagine anyone playing my game windowed, it will always be fullscreen, I'm not giving them the option if I can help it.

    Is high quality scaling a run-time modifiable parameter? i.e. could I have a user change this setting while the game is running?

    >

    > And now going back to your question about optimising the graphics: you do this in photoshop. For example that nebula could be done differently: instead of having interlaced 16-bit or higher png, you can set its saturation and levels in ps, and also replace transparency with black colour, then export as 8-bit png, and in c2 editor set it's blending mode, making black background becoming transparent.

    >

    >

    I've done this (blend mode to additive) on black backgrounded images before, but I had no idea it saved memory... it sounds familiar, but I guess I never really looked into it! How much of a difference does it make? I have a TON of images that have LOTS of transparency. Should I convert them all???

    In system events you will find renderer option, which you can switch at runtime. The goal is to have both: good looking high and low quality scaling image, remembering thought that high quality scaling will look better; it's like finding compromise, based on priorities: you can keep high resolution for objects in foreground, and lower quality graphics used for background. You could also build backgrounds and bigger objects, from number of smaller objects. This way you can reuse them creating more variety.

    Also remember that laptops hd screens are not that common yet, and usually their resolution is around 1280x720, and the screens are most often 15", so 860x540 in low quality scaling will look decent, but even on 17" it will look fine.

    Some people play windowed, because they have other applications running that they need to keep an eye on.

    In photoshop just press ctrl+alt+shift+s which will bring up export window, where you can work on optimization. In the bottom-left corner is size of the file, so you can make easy compartment. In that same export window you can work on colours of images, for 8-bit export.

  • Small update - Shards wasn't playing as well as I wanted it to, so I'm reworking it. Like usual, all of my estimates for when it'll be ready for presentation are way off.

    I understand now why so many game developers often don't innovate much. It's really hard to get right.

    How's the project going?

  • megatronx my genre is top-down space shooter.. unbound layout. So I have pretty big background graphics.. nebulas, star, planets etc.. the nebulas are the most worrisome because there needs to be a lot to give the levels some "life" (color), otherwise it's all bland black and white stars...I'll be posting the trailer this week.. here's my parallax test vid.

    https://vimeo.com/137027609

    >

    > keep all assets hd first, but then gradually lower their resolution, starting with the obvious assets of lowest priority of importance.

    >

    Do you mean make my current graphics lowres, by Shift-click dragging the corner of the sprite in the Layout view? or are you saying to scale them down in PS?

    I was originally thinking of doing exactly what you are saying as a way to test performance - like who cares what the graphics look like, just make all my current assets tiny and run the game. But I have so many things on my plate I decided to come to the boards to see if anyone was ever wondering the same thing. i.e. is it a worth while test?

    You can still make it look like a blast!

    Optimize in PS, not in c2 and not by shift-drag. This doesn't do anything if you are using high quality scaling -it will still load full res image and then it will shrink it. But it works in reverse too: if you have sprite 16x16 and game running in 430x270 and high resolution scaling, and you are outputting this in full hd, that 16x16 sprite becomes 4 times the size when rendered, it becomes 64x64, and takes as much memory, even thought it is still looking like 16x16. But now imagine something different: that your sprite is 64x64 but shrank down in c2 layout editor to 16x16 and the game is still 430x270. In high quality scaling and in full screen and in full hd it again becomes 64x64. But now it is not upscaled 16x16 sprite - it is that original 64x64! Now check this: if the pc is not strong enough to output assets in full hd, you switch renderer to low quality scalling, and now this 16x16 is rendered as 16x16 but upscaled to fit the screen.

    So what you need to do, is to set your games resolution to half hd i wrote above, make all sprites in the editor half the size, but load original hd assets, and those will render now differently depending on the type of scaling.

    And now going back to your question about optimising the graphics: you do this in photoshop. For example that nebula could be done differently: instead of having interlaced 16-bit or higher png, you can set its saturation and levels in ps, and also replace transparency with black colour, then export as 8-bit png, and in c2 editor set it's blending mode, making black background becoming transparent.

    Also, exactly on images like nebula, you could try lowering their resolution in PS, because when rendered in high quality, the outline might not be perfectly smooth, but if you work it out, it being lower resolution might be barely visible.

    Stars in the background you can easily slash by half of their resolution, and in c2 use sharpener and maybe some polishing one to give more brightness ( thought here I can't remember if the shaders will also render in full hd if high quality scaling is on, or not )

  • >

    > For me it was a nightmare and took very long time to make decision of dropping hd assets and going with pixelart. But the longer that decision took, the more other things I did in construct and ultimately, in the end it was easier to go with pixelart.

    >

    yes, probably in the "grand scheme of things" switching art assets/resolution would probably only take a week... but having the actual art done would take considerably longer.

    Cool thing is that you don't really need to switch resolution if you are using high quality image. You're only left with making and replacing assets. Another cool thing about making the game in pixel style first is that after switching assets, which is just a pragmatic process, you won't have that many objects on the screen anyway! And btw, for pixelart games I use half ( 860x540 ) or just a quarter ( 430x270 ) of hd resolution. It upscales perfectly, layouts remains small, controls are more responsive, and if you want to replace assets, it takes only a moment. Thought in my current project I'm using 640x360, which also does upscale perfectly, but for different reasons... I don't remember what were they thought?!! ;D But for artistic reasons I do scale that layout a bit.

    I tell you what: try making your game in 860x540, use high quality image, and keep all assets hd first, but then gradually lower their resolution, starting with the obvious assets of lowest priority of importance. And then make them even lower res and compensate with shaders, but have them disabled if you're running below 55fps; with no shaders it will work okeish on older, integrated cards. If it still wont work well, and still fps is low, set events to change image quality to low. Good news is that on laptop screens low quality in such resolution will barely be noticeable. GL!

    What genre is your game?

    EDITED

  • Take your button sprite and create boolean variable. Name it something like "Is_Playing". Now events:

    Main Event

    On BUTTON clicked

    Sub-Events

    • Is_Playing : Stop, toggle boolean "Is_Playing"
    • Else : Play, toggle boolean "Is_Playing"
  • Maybe try blueprint in Unreal 4 engine.

  • Or just make global object with boo's. I am actually finding this much more comfortable then if I'd have to scan trough globals and locals.

  • I'm finding it not to be very responsive. Many times the triangle doesn't gain any speed even after long swipes.

  • Looking extremely rad man! Great work!

    Octopus disc; in music you have octachord ( which apparently is an instrument too ?), so definitely name need's to start with Octa- or Octo- . So maybe name should be Octatonic or Octotonic? ;D It's a musical enemy so "-tonic", which is a name for root note in a musical scale. But there's a disc/eye, so another option would be Octatonic Dj, or Octotonic 'J... Octatonic 'J.i ... ;D

  • Howdy,

    I've been playing around with event based procedual terrain generation and I noticed something awful.

    A function impacts performance 5x more than another event call. The more you do within the function the less that becomes in relation. But if you call a function simply to perform 1-2 events, just copying and pasting those 1-2 events saves mucho cpu time.

    I'm not sure why the performance hit is so great, but once a game is all done and made, if you have performance issues you may try replacing function calls with the code. This makes your code base unmaintainable and awful to look at but you can gain a bit of performance by doing it. This should only* be considered if you are struggling with performance and have eliminated other bottlenecks. Obviously if you have 1000 physics based objects, you may find that reducing function calls is a waste of time in the grand scheme of things.

    Better yet, use the event system only to tie scripts together. Do everything else in scripts. That saves over 9000, a whopping 500% to 1000 points more . Ya..

    I often like to make dynamic function call systems in placement of switch statements (as construct has none) and event driven dispatch systems, but this may not be as efficient as simply going through a giant condition list.

    Interesting. In did they can tidy up the code immensely. But I did notice functions being not efficient long time ago already. Unfortunately for some systems they are a must. I'm even wandering, just right now, moment before seeing your post, if should keep using families, or just making events for each type of object separately,and will that give me better performance?

    And what do you mean by "scripts" - do you mean actual scripting, programming own scripting language within c2 (which I often do), or just events?

  • Not really enough details to say why it wouldn't work. Assuming the sprite is in the family like you say and it has that boolean set, it should work.

    That said it may not be pickable yet if it was just created and a toplevel event wasn't reached yet. Is it a sub-event of something?

    Yes, it is a subevent of On start of layout. So You must be right. But meanwhile, I've just created one more boo, to specify this particular type... and testing... and it doesn't work too. Here's full view.

    https://drive.google.com/file/d/0B0jUjW ... sp=sharing

    MadSpy Why would you pick is_shooting = 1 first and not later as I'm doing? I'm probably missing something: Is there a huge difference?

    Edit@Eh, i might be too tired tonight; I forgot that the angles are calculated on start of another sheet and using objects that were absent from the layout. Sorry guys but thanks for your suggestions.

  • Hi,

    I have this set of conditions, but picking doesn't seam to work. The object in question is inside the family that loop runs trough. Any suggestions?

    https://drive.google.com/file/d/0B0jUjW ... sp=sharing

    Thanks

    M

  • Hi!

    Ability to create and place notes on the layouts, as well as sprite transformation tools for sprite editing, and ability to draw collision masks, and masks ( like in photoshop ). All in layout.

    Thank you