Posts by CheatingPenguin

Welcome to our brand new Clickteam Community Hub! We hope you will enjoy using the new features, which we will be further expanding in the coming months.

A few features including Passport are unavailable initially whilst we monitor stability of the new platform, we hope to bring these online very soon. Small issues will crop up following the import from our old system, including some message formatting, translation accuracy and other things.

Thank you for your patience whilst we've worked on this and we look forward to more exciting community developments soon!

Clickteam.

    Thanks!

    I was actually was just using the fireball's sprite itself to check for all the collisions, except I had "Use fine detection" not ticked.

    I looked at what you said and realized that I'm currently animating the fireballs by changing their angles in the event editor, so maybe that is causing the hitbox to rotate as well and cause improper collision detection.

    Looks like I'm right, I stopped animating them and made it so the horizontal loop runs BEFORE the gravity one. Now when I shoot fireballs against a wall, they explode immediately as should, and they don't explode when they hit the ground while falling at a fast speed. :)

    This means the only issue I have now is the fireballs spinning animations. I believe I need to create a separate hitbox object (to do all the collisions) and create 1 for every fireball I have and constantly update each one's position to follow the fireball they're tied to.

    Any ideas on how to go about this? Most of my fireball's events consist of ForEach loops and then FastLoops.

    Okay so I remembered that I could try to make fireballs using sub-pixel movements that I learned from AlmightyZenTaco's FastLoop tutorial: Please login to see this link.

    I decided that since I'm looking to keep my code as easy for me to read as I possibly can that I would at least see how far I could using his tutorial to make my fireballs and make them with minimal events.

    I managed to make this: Please login to see this link.

    I think it looks great :D

    But standing in certain areas and right against walls does this: Please login to see this link. (they should explode, not be pulled out up and out of the ground.)

    I believe this is because the gravity FastLoop runs before the horizontal FastLoop, so when a fireball spawns they are pushed up out of the ground before they're told to move horizontally.


    When I switch it so the horizontal FastLoop runs BEFORE the gravity FastLoop, this fixes the issue: Please login to see this link.

    But now, this creates another issue and this happens: Please login to see this link. (as we all know, fireballs should bounce when they land, not explode!)

    I believe this is because the horizontal FastLoop runs BEFORE the gravity FastLoop, so they fireballs fall into the ground, and do their horizontal collision check (the horizontal FastLoop) before they decide to start the gravity FastLoop to pull them out.


    How would I go about fixing this? Again I'm not against the methods you've all showed me. I just wanted to see what my own abilities could do after watching that tutorial, and they work almost perfectly with very few events so I thought maybe I should pursue this method. If I can't get things working, I'll study one of the .mfa's you've all shared with me and I will choose which works best for me :)

    I'm not aware it's possible for Fusion to render anything other than int positions?

    As far as I know, it can't. But if you use alterable values for the X and Y position of an object (and always set the X and Y position of that object to those xPos and yPos alterable values) and add a float value to either the xPos or yPos value, Fusion will move the object every time the objects X or Y position changes by a whole number.

    For example, say we have an object at (0,0) that is set to always have it's X and Y position to change to it's xPos and yPos alterable values. Then we add 0.5 to xPos. The object's X and Y position is still (0,0), but xPos value is equal to 0.5.
    If we add another 0.5 to xPos, xPos will be equal to 1. Now that it's an integer, Fusion will decide to move the object. In this case, it's currently sitting at (1,0). The coordinates of an object will only ever be whole numbers and will always display on screen correctly, but using float values for the xPos and yPos and speed values will allow us to make Fusion only update the objects position when it's able to (meaning xPos and yPos have gone up/down at least 1 whole pixel).

    I'm sure you've seen the AlmightyZenTacos sub-pixel movement tutorial, but you should also checkout his FastLoop tutorial: Please login to see this link.

    I learned how to make sub-pixel movement really easy from that tutorial and I can make sub-pixel movements with gravity acceleration and horizontal movements in less than 5 minutes.

    I don't think it would be too difficult or time consuming to go back and modify your events to be more similar to that of his FastLoop tutorial. Also, the fastloop tutorial demonstrated how to get sub-pixel movements in a platformer, so hopefully it will still work here.

    Hope this helps :)

    Hey, I would create an example for this, however I don't have time at the moment. But I do have this example similar to this problem (and the mario-ish fireballs): Please login to see this attachment.

    Also, you don't need to save the fixed value of the object being for each looped. You can just insert the "on for each of object" condition under the fast loop one: Please login to see this picture.

    Thank you, that did the trick :D

    I looked at the example your attached and it seemed pretty confusing so I probably will take a second look at that very soon for my fireball movements I'm working on. Your attachment is the third type of movement people have recommended I use for the fireballs so I need to find which works best, meaning the example is of some help for sure.

    Thanks to everyone for all their help! :)

    I fixed it using for each of two loops my friend. Hope this helps!

    Thank you very much, that worked like a charm :D

    I was able to get it running in my game without the "On each one of 'empty block', loop name "bonus up". May I ask why you included that? Just wondering because if there's much of a reason then I'll include it in my game.

    Also thank you to everyone else who pitched me ideas X)

    Ah, thank you for elaborating.

    I was curious because personally I like to keep short code that's easy to understand and modify. Yes the 6 event lines is as you say is a better method than the FastLoop in this case, but I still prefer keep short code as what I'm working on may be given to a few buddies to take a look at later on. Anyway, I think I'll try out the 6 event idea and if I figure out how I can use FastLoops instead, then I will. Then I'll decide then which one to actually use in the real game :)

    Still working on learning FastLoops in ForEach loops though X)

    Thanks.

    I just tried that and now I have loops running where it compares the Fixed value of the object to the Alterable Value A of the object (which is where the fixed value is always stored).

    Whenever I try changing a value within the FastLoops I have setup (and yes I'm comparing the fixed value to the ID again) it changes the value for all instances of that object, as oposed to one.

    Any ideas? Sorry if this is too open to understand :pacman:

    Finally. Sorry for the delay!

    If you have any questions please feel free to ask and I will try to explain the best I can.

    Controls

    Left/Right Change "Character" direction
    Z - Shoot from Character position
    X - Create a bunch of random fireballs
    C - Create a bunch of random fireballs
    Left Click = Create fireball at mouse
    Hold Right Click = Create lots of fireballs at mouse

    Wow that's a pretty great and well made example, thank you!!

    I'm sure it will help lots of people in the future who also are looking for fireball related movement.

    I just took a look through the whole thing and I believe I understand a good bit of it.

    I'll try implementing it to my player as soon as I have time, so I'll be sure to let you know if I run into any problems that maybe you'd know how to deal with.

    Also on line 30, you said "The lines in this group take the place of fast loops. This is much simpler than trying to combine for each loops and fast loops."

    Why is that? I understand FastLoops (although I'm new to them) and I'm in the process of learning ForEach loops, but why can't they be combined easily?

    Also if you're wondering why I prefer to move the object up and down instead of giving it an animation of moving up and down, it's because I'm trying to make my game as easy to modify as possible and the blocks that bounce will use a qualifier (this qualifier will make them move up and down when they're created), and I might want to add different empty block objects later on.

    I feel it would be much easier for me to create new blocks with a bouncing empty block qualifier that will make them move up and down instead of having to give individual empty block with different animations their own bouncing animations.

    Only takes a few seconds but again I want things to be as easy as possible :)

    Thanks!

    I'm busy right now so I'll have to test it in my game tomorrow.

    I see that the example you've made works using a bouncing animation instead of actually changing the position of the block, so hopefully I can do what your example has done only instead without using an animation to make the block bounce.

    Hopefully I can figure it out using your example :)

    Quick question.

    I've managed to get very basic enemy physics working with FastLoops, but it only works if there is one instance of the enemy. Anymore, and the physics break.

    I have a FastLoop that gives the enemy gravity, and a FastLoop inside the gravity loop runs 64 times that will pull the enemy out of the ground and stop the loop once they're out.

    Can I achieve this with a ForEach loop? My enemies X and Y positions are float based so they can fall more than 1 pixel or less than a pixel of course.

    Thanks Sparckman, although the problem is still there :(

    I might have not explained it properly so here goes:

    When the player hits a mushroom block, it bounces.

    When it's finished bouncing, a mushroom comes out of it.

    If the player hits a mushroom block and then hits another mushroom block as the mushroom is rising out of the first block, the second mushroom will come out right away WITHOUT waiting for it's block to finish bouncing.

    It's only supposed to come out once the block it's inside of has FINISHED bouncing.

    Thanks for the help though :)

    You can simply use 1 detector active (instead of one per enemy). You just run a fastloop every time collision is needed and place the detector at the position of the enemies, one at a time. Then, within the fastloop, you check your overlap conditions. When the loop is done, reposition the detector outside the frame so it won’t interfere with anything.

    I'll try that tonight. Thanks!

    How familiar are you with basic game physics. Do you have any experience creating custom platform engines?

    I can make an example, but it might be a little more complex than what you're looking for. I don't mind - I can pop some comments in too.

    I think I'm okay at it. I've created multiple custom platform engines just for the sake of learning using DavidN's FastLoop movement tutorial. While I don't understand it 100% and currently can't remember all the steps to write it on my own without the tutorial, I usually am able to play around with variables and such until I get something I want. Usually :P. And if that's okay, that would be great :)