Posts by chrilley

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.

    Here is an example.
    When the sprite is flipped, it swings like a boat left and right.


    The Flip shader only flips the pixels, not the hot spots (they are not accessible afaik). The sprite jitters because the hot spots are moving around on each frame but they are fitted to only match the right-side. When the image flips but hot-spots doesn't you get a mismatch.

    One solution is to have a static animation frame size: Don't crop each frame to fit the character.
    Instead, give it enough space to fit your largest frame and position the character in place, then let the hot spot remain at the same position for each frame (ex. bottom-center). Then it should match when you flip the character.

    BUG: Objects can end up with two different names
    I found an odd glitch while renaming an object when inside the Action Editor. You basically end up with an object that has two names depending on where you look. Though only one of them will work with expressions and such. Once this happens I don't think you can return to what once was. Delete .mfa and start a new life with a new project. :(

    Short Repro Video: Please login to see this link.

    Hey guys!


    I am really sorry for my lack of reply here. Jarvis is not dead but his social media is currently taking a long nap until I am ready to show my face again, making more promises I clearly cannot be trusted with ;)


    This time it all boils down to that recently there has just been too many impressive(and sometimes very similar) metroidvanias out there that I need to change up my game somewhat so it can stick out from the crowd better. and to be frank, even stand a chance out there.


    However it's really awesome to hear that there is still people who care about my silly little game. Stay tuned! :)

    Thanks for the super-detailed reply MuddyMole !

    That auto-tiling is especially handy. I will definitely will be using it for more than just maps in the future :)

    I've been putting together my own version, following your steps as well as I can, in order to understand what is happening. The "links" between rooms elude me a bit. If I am understanding it correctly then you are placing a "North flag" on the cell above a door connection and then a "South flag" on the opposite cell underneath? Then repeat the same method but with East and West flags for horizontal connections? I am asking because I got an alternate way of placing the links and it *SEEMS* to work but I haven't fully wrapped my head around it.

    Please login to see this picture.
    The top-left cell have a North and East flag toggled while the other two cells only have a single flag on(West or South). Is this anywhere close to how it works? :P

    I am going for something closer to the Castlevania-look so my doors are just lines.
    Please login to see this picture.
    It's almost there!

    I also added an extra transparent frame to the set which is toggled on if a tile contains nothing. But it looks like I am missing a few corner tiles. Though I think it works the same as in the original example(pictured below).

    If I wanted tile versions for these corner cases, is there a way I can go about that?
    Please login to see this picture.

    I guess the specific issues I am having is calculating and rendering the rooms sizes on the map correctly to their "in-game" counterparts and making sure they are explored at the same rate the player is moving around in the level.

    Then rendering the placements of links and borders that line up properly is also a challenge of course. Another complication, that you brought up actually, is I do have offsets when the player leaves/enters a room. While it works great in-game to make sure I can put links at different heights and such, I suspect that it might also make rooms on the map, with their real sizes, would start to overlap each other. Does that makes sense? :S

    (I realize now that I am done writing this post that my "specific issues" is more like "the entire map system" XD)

    On the same subject do you guys have a clever solution for "exact minimap exploration"? For instance, currently my map will render both a 256x256 and 1024x1024 sized areas as 8x8 tiles on the map even though the latter should take up more space on the map and not be fully explored the moment player enters the room. It is a bit misleading to the player.

    I have a couple of approaches I haven't tried out but it feels like I am re-inventing the wheel here...

    Based on those conditions it looks like you are calling the pause/unpause loops for every tick, even when the app is already paused or unpaused. If you put an "Only one action when event loops" condition underneath the Flag is On/Off conditions on event 3 and 4 you'll make sure to only call the loop once.

    In general Fusion checks the conditions from top to bottom on a per event basis. If a condition is false then Fusion will skip checking the following conditions for that event and move on to the next event line instead. This happens every tick.

    However, the Mouse Click & On Loop conditions are highlighted as immediate conditions(notice their text color being different from regular conditions). Immediate conditions work a bit differently than the other conditions as they are not checked every tick, only when they have been specifically called for.

    In addition to Volnaiskra's suggestion I think you should also Set Current File to AppPath$ + "frame.ini" on your first event.

    The difference being that AppDir$ will only get you the folders ex: "\Users\chrilley\Desktop\MyGame\"
    AppPath$ will get you the drive letter as well: "C:\Users\chrilley\Desktop\MyGame\"

    Adding ".ini" extension to "frame" also completes the full exact path.

    That's actually one of my old articles (written 2008). Some of the content is a bit outdated now, so I've spent the last day or two on a replacement, which you can find here: Please login to see this link.

    It's still a work in progress, but already has quite a lot of content which hopefully someone will find useful. Suggestions are welcome. Happy kliking! :)


    Amazing job! I am bookmarking this goldmine for future reference.

    Idea: It would be neat to have a table of contents link menu on the top so visitors can click their way down to the intended subject.

    I put together something somewhat simple you could try. It's a flip shader that you toggle on/off within the shader so there should be no need to set effect to None or having a "Reset Effect" shader.


    In the event editor, set the object's effect parameter flipX to 1 in order to flip on the X axis and flipY to 1 to flip on the Y axis. Setting the parameters to 0 will undo the effects. You can combine the flip effects or simply just use one axis.

    The debugger has some limitations like the one you mentioned, though the exact reasons as to why I don't know, sorry!

    Range(>Value<, >Minimum<, >Maximum<) is actually meant to force a value into a chosen range between Minimum and Maximum.

    Value = The number that will be calculated on.
    Minimum = The value that decides how low of a number you allow
    Maximum = The value that decides how high of a number you allow.

    Some examples:
    Range(200, 50, 100) will return 100 because 200 is out of the max range.
    Range(10, 50, 100) will return 50 because 10 is below the minimum range.
    Range(60, 50, 100) will return 60 because it is within the accepted range of 50-100.

    Let's say you put something like Range(500, 0, 500) into that Use Expression window. This would result in Fusion picking Alterable Value #500 only, thus ignoring the previous values in the list. So in this particular case it ends up being just a longer way to refer to value #500.

    You pick the "Set Alterable Value" action in the Event Editor under Active object . At the Expression Editor window there is a button at the top-right called "Use Expression". This let's you choose an Alterable Value based on a formula(or just a simple number).


    In the attached example I run a fastloop 500 times where on each loop it sets the value with the index corresponding to the fastloop's index to 1.

    Not sure if it's by intention or not but the Library window doesn't sort objects by name. They seem to be sorted by their creation time instead. For organizing and consistency's sake it'd be helpful if they were sorted alphabetically, like the other object lists do.