mrtumbles's Recent Forum Activity

  • Personally, I find the Sine behaviour useful for creating this sort of effect. If each one has a sufficient amount of random variation, and affects the X and Y of the object, they will appear to move as a swarm.

  • Do you mean the screenshake, the ripple effect, the artefacts, or the chromatic abherration? TNP has a LOT of different things going on to create its effects. Check out videos referring to 'Juicing' your game feel - in particular the guys at Vlambeer have a lot of videos about how to do this. They're very down-to-earth approachable videos, not very technical, and often quite funny too.

  • If it's a file, and it's only containing the map, I'd recommend the JSON format, as it's more usable by C2. That said, you can just use NWJs with your *.txt

  • Is it 100% necessary to store it as a *.txt file? Will the user need / want to have access to this file? If not, try using Local Storage to store the string that you would have stored in the *.txt.

    Otherwise, you'll have to rely on NWJS (so desktop-only, there probably won't be a mobile solution for this). It can read and write text files effectively.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Apologies, read this and took it as it was written:

    "When the read or write is complete, a trigger fires (On item get or On item set) which indicates either the value is available to read (with the ItemValue expression) or that the value was successfully written."

    Nonetheless - LocalStorage alone doesn't provide a solution to the question.

  • It just needs to be

    lerp( scrollx, Room.X, dt * n )

    Where 'n' is the scrolling speed. Sorry, didn't notice the mess that expression was in. NB the origin point of your room should be the center for this to work correctly.

    ( As a side-Q: how is it possible that the nearest room to the player isn't the room with the player in it? )

  • scirra.com/tutorials/5343/hi-score-save-w-local-storage-plus-full-mobile-game-capx

    This is only a solution for storing a single variable - each LocaStorage set/get requires so many actions. Each time OP adds another variable he wants to save it will take minimum four actions to resolve, some of which appear to be missing from that tutorial by the way (the LocalStorage.ItemValue follows on from an 'On item exists' check - in which the ItemValue is not passed!)

    https://www.scirra.com/manual/188/local-storage

  • Personally, this seems a little clunky to me. Rather than checking for an overlap, processes like this is done cheaper with 'Pick nearest'. Create a bunch of Zone markers just as you would in the other example. Every tick, find the nearest one and perform the same scrolling action. As a sub-event, use the following action. It checks if scrollx / y are within a margin (in this case 1) of their target. If they are, it pauses the game, waits a specified period of time (in this case 2 seconds), and then un-pauses the game.

    Zone.X - 1 < ScrollX < Zone.X + 1

    Zone.Y - 1 < ScrollY < Zone.Y + 1

    Trigger once while true

    |-> System > Set time scale to 0

    |-> System > Wait 2 seconds

    |-> System > Set time scale to 1

  • No one? Sad. <img src="{SMILIES_PATH}/icon_e_sad.gif" alt=":(" title="Sad">

    You're asking for Google Play Console help on a Construct 2 forum - you're in the wrong place.

    Suggest starting here: https://developer.android.com/support.html

  • Instead of using the system's in-built save function, you could use LocalStorage and a Dictionary. Local Storage can hold values for you between play sessions, and the Dictionary will allow you to store multiple values in one.

    First you'll have to add both LocalStorage and a Dictionary to your game. When you want to save the game, first clear the dictionary using [ Dictionary > Clear ]. For each of the variables you want to store, use [ Dictionary > Add Key ] to add a key whose name is the name of the variable, and whose value is the contents of that variable. Then, use [ LocalStorage > Set item ] to have the event create a new LocalStorage value. Make the contents of that value Dictionary.AsJSON. This will store the whole data structure of the Dictionary under that value. Name the value "savefile" or whatever. That's your whole save action complete:

    [ Dictionary > Clear ] [ Dictionary > Add key } ( variablename , variablevalue ) [ LocalStorage > Set item } ( savename , dictionary.asjson ) <<< Repeat for each variable Fortunately loading is a lot simpler. When you want to load a save file, first you must check it exists. Use

    [ LocalStorage > Check item exists ] and enter the name you gave your save - "savefile" in my example. You must then use the trigger [ LocalStorage > On item exists ] , and the action [ LocalStorage > Get item ] - again, giving the name of the save. Finally, [LocalStorage > On item get ] use the action [ Dictionary > Load ] giving the value LocalStorage.LastData to send the Dictionary structure stored in the LocalStorage value back over to the Dictionary. Finally, set each variable to the stored value using [ System > Set variable ] to Dictionary.Get( "variablename" ).

    • - - >[ LocalStorage > Check item exists } ( savefile )
    [ LocalStorage > On item exists } ( savefile ) | - > [ LocalStorage > Get item } ( savefile ) [ LocalStorage > On item get } ( savefile ) | - > [ Dictionary > Load } ( LocalStorage.LastData ) | - >

    [ System > Set variable ] ( Dictionary.Get( variablename ) <<< Repeat for each variable

    Good luck! This should be a fairly robust system. You can also download the Dictionary.AsJSON to make the save files portable, and you can save multiple save files by simply changing the name of the LocalStorage value for each new file, whilst still retaining the integrity of the file itself. You can also debug save files using this method a lot easier, so if your users have a problem you can easily establish a system to allow them to send a save file for investigation, and it should be easily loaded at the other end.

  • Happy to help. Is that your art in your sig, and profile pic? I like it It's really charming.

  • I've not had much luck downloading web-fonts that way, personally - at least not with C2. Try this tool instead:

    https://www.fontsquirrel.com/tools/webfont-generator

    It takes an uploaded local font file, and converts it to a web-font. It's not let me down yet. NB: You might have to tweak the generator a little depending on your uploaded font.

mrtumbles's avatar

mrtumbles

Member since 1 Jan, 2013

Twitter
mrtumbles has 8 followers

Connect with mrtumbles

Trophy Case

  • 11-Year Club
  • x5
    Popular Game One of your games has over 1,000 players
  • Famous Game One of your games has over 10,000 players
  • Email Verified

Progress

14/44
How to earn trophies