Renfd's Forum Posts

  • I've moved on to Construct 3. Slowly but surely, I've been porting my C2 work to C3.

    It's annoying to remove the plugins, but it doesn't fully break my games.

    Same here. It was very hard last year, since C3 was lacking some important plugins, but now its feasible thanks to some plugin developers that ported the most important plugins.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I would guess you actually stored a string of "1" and then multiplied that with a number. I just tried it with both the C2 and C3 runtimes though and "1" * 50 returns "1", as it is supposed to (since string * number returns the string unmodified). So I can't see any change in behavior.

    Oh, so it has to do with the way the value is stored. My mistake.

    Actually I have a 'save' function that saves a value in a dictionary then saves the dictionary.json in localstorage. When I converted it to the built-in-function I had to convert the parameter to string. So I did not noticed that all values in the dictionary are string now.

    Thanks for clearing it up and sorry for the confusion!

  • I'm not sure if its a bug, but just noticed a difference on evaluating values from Dictionary object.

    Examples:

    Lets suppose that the Dictionary.Get("VALUE") = 1

    So we evaluate the following:

    Dictionary.Get("VALUE") * 50

    Result on C2 runtime = 50

    Result on C3 runtime = 1

    To resolve this issue on C3 runtime we just have to use int function:

    int(Dictionary.Get("VALUE")) * 50

    Simple, so not a big deal right? But for those who don't know, it may cause trouble when converting an project from C2 to C3 runtime.

    Btw... Just to let people know.

  • Hey Ashley,

    One issue I noticed here trying to convert the functions of a project, is that when I convert a function, all actions where the function is called that it is originaly disabled, the respective action of the build-in function is not disabled.

    Example: (tried to upload screenshots, but it seems image upload is not working, so I'm using 'Copy as text' feature)

    Old function :

    -> [DISABLED] Function: Call "test" ()

    Converted to build-in-function:

    -> Functions (built-in): Call test

    It seems like a little issue, but in large projects it can create big trouble.

  • I you're using 'Give Your Fonts Mono' (sprite font generator by Black Bee), you can add the characters you need, then generate the sprite font image.

    For example, the charset below should be enough for most latim idioms and has russian charset too.

    ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789.,;:?!-_~#"'&()[]|`\/@°+=*$£€<>%АБВГДЕЁЖЗИЙКЛМНОПРСТУФХЦЧШЩЪЫЬЭЮЯигрыабвдеёжзйклмнопстуфхцчшщъьэюяâçğıİîöşüûÂÇĞÎÖŞÜÛÁÉÍÓÚáéíóúÊÔêôÀàÑñÃÕãõì

    You may add more characters depending on the languages you need.

  • They are a big deal when your game is more complex or you have elements working together,

    It makes everything flicker and it'S annoying,

    Their solution was imperfect and I provided a way to fix it,

    I don'T even know why you're replying to me right now you'Re just wasting my time.

    You're not bringing anything to the table and possibly misdirecting people and making them think they should do your solution even though it's absolutely wrong which is a lot of wasted time and effort for other construct users for them to realize they've been misdirected.

    Don't need to stress out. I just didn't understood the real issue at the begining, and suggested a different aproach, since him didn't not managed to completly solve the issue in about 2 months. Also you didn't provided a solution at the moment of my post, you edited your post after.

  • Renfd you completely missed the point and your game is full of the kind of artifacts we'Re talking about that we're trying to get rid of

    I don't think those artifacts are a big deal, but in that case I think kidswithcrowns's solution above is the better aproach, since he is simulating what would be called 'scale outer integer scale'. If it stills produces artifacts, its probably a C3 bug.

  • Use Scale Outer and mark Unbounded Scrolling in your layout properties.

    You'll have to make the UI responsive (use anchor behavior on UI itens).

    Is what I did in this little pixel game: http://onduck.com/games/zombieslayerviking/

  • Great! Thanks Ashley

  • So the only time it will be nice is if they will start to restrict the same functionelity for more than one platform. But if that will happen they will remove that feature toataly instead, and then you will need to recode your game as well hehe.

    Actually not in that case. If they remove totally a feature for all platforms, that they already removed in IOS before, this feature will not returns in getSupportedAPI(), so what I did for IOS will apply to all platforms without need to update the games.

    But I understand that this may not be a biiiig deal at all. But also think its relatively simple to implement. Just a expression returning the supported APIs string would work. We can parse it in our side.

  • You can just check if user are on iOS then hide the gamechange-button (or other stuff in the future).

    there will only be restrictions for iOS. never for web or android. due to Apple, so I don't think it will be an issue actually. (I know you have read the comment from Jean Claude about using this function but.. :) )

    That solution would work, but I think its not a good pratice. How you can guarantee that other platforms will not have some restriction on the future? Also who knows this restricion could even be removed in the future.

    I have dozens of games on IG platform. So I would like to avoid to need to update each game every time facebook enforces new restrictions.

    Also I tried to use Jean Claude funcion using Broser.execJS here, but it don't works.

  • Hey Ashley

    Sorry for bothering you again, but now we'll need a callback or expression that returns getSupportedAPIs()

    Without that, C3 games that uses switchGameAsync() will be blocked on IOS devices: https://www.facebook.com/fbgaminghome/blog/important-updates-to-cross-promotions?tags%5B0%5D=developer_blogs

    Also Facebook could create a new restriction at any moment based on deprecated APIs, then I think this funcion is essential.

  • Great! Thanks Ashley!

  • Why do you need it? There doesn't seem to be a very elegant way to do it - Instant Games doesn't distinguish between closing the dialog and the dialog failing to show at all due to an error. (In other words, closing the dialog is an error :P )

    There are several games there that calls chooseAsync when the player touch the 'play' button, then the game continues after the player selects a friend or when he closes the dialog.

    Example: facebook.com/instantgames/485062721947529

  • Hey Ashley, thank you very much for the new update!

    Just one thing I would like to ask: Could be possible to add the callback event for when the player closes the dialogue(opened by 'Change Context')?

    Its a little thing, so think its not feasible to create a new request on the suggestion platform.