TheRealDannyyy's Forum Posts

  • Hello, if you just got here please take a moment to read everything carefully before posting your suggestions and/or examples below!

    Background Details:

    For better understanding about the request I would like to go into some background details real quick.

    I bought a Spriter Pro license a few months ago and I really enjoy the benefits of using it in combination with C2.

    Currently I'm working on a large game with a lot of animations going on and just recently I wanted to create something that almost all modern 3D and 2D physics based games have: physics ragdolls.

    My Feature Request:

    Now to my feature request, I would like to implement physics ragdolls into my game.

    To be more specific, I would like to make a ragdoll animation that starts after a spriter object got hit (e.g. on collusion with bullet).

    I know that spriter objects contain each bone as sprites so my first attempt was using the example character (HERE), selecting each bone/sprite of the character and adding the physics behavior, then I did follow the official example with physics revolute joints.

    My basic idea was to enable physics for each part when the player got hit by a bullet, unfortunately after many failed tries it didn't work as I expected it to work and did result in weird wobbly physics glitches with sprites flying all over the layout. (I disabled all spriter events which manipulated the charactes position before starting the ragdoll.)

    The Summary:

    Now I'm back at the forums after using the magic search tool, I read through several topics about physics ragdolls but not one of them did fit my needs.

    At this point I'm not even sure if something like this would be possible to achieve with just a few events and without major performance issues.

    I know this is might not be as easy as I think it is but if anybody knows a possible way to achieve this, I would really appreciate to see some working examples with spriter objects including a physics "death" ragdoll.

  • I'm not sure about this but did you disable "Pause On Unfocus" in the project propeties?

  • I tried that but it doesn't seem to work when NW.JS is used as the browser. Unless I just had it set up wrong.

    If that is indeed the case you should file a bug report with the all the requirements right now! (capx + how to reproduce)

    Anyway modifying the runtime code myself worked, its just not the most convenient way of going about this.

    I like to hear that, I modified a fair amount of C2 files too already.

    What exactly did you change to get it back working like was used to before?

  • > It's designed to stop the game running while you go back to edit it further in Construct 2. Why would you want that after publishing?

    >

    Because people tend to multi-task on computers and so its nice to have the game automatically pause events and especially sound when one clicks on a different window.

    Thanks for the info.

    What about timescaling?

    Check if the game is out of focus, when it is just set it to 0.

    The browser plugin has all the conditions you need for that.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • First of all, poor game performance is not always the issue of HD graphics, often unoptimized code (events) are the cause of performance leaks on low-end devices.

    Now to your question, the game dimensions are quite important when it comes to Construct 2 games in terms of good game design and quality.

    Don't get me wrong on this point but Construct 2's scaling methods work fine but the lack of vector art support let's every SD resolution game look like garbage on modern HD devices.

    So my recommendation is something between Full HD and SD graphics for mobile games. (720p or 480p if the performance is too poor.)

    I'd also recommend you, if you have a game with a lot going on (e.g. platformer, 2d shooter...), to use the "Set Minimum Framerate" system-action which usually improves the visual appearance on low-end devices and greatly compensates collusion checks.

    This is just one man's opinion thou, you should wait for more people to respond and help you out.

    Niceone, keep it up!

    Don't get me wrong on this but I'm waiting for a stable and bugfree state of NW.js for months now!

    I think the plugin is already quite stable but NW.js should really step up and get to an end soon.

    Ashley are there any news on the official C2 adaption of the plugin with possible extras, automatic NW.js + Steam export maybe?

    (I know that we are waiting for the 32bit version.)

    Ok to get this thread back on topic again...

    Yeah sorry about that again, I'll make a seperate topic for questions like that in future.

  • >

    > It is a system action called "Set Minimum Framerate".

    > You set a number from 1-60 and if the framerate goes below that number the game goes into a "slow-motion" state,

    > which is great for compensating collusion checks on low-end devices that usually cannot get up to solid 60 frames.

    >

    How could I forget that such feature existed?

    Yeah it is one of those features which got us surprised because it got denied for being "not required" several times before.

    It is nice and we appreciate it of course but it has been added way too late, the community even found a self-made solution for this

    with events, even thou it works technically not the same as the added system action does.

    Release r210 added the feature I believe, anyway you can scroll down and find a better explanation how it works HERE.

  • > For any game with high dependence on collusion checks, I highly recommend the "slowdown" feature.

    > It is amazing in terms of compensation on lower frame rates and keeps everything smooth.

    >

    What is the "slowdown" feature?

    It is a system action called "Set Minimum Framerate".

    You set a number from 1-60 and if the framerate goes below that number the game goes into a "slow-motion" state,

    which is great for compensating collusion checks on low-end devices that usually cannot get up to solid 60 frames.

    However I do not recommend this feature on timer based games, it could give low-end devices an advantage because

    they might get more time to react to things while the game is in slo-motion.

    I usually set it to 30 because that is the framerate where collusion checks tend to get tricky to handle.

    I also only recommend it on the main game layout and not on layouts where it is technically not required. (Menu layouts for example.)

  • For any game with high dependence on collusion checks, I highly recommend the "slowdown" feature.

    It is amazing in terms of compensation on lower frame rates and keeps everything smooth.

    >

    > ...

    > So to sum it all up, if I would make a custom saving system to a file, do I have to encrypt the variables saved into the file?

    > I appreciate all kinds of links to existing separate file saving methods, sorry that I went off-topic here!

    > (I know that the most of the users who subbed to this topic only want to know news about greenworks and not things like this. )

    >

    I don't get the snide remark about simple games since my game is far from simple but let's not pursue that any further, for courtesy sake.

    Now, since you already have the required saving information in variables, it is a simple matter of reading the previous information in a custom file into a string variable and then parse it to see which of the new information will replace which or be added as new. After all the computation is done, simply write the variable containing all the saving info into the same custom file (e.g. settings.ini).

    If you want to add some encryption to the mix, simply do it inside the game event sheets for decrypting after reading the file and encrpyting just before writing the data into the file as just another part of the computation.

    This is not hard at all, just very tedious.

    The thing is, I don't want systems like my current webstorage one were it has a fixed path, I want a system that does all the work for me.

    The "webstorage+" plugin my friend made is good and works fine, but still has a lot of events I have to deal with.

    (Similar to the local storage plugin were you have to wait until it has done its work.)

    I want a system that is easy to use, customizable and that is safe from any kind of manipulation. (Something like you told me with ini files.)

    I know that you probably think "just deal with it", I get that if you do but I'm more the type of guy that wants to

    focus on visuals and create maps + gameart instead of working a lot with the eventing system.

    I have some years of experience and know how the most of the stuff works but I guess there will always be better and more simple ways to create something like this.

    I don't get the snide remark about simple games since my game is far from simple but let's not pursue that any further, for courtesy sake.

    I mean like, I want to set e.g. audio, graphics and other gameplay settings and reset all the positions, behaviors, events completly when loading a save.

    For me the savestates look like something for either huge games where it is almost impossible to save each variable into a file or more "simple" games like platformers were you want to load directly into the last spot you were in.

    My game has an online mission based system, so you can kinda see why full-state saving is not the best solution for that.

    Could you maybe include the links to the plugins or tutorials for the systems you recommend me to use?

  • ... It could be a problem if people are using projects which already use these names, but I'll put it in a beta release and see how it goes. It should prevent this problem ever happening again.

    Thanks Ashley, I don't know if it is possible but could you maybe add a notification system for those projects who already use the reserved names?

    I am adding to his statement with the fact that you can simply use the official save and load functionality for your own custom save files. Without much hassle.

    How?

    Pretty easy.

    For saving, as indicated in the manual, on saving complete, save a copy of the save json into your own custom file that you created for this purpose. Remember to use a marker so you can identify if the json is a new one or will it replace an existing one in that file.

    When loading, just parse through the file and load the correct json using the load from json function which is provided officially by Scirra.

    There you go, easy as it can be. And you can have full cloud support with your own custom files.

    The built-in savestates are an awesome alternative for more "simple" games were saving certain global variables doesn't matter that much.

    However, if you have a game were you want to save variables only, I prefer using webstorage (my modified version with encryption inside), I just recently changed to local storage because it is technically save from any way of manipulation. (To be honest, waiting for localstorage to do its work is still annoying and I consider to go back to my old webstorage saving method in future.)

    So to sum it all up, if I would make a custom saving system to a file, do I have to encrypt the variables saved into the file?

    I appreciate all kinds of links to existing separate file saving methods, sorry that I went off-topic here!

    (I know that the most of the users who subbed to this topic only want to know news about greenworks and not things like this. )

    I mean you're able to create your own save logic in files with nw.js without localstorage (e.g. "%userfolder%/documents/mygame/save.data") and you're able to set a path in steamworks partner web for cloud save so you don't have to use a plugin to do this.

    Thank you for the quick reply.

  • Thanks for making this clear, this can be a possible way to reproduce other bugs which could be related to this.

    Perhaps this could be added to C2/C3 in future.

    Maybe some sort of external file with all names, which the engine uses to check if you are allowed to use a name or not.

    (Just an idea thou, not a must-have.)

    glerikud , if you want add achievements, you need plugin else for trading cards or cloud a plugin isn't needed

    MadSpy You say that a "cloud" features inside the plugin are not required, in fact how would you for example store savedata like localstorage to the cloud anyway?

    So far I don't know much about the game SDK or how certain features like that work.

    (My guess is that Steam's cloud system works with relative savedata paths that you have to mark out in the SDK.

    However even if it would work like that, what would happen if future NW.js versions would change the localstorage-data path?)

    I think since NW.js + Steam are going to be a "big" thing in the next couple of months with the stable

    release of NW.js, things like this should be in the manual. (I'm sure that Ashley will do that, just a little heads up anyway. )