Posts by joshjones34

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.

    I recently migrated my project to another machine, and it looks like I missed something when copying over the files. When booting my project, I get the following popup:
    Please login to see this attachment.

    Could anyone point me in the right direction to find this effect online?

    My end goal here is to move away from using .anm files to load animations at runtime.

    My game allows for use of different costumes which act as sprite-swaps. Currently, the method I use is to take my main character object and replace animations inside of fusion, then save as an animation file to reference later.

    Please login to see this attachment.

    These files, namely the first two in the list, are loaded at the beginning of the frame through events. The png (seen below) is loaded into an active object that is referenced by the engine to assign color colors into the character.

    Please login to see this attachment.

    The anm file is loaded into several actives which each represent one layer of the overall sprite and are colored accordingly with a shader. The RGB values for each shader are referenced from the image above at runtime. Unneeded colors are filtered out and replaced with the object's transparent color.

    Please login to see this attachment.

    The result is this sprite-swap for Mega Man:

    Please login to see this attachment.Please login to see this attachment.

    Unnecessary explanation aside, is there any known way to use a png image (maybe a sprite sheet or something of the sort) to import animations and get around using anm files? The reason for this is to allow for user-imported costumes by replacing the sprites or creating sprite sheets in the same format. The current method works fine, so no worries if it's a no-go.

    Thanks!

    I *think* I can sort of see the jitter, it seems more noticeable on some elements like the chainlink fence kind of texture on the top

    I'm guessing what's happening is the camera scrolls at a constant rate (X pixels per frame) during transitions between screens, but the player is presumably moving at a speed that isn't constant (i.e. normal gameplay stuff like stopping and starting, variable speeds cause of jumping/sliding etc)

    OR when the player is moving at a constant velocity, it isn't a whole integer per frame tick
    e.g. if the player is moving at 2.5 pixels per frame, the camera it will appear more 'jittery' than if the player were moving at exactly 2 or 3 pixels per frame tick

    Either way, you might want to try tweening/lerping the camera to its target rather than directly snapping to it
    Please login to see this picture.

    I hadn't considered tweening before. In the engine, it looks great.
    The game now scrolls according to the following object, although once the player gets moving and the object moves at the same pace, the choppiness returns.
    I figured it might be an issue with decimals rather than integers, so I changed the game to scroll int(x("scrolling object")), making it always round. Unfortunately, it didn't help.
    The best compromise I can think of it to adjust the player velocity in incremates until it's not noticeable.

    Thanks for the help!

    This may be a dumb question, or it seems to me like it is since I'm typically able to figure out these types of things on my own.
    Either way, my issue is regarding scrolling in an application. My game runs at 256x240 @60fps. Scrolling is always smooth when the camera is being manually adjusted through a fastloop or an always event, which I assume is because the engine has round integers to go off of. The issue arises when the game scrolls relative to the player. The best way to describe it is that it looks like it's snapping to a grid.
    When the screen's X or Y is centered on the player object, the game looks choppy. It's not a framerate issue, since non-camera movements look clean. It's a peculiar issue that I'm really struggling to solve for some reason.

    Here's the code. Probably unnecessary: Please login to see this attachment.

    I'll attach a video demonstrating the issue. For reference, pay attention to the game's horizontal scrolling. When moving throughout a screen, it's choppy, but when transitioning to the next (which uses a fastloop), it's smooth.
    [video]Please login to see this media element.]

    At the end of the day, it's a minor gripe, but I'm hoping there's a way around this or something simple I neglected to try.
    Thanks y'all.

    you can use greyscale object graphics and use the RGB tint function instead, it's not exactly the same but it allows for unique colors to be assigned to different instances of the same active object. As mentioned, the replace color function edits the graphic for that object in memory so all instances will be affected.

    If I greyscale the peer object and use RGB tint, is there a way to only affect certain parts of the active? There are certain colors I would like to remain consistent throughout all peer objects (skin, eye, pupil colors)

    I'm working with lacewing and trying to learn the ropes of server based multiplayer at the moment. Currently all is going well, but I have hit a bit of a roadbump.
    When a peer joins the server in my game, they are assigned a unique id starting at 1 and increasing for each subsequent peer (1, 2, 3, 4, etc.)
    Using this id, I use the replace color function and replace the peer's colors.

    The problem I'm having is even though I'm specifying which instance of the peer object to replace color, it either doesn't work, or it replaces the color of every peer. Is there a workaround to this problem, or should I consider making multiple peer objects with preset colors? (which would mean I need to limit the player count in a server unfortunately)

    I had a bit of trouble trying to convey my point, so if something doesn't make sense then I'll try my best to elaborate.

    Please share XD

    Sure thing, Please login to see this link.

    The example utilizes the text blitter object to display text, so if you don't have that just add it through the extension manager. After running the application once, an ini file will be created in the MMFApplications folder.

    The example requires that you set keybinds before controller binds, since it essentially functions as a Joy-to-Key system. Controllers you can bind are solely limited to what Joystick 2 will accept as a gamepad. POV and Left Stick are auto-binded to Up, Down, Left, and Right, but you can easily change that is you desire. I'm sure I missed something with this example so please give feedback!

    For my game I have inputs set up with player-binded keys saved to an ini file (Up, Down, Left Right, Jump, Fire, etc.) and the Control X object reads the ini values. (keys are saved as strings and loaded to the alterable strings of an active object and the control x object reads those)

    Want I want to do now is do basically the same thing but save player-set gamepad inputs (buttons and POV values) into the ini file as well. The first problem I ran into was saving the last button or POV pressed into the ini file and then disabling the ability to bind the button or POV again when set. The second is being able to translate the button presses to "keystrokes" that the control X object can read.

    I previously used the Xbox Gamepad object and it worked fine, but I want more people with different gamepads to be able to play my game without any third party softwares. Anyone know how I should go about this? It was kind of difficult phrasing my question, but I'll be happy to try and rephrase it if need be.

    Hi ^^ !
    For the spawners, one method to do this is to have different ID for each spawners and the ennemy created by one spawner share the same ID as this spawners. The spawner can have a value to test if it has already created an ennemy. When both ennemy and spawner with the same ID are off-screen, you can destroy the ennemy, by having the two off-screen you prevent the spawner to create ennemy from the middle of the screen if only the ennemy leave the screen.

    To change the speed of the ennemy, you can define a little margin ( for exemple +-8 pixel ), this way you prevent some case where the player is on the same ground but just 1 or 2 pixel below/above. With a little margin if the player is few platform down/up the speed changer would not be triggered.

    I've tried to make you a little exemple with two differents type of enemies and spawners, this way you can see how to handle the global part of Enemies/Spawners with group and then have your different behaviors.

    Please login to see this attachment.
    ( i've tried to comment it but i'm not really good at english, i hope it's still understable ^^' )

    Hope it help :)

    Awesome, this worked great! It was just what I was looking for so thanks a bunch!

    I'm trying to work out how to implement enemy spawning and behaviors into my game.

    For spawning, I want the enemy to be spawned when its spawner is on-screen and there is no instance of the enemy that corresponds with its specific spawner. When I've tried this, it ends up spawning multiple instances of the enemy if the spawner leaves the screen but the enemy is still visible, which I do not want. Basically I am trying to make spawning work like it did in the old mega man games.

    For its behaviors, I want to be able to specify which instance of an enemy will be affected (since the enemy is just a copy/paste)
    As an example, whenever the player is on the same y-coordinate as the enemy, the enemy speeds up. When I've tried this, it ends up affecting all of the enemies instead of just one.

    With all of that said, what is the best way to go about achieving this?

    You could use alterable values to store your PMO values instead of storing them directly in the object. What I do is make an active object (usually called something like playerdata or something along those lines) and I make alterable values that match the ones in the Platform Movement Object, and then set them there.

    Please login to see this attachment.

    Then use an always event to set the PMO values to their matching alterable values.

    Please login to see this attachment.

    This means you can easily change all of your PMO values on the fly. You could set your events to whenever the player is falling and connected to the wall, lower the gravity value. Whenever the player isn't connected to the wall, restore the gravity value back to default.

    I'm not sure if this will help in your situation, but I hope it helps either way.

    I'm currently trying to implement water into my platform engine. I have it set up to where the water is just a 16x16 active object with a blend coefficient of 100 that I tile on a layer over whatever I want the water to cover. That was no problem and I saw no framerate issues. I wanted to polish the look, so I added a single perspective object over top of the water tiles. (Just one object over the water's surface area) The perspective object has the water qualifier.

    I set in the event editor:
    - Group.Water is in the play area
    -- Group.Water: Set offset to = timer / 10 <-----(this creates a moving ripple effect)

    This makes it to where the ripple effect is only active when the perspective object can be seen by the player. The problem is that it really takes a toll on the framerate of the game. I have it locked at 60 so that counters and alterable values will increase at the right speed. While this problem would be most easily solved by removing this feature entirely, I really like the way it looks and think it adds to the overall presentation of the engine. If anyone can help me out with optimization tips or a better line of code than the one I'm currently using that would be great.