dop2000's Forum Posts

  • You can open that example in free version of C3, study it, and do the same in C2.

  • Check out this post:

    construct.net/en/forum/construct-3/how-do-i-8/best-help-tips-forum-139528

    You didn't provide any information! Is this top-down or platformer game? Are they two different objects or two instances of one object? Are there any obstacles? Do you need to use pathfinding? How can they chase each other? It's either one chasing and another running away, or they simply both moving towards each other.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There is also an official Racing example in C3, which uses invisible marker sprites to track car positions.

  • ANGLE (AMD, AMD Radeon RX 6800 (0x000073BF) Direct3D11 vs_5_0 ps_5_0, D3D11)

  • When you swipe to scroll the images up and down, wherever frame your finger lands, that frame is selected - not ideal.

    Use "On Object Tap" event for selecting frames, not "On Object Touched"

  • It's a pretty basic feature in many games, try googling, you should find lots of examples and tutorials.

    Here is one

    howtoconstructdemos.com/simple-scoreboard-leaderboard-with-an-array

  • Without the project file it's difficult to tell. One possible reason is that it's pushed out by a solid object.

    What behavior are you using for movement? You can try disabling the behavior before changing its position.

  • What you described is not a great setup, you probably understand it yourself.

    A 2D array or JSON would be much easier to work with, to edit and store data.

    With 18 instance variables there are basically only two solutions:

    1. Use a bit of Javascript to retrieve the variable value by name:

    runtime.objects.spriteName.getFirstPickedInstance().instVars["var_name"])

    2. Check all variables one by one, until you find the right one:

    Let's say you store the selected year in vTime global variable, and want to extract the result into instance varible vResult.

    For Each Sprite
     If vTime="Year_2024" : Sprite set vResult to Self.Year_2024
     Else If vTime="Year_2023" : Sprite set vResult to Self.Year_2023
     Else If vTime="Year_2022" : Sprite set vResult to Self.Year_2022
     Else If vTime="Year_2021" : Sprite set vResult to Self.Year_2021
     .....
    
    

    You can compress that into one action if you use ternary operators:

    For Each Sprite
     Sprite set vResult to (vTime="Year_2024" ? Self.Year_2024 : vTime="Year_2023" ? Self.Year_2023 : vTime="Year_2022" ? Self.Year_2022 : ......)
    
    • Post link icon

    You don't need to access the internal details of the engine to write addons that access third-party services like multiplayer and analytics, or platform features like monetization.

    Yeah, sorry, I didn't suggest that we necessarily need access to internal details. I meant it's not possible to avoid using addons completely. And even with SDK v2-compatible addons we still need someone to convert them, which may be problematic.

    • Post link icon

    Developers who mention in this thread that they are not using addons - I envy you. Unfortunately, it's not an option if you are making a commercial game.

    If you need multiplayer or online features - you HAVE to use Playfab, Photon, Firebase etc. Making mobile game - you NEED monetization addons. Working with a publisher - you NEED analytics addons.

    There is no choice or free will. Without the addons there will be no game.

  • Thanks!

    I didn't realize Browser.language was not reliable. Will use UILanguage now.

    • Post link icon

    Ashley I wonder if you've discussed this with Chadori, Mikal and other big addon makers? Will you provide them support, ensure that their addons get converted before the deadline?

    C3 really lacks monetization features (to put it lightly), especially on mobile. Mobile developers fully rely on 3rd party monetization addons. You can't just brush them off and say "you knew the risks, you had plenty of time to contact the addon developer etc."

  • Which of these is the preferred method to automatically detect language in a Steam game?

    • Browser.Language: The browser's current language setting.
    • Steam API GameLanguage: The language set specifically for the game.
    • Steam API UILanguage: The language set for the Steam UI.

    Tagged:

  • I set the two actions to -275 and it worked.

    I see -1000 on your screenshot. Assuming that this object is on a layer with no parallax, then it's -1000 pixels up from the top edge of the screen.

    If swipe2 object has origin point at the top and you want to restrict its movement by top and bottom edges of the screen, you can use this more universal formula instead of the last two events on your screenshot:

    On every tick: swipe2 set Y to clamp(self.y, ViewportHeight(self.layer)-self.Height, 0)

    A couple of other things:

    Instead of pinning category names to swipe2, add them to a hierarchy in the layout editor.

    Use a single object categoryName with multiple instances instead of 17 different objects.

    Your code is not framerate independent, use delta time. For example: move forward swipespeed*20*dt

  • It's difficult to understand what's going on with all these timers and flowcharts. My guess is that with shorter timers the enemy state changes before the timer expires.

    I suggest debugging with one enemy instance. And add console logging (Browser->Log) to key events to see when they are triggered.