pirx's Recent Forum Activity

  • Hi,

    How do you tackle localization of your games?

    Up to recently I had the strategy of just compiling mutliple language versions of an app and uploading them as separate apps to Appstore/Google Play. This is however super cumbersome.

    So I'd like to do it the proper way, which means loading strings from a file. This is actually pretty easy using arrays but how do I reliably detect the user's language? Also, are there any C3 plugins that would make this easier (e.g. allowing for use of wildcards in the translated strings etc.)?

    Has anybody had experience with successful implementation of this kind of localization in C2/C3?

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • 1. If you are talking about local multiplayer (as in two players using the same keyboard on one screen) then it's pretty straightforward. Just give the tank the desired movement behavior and then set both tanks' controls to different keys. If you have different tank images on different frames then set the animation speed to 0, then you can either set the frame in the properties bar or via the action: Tank - > set frame.

    (if you want to tackle online mutliplayer then just really don't.)

    2. If you have multiple turrets and multiple tanks to pin them to, you need to "tell" C3 which ones belong together.

    I think the simplest way to do that is to create the turrets in game as opposed to doing that beforehand.

    Basically it would go something like this:

    • Tank->on created

    * Tank: spawn another object (Turret)

    * Turret: pin to object (Tank)

    Explanation: Since you create the Turret inside the Tank's "on created" scope, C3 will "take into consideration" the particular instance of Tank and Turret that should be pinned together.

  • I feel doing anything UI related in Construct has always been quite a hassle. I would love to have a new type of group node, where every object inside automatically is translated with that group. Kind of how Container "SHOULD" work, in my opinion. Now you have to use pin, and other workarounds if you want to move/scale/rotate multiple connected objects in realtime, and quite often you wanna do that with UI elements and popups etc.

    +1 on this as well. I doubt we're getting flash style object-within-object-within-object functionality anytime soon (or ever) but the whole pinning things together workflow has gotten a bit old, and generally feels more like a workaround than a real tool.

  • Do you know about the Pick top/bottom condition?

    "Pick either the top-most or bottom-most instance, taking in to account layers and Z index. For example, the instance at the front of the top most layer is the top instance."

    This does not really apply to what we're talking about. The condition you mention is useful when you have mutliple instances of an object stacked and need to pick the topmost one. Like in a deck of cards or something. In the touch-bubbling problem, however, you generally have no idea what will be below your button/window/field/etc during runtime.

  • Well then I have even more of a reason to want the aforementioned functionality, because now I have to watch out for pop ups interfering with other pop ups, keep track of what should be touch-disabled at a given point etc.

    But come to think of it, and considering your question, a dedicated layer may not be the best idea. However, a “stop touch” setting in every layer’s properties would do the trick. I’d just tick that for any layers that are used for UI and be done with it.

  • Hi,

    I would just like to point out this annoyance that could be addressed at some point in the future.

    Popups and UI elements (as in a Pause popup, an on-screen menu, all sorts of game toolbars etc), as do all sprites, currently "leak" touch and mouse click events downwards. So if you click an "ok" button in a dialog box, it will also activate all touch sensitive game elements that happen to be beneath it. This is undesirable for, hopefully, obvious reasons.

    I know this is by design but I deliberately use the word leak because, frankly, I think you need user input to stop at the first (topmost) encountered object way more frequently than you need it to work across multiple stacked things. In fact, I struggle to find a use case for the latter.

    While this can be manouevred around by switching off groups and juggling variables I think it would make way more sense to have a dedicated layer for UI elements or a setting in layer properties to disable touch and click events propagation.

    As an example, I have a game that has a lot of rather complicated inter-related swipe, touch and drag and drop events and some buttons and pop-up messages that appear on top of it. It has already became quite a dancing routine to keep these from interfering with each other. It also introduces clutter with all the logic designed specifically for this purpose.

    I don't mean to rant (too much) but I imagine most games will have things that appear on screen that are not directly game-action related, so this might be worth considering so that C3 continues to be one of the most developer-friendly game creation tools out there.

  • This shake behaviour has come in handy in the past:

    If anyone could convert it for C3 it would be great.

  • 99Instances2Go

    That's great, thank you. For various reasons I now need to have the same objects in two families with duplicate instace variables but it works very well.

  • This is simple: I have two instances of the same, draggable object. Once one instance is dropped on another, both should be destroyed.

    I came up with this:

    But it does nothing.

    Once I change the main condition to "TestSprite -> on Collision with TestSprite" it works. If I remove the "on drop" condition leaving only the "TestSprite is overlapping TestSprite" it also works. The problem is I need this to work specifically on drop. Help!

  • Nepeo Aaah, thanks, that explains a lot.

    I wasn't aware of these mechanics, so I got confused as to what and when gets saved and what doesn't. Case closed.

    PS. Just as a piece of feedback, I think this is a bit unintuitive. The temporary commit gives the impression of having saved changes during edit time while in fact they are not -- and there's no indication to the user. I was just playing around this time but I can imagine someone losing a chunk of work that way. This might be worth taking a closer look at some point in C3's future.

  • I'm not submitting a bug yet because maybe I'm doing something wrong.

    I noticed that when I edit a project txt file, sometimes changes aren't saved. They disappear after reloading the project or closing and reopening the file. On other occasions they save correctly. It's as if I occasionally forgot to press a 'save the txt file' button that doesn't exist (?).

    At what point does the editor save changes to the project file?

  • This seems to be weirdly problematic.

    What I want to do is to load a string from somewhere else (uknown during edit time), display it in a Text object, and then scale a background sprite (or better a 9-patch but it's not important) so that I have a nice box filled with text.

    Think speech bubbles in any messaging application.

    Reading the forum I came up with this:

    But it results in werid behaviour in which the sprite scales on a second button click instead of immediately. Larger delay than "wait 0" is undesirable because it doesn't look neat.

    So any better ways to do this? Perhaps C3 has some new features that would facilitate measuring text?

pirx's avatar

pirx

Early Adopter

Member since 20 Aug, 2013

Twitter
pirx has 2 followers

Trophy Case

  • 11-Year Club
  • x3
    Coach One of your tutorials has over 1,000 readers
  • Educator One of your tutorials has over 10,000 readers
  • RTFM Read the fabulous manual
  • Email Verified

Progress

15/44
How to earn trophies