LukeW's Forum Posts

  • well, looks like it wasn't the FL Studio audio files causing the issue.

    I think I'm going to leave this for now, running without preload sounds on seems to be doing the trick anyway.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Ashley running the stable channel.

    Nepeo I'll have a look at that stuff when I get home from work today. I do have some small sounds files in there at 3-4kb, however, they're all .wav files.

    I was thinking about this this morning though. I use a few different programs to generate sounds. One of those programs is FL Studio. I don't think I was having this issue until I imported some sounds made in this (because I imported a whole bunch from different sounds generators at once, I didn't see the link). I'm wondering if I delete the sounds made in FL Studio whether my load times will vanish again. I will try this when I get home as well.

  • So removing all the sounds in my project made it load instantly. The loading bar did flick on for a frame before going straight to the first screen before the bar even had a chance to animate, so essentially instant.

    Likewise, setting the project to not preload sounds has the same effect.

    I'm wondering if I screwed up the encoding with one of my .wav files. This didn't happen until I loaded in my second set of sound files, so maybe I have one in there that's not playing along.

    For now, I think I'll just leave preload sounds off.

  • Thanks for the reply. Not sure it's possible to test the log in APK is it? Never had this issue launching from pc.

    Having said that, I also noticed that sjrya says this: '-After some trial and error, I converted all my audio files (Sounds) back to .m4a from .webm and that seems to have solved my problem.'

    Which makes me wonder if this is somehow related to my issue, which only started after I added some sounds. In fact, I didn't even get the loading bar prior to importing the sounds, it would load instantly into the game.

    Going to do make a test version of my game with all the sounds removed and see what happens.

  • So this is a weird thing. I noticed it once on my Android phone (S7) after downloading a new update where I had added bunch of sounds and music to my game. On the first time load of the newest version, the game froze at the Construct loading screen. A restart of the phone fixed the issue and I didn't have it happen again for any new updates.

    Then today I opened up access to my game for testing. One of the first comments I got was that the game doesn't get past the loading screen (OnePlus 5), and that the bar freezes about 2/3s of the way across, pretty much exactly where mine froze that first time. So I suggested a device restart and, sure enough, the problem went away.

    Now obviously this is not an ideal situation. If the game requires users to restart the first time then you can imagine how bad this looks. I'm not sure if this might be related to loading of sounds (currently the game preloads sounds at startup) but that's my gut feeling based on the fact that this didn't happen until I added a bunch of new sounds/music. The game itself is small in size at 10Mb so I don't see what's causing it to hang (corrupted sound file maybe, if that's possible?)

    A link to the game is below. While I won't post the c3p, if a member wants to have a look inside I'm happy to communicate via pm.

    play.google.com/apps/testing/com.lukewebster

    Thanks

  • You do not have permission to view this post

  • Yo, this is finished :)

    play.google.com/store/apps/details

    apps.apple.com/us/app/cracked-crusaders/id1464660516

    Cracked Crusaders, A SNES-inspired platformer designed specifically for mobile play. You are a hero attempting to free the land of evil. Delve into a hundred different dungeons across multiple environments as you search for the origin of the critters overrunning the land.

    With over 100 levels and a dozen bosses, you'll need to make the most of the weapon and item upgrades available for purchase between levels. Earn extra stars by beating dungeons quickly or by clearing out all the baddies in a level so that you can buy the best gear and increase your chances of survival.

    With multiple endings, can you beat all the dungeons and unlock the true dungeon master?

    Subscribe to Construct videos now
  • Hi

    So I kind of feel like the manual is a bit lacking with regards to the persist behaviour, but I thought I would do some tests and see if this is something that I could use instead of my current system.

    Anyway, I have chests that only spawn the first time a specific level is beaten and they hold an upgrade for the player. If the player has already beaten that level, the game goes straight to the next screen.

    I thought I would have been able to add a persist state to the chest and have a boolean that lists if it's been opened or not, then check each time that level gets beaten.

    It works as long as I leave the program running, but as soon as I close the program down and re-launch it, the chest reverts to its original state.

    So I'm wondering, is there a way to make a persist instance save its state even after a program relaunch?

    Ta

  • lol, I'm such a dork. The answer was in my question.

    Just added a second variable which is the difference between 100 and distanceToOwner and set opactiy to that. Sure enough, it works.

  • Well, I already know how to do the first bit. I've got a shadow and it measures the distance to its owner and sets opacity according to that value. The bit I'm getting stuck on is that it's working in the reverse as to how I want it to happen. Basically, the closer the object, the darker the shadow should be, not vice versa. Added a gif to demonstrate.

    And here's the code:

    I feel like I need an expression that can take a number and flip it within a range of 100. So 3 becomes 97, 30 becomes 70 and so forth. But I don't know how to do that or if it's even feasible.

    TIA

  • Saw this in the beta and some pretty excited comments about it, but never having done much animation stuff outside of frame-by-frame stuff, I'm wondering what exactly timeline animations do and how this works in a program like C3?

    I saw "This allows you to design animations in the editor by creating sequences of tweens - for example moving an object along a path, or making some elements of the title screen appear one after another."

    And I just wonder how this is different to the current system of triggering through events or when an object reaches a certain position?

    As this is all new, there's obviously not much in the way of documentation and examples, but I'd love to hear a better explanation of what timelines are and how they work in C3 if someone feels like explaining.

    Cheers

  • Okay, thanks guys. I'm not sure why, but I find managing state machines in C3 to be so much more confusing than in other languages. Maybe it's related to the event sheet system, I don't know. Anyway, think I've got it all sorted now, guess once you know what the problem is, you can start looking for a better solution.

    Cheers

  • In typical fashion, I found an effective work around to this as soon as I posted all of that ^. However, it still doesn't answer my question regarding the 'trigger once' block.

    If I take all the stuff from the trigger once blocks and move the to the state that is triggering the change of condition (so exactly how I'm handling the animation changes) then it all works as intended.

    But like I said, why would those trigger once blocks not register if there is more than one instance on the screen?

    ...

    Is it because the 'trigger once' has no other condition in the same block? Surely not?

  • So for some reason, I'm really struggling with state machines in C3, specifically relating to when there are more than one instance working in a layout. I have a typical example below which, to my eyes, should work.

    Basically, each enemy has an 'enemyState' variable (which is assigned at the family level). This particular enemy is idle until having LoS to player, at which point they move to 1. During state 1, enemy flies around and starts counting down to release a burst attack. Once the burst attack is over, enemy goes back to state 1 and flies around a bit more.

    Should work fine. And it does, until a second bat instance enters state 1. At this point, the bats will move between states but not run any lines that are inside the 'trigger once' blocks. In the past, I had my set animation lines in there until realising that they weren't being activated unless I moved them out.

    Logically, I can't see why this works when there is one instance in play, but breaks as soon as a second one enters. Surely the condition is selecting the correct instance that is triggering the state machine? I thought that maybe I needed a 'for each' block in there, but that made no difference whatsoever, whether I put the 'for' block in each state condition, or make one parent 'for' block and have all the state conditions to be sub-events of it, makes no difference.

    So either I'm missing something very obvious or I don't know what. But I'd love a bit of help on this one just to stop me making similar mistakes in the future.

    Cheers