mikehive's Forum Posts

  • Have a look at the example projects tagged "isometric". Those should help you get up and running with this :)

  • Glad you got it sorted out! 😎

  • I think you're right: it does seem like that should be a thing, but I can't find it anywhere, either.

    That does seem like a bit of an oversight. Perhaps you could post it on the Suggestions board for the devs?

  • You could start a Remote Preview and then paste the URL into a new Incognito window?

  • Thanks very much. So in this approach are all the objects instances or discreet objects? Seems like they have to be separate objects. If they're instances the list positions is the same for all, when I change it for one they all change.

    No, that's the whole point of instance variables - they can be set separately for different instances of the same object.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • There's several ways to achieve this.

    The most intuitive way I can think of is to give all the clickable objects an instance variable eg. listPosition. Then you could go through all the objects and set listPosition = 1 for the first one, listPosition = 2 for the second, etc.

    Then you could have two global variables eg. objectToClick (which starts at 1) and totalObjects (where you can put the total number of objects eg. 3).

    Then we can just do this (pseudo code but just to give you an idea):

    if user clicks object & object.listPosition = objectToClick : add 1 to objectToClick

    if user clicks object & object.listPosition != objectToClick : show "fail" message / fail events

    if objectToClick > totalObjects : show "success" message / win events (user has won)

    So, if they click object with listPosition=1 and objectToClick=1, the game allows them to go on to click object with listPosition=2, etc - and if they click anything else they get the fail condition.

    An alternative way to do this would be to match two text lists, but that may involve mucking about with string operators and might be slightly more confusing? Same result anyway :)

  • Just to add to oosyrag's idea... you might want to tweak that a bit, because at present this might make enemies pick a point on the far side of the enemy - that will look weird and not "intelligent", because there would be no reason for them to want to move to the furthest possible point from their current location...

    Maybe you could add a check so that you first test if the enemy is to the left or right of the player (eg. if enemy.x < player.x then move to a random point on the left side of the player, etc). And do the same for the Y axis.

    Alternatively, you could maybe spawn a bunch of invisible helper objects around the player and have each enemy select the nearest node to their position and head towards that? 🤔

  • No, you can't use the debugger after exporting.

    Why would you want to? Debugging is part of the development process, but you generally don't want debugging features enabled in your exported build. Otherwise all of your players would be able to access it and see all the inner workings of your game.

    I'm curious what kind of situation you could be in that specifically requires use of the debugger on the exported game?

  • "whoopsie doopsie~ dewe's a nyew vewsion downwoading and it's awmost weady~ i am vewy sowwie :3 "

    I will quote that verbatim ;)

  • Ahh! Thank you Eleanor. Not immediately sure how to use them but I will do some reading. Thank you for pointing me in the right direction :)

  • For your "is on screen" event, try this instead:

    Y is on screen

    ---For each Y

    -------Every Y.AttackSpeed seconds: Y spawn Minus

  • By default an instance variable should only affect the one object.

    Can you post a screenshot of your events?

  • After doing a little more digging/detective work, I may have partially answered my own question. It seems that the game loads and runs after pulling the correct 7MB of data, then downloads the additional duplicate stuff after launch.

    The console gives me the message: [SW] Caching 34 files for offline use.

    So, it seems the redownloading of files is due to the game caching itself (hence why it loads very quickly at the next refresh) and doesn't impact the initial load time as the game is already up and running while it is doing this in the background.

    That's cool with me - it doesn't affect the initial load speed and in fact improves load times thereafter.

    I just have a small remaining question about the caching - this seems like it creates problems when I update the game.

    As a test, I made a small change to data.json and reuploaded it (in this case, I made a small alteration to one of the on-screen text elements). Then when I visited the game page, the change was NOT reflected until I cleared my cache.

    I intend to update this game a lot - how can I make sure the cache is only used when the game hasn't been changed since the last visit?

  • Hey folks.

    Currently working on a little app that I am considering hosting on my website for users to access in the browser.

    In particular, I'm keen to keep download sizes / loading wait times to a minimum, so have been doing a few tests.

    Bizarrely, the total size of my exported HTML5 game is around 7MB. However, when I upload the app and visit it with a Chromium browser, the browser seems to somehow pull down 12MB of files. Looking more closely into it, it seems that a lot of the PNG assets are somehow being loaded twice?

    Anybody have any idea why this is happening? The app isn't anywhere close to complete, so it's worrisome that loading times are already double what they should be. What's going on?

  • Yes, or just set it to something else that doesn't cause problems with your existing events. Set it to +999999 or whatever.

    It doesn't matter either way - dop2000's answer will work fine for you. I just wanted to add that sometimes when I'm doing a lot of complicated work in the event sheet and am in a flow state, I don't always want to go to the layout view or the project bar, find the right object, and add another instance variable to it - it breaks my concentration - sometimes it's just faster to use the variables you already have to hand to get something done quickly :)