Don't have an account yet? Then register once and completely free of charge and use our wide range of topics, features and great options. As a registered member on our site, you can use all functions to actively participate in community life. Write posts, open topics, upload your pictures, put your videos online, talk to other members and help us to constantly improve our project and grow together! So, what are you waiting for? Become a part of us today!
To get support for a technical issue such as installing the software, to query a purchase that you've made/would like to make, or anything other than using our software, please visit our Customer Service Desk:
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!
I am slow to answer at the moment. I can only agree with what you said. I would add the followings: - smooth animation transitions by merging them (run, walk, idle for example) - multiple collision boxes following the animation without any heavy CF2.5 coding - changing sprites on the fly keeping the animation skeleton (haxe, sword, gun, bow for example)
As you said, there are still bugs or drawbacks which prevent the extension to expressing its complete power. Some times ago and still now, I was and am gathering bugs and optimization inputs. I was stopping investing time in it because it already took me at least hundred of hours and I was not developing any game in the mean time. Since I am developing now a game where I want these kind of animation, I will certainly fix some of them. The file loading time should be improved with a json parser instead of scml (actually xml format) for example. The extension is also open source so there is always a possibility to ask an expert to fix an annoying bug or optimize something. [MENTION=15682]Volnaiskra[/MENTION]: as you said, the tool itself (Spriter Pro, not the extension), may also break your habits. It is for sure not an easy step. I can only say that I found Spriter Pro rather intuitive and I am not a professional animator, at least for the obvious and simplest features.
Regarding Spriter 2, I have no idea if it would be compatible. I did not take a look. Maybe brashmonkey may answer this.
Display More
RapidXml is supposedly 30-60x faster than tinyXml, so if parsing the xml file is what is slowing down load times it may be beneficial to try switching libraries. I'll play around with it and see if it improves speed a bit.
My partner and I use github for collaboration, this works out for us since the vast majority of the games assets are external (scripts, tilesets, sprites, etc etc). Obviously source control doesn't work for the actual mfa, so to avoid conflicts there and keep on the same page we have to employ close communication (usually voice chat) and sometimes even remote desktop while we're working.
Using the for each loop should work. How were you triggering the loop? It needs to be triggered via count -> for each object, under the objects actions.
As for adding information to a list, what I do is collect everything I need to send for a specific set of objects into a list, send it as a single packet at the end of the frame, and then process it as a list once received. Combined with dead reckoning and careful consideration of when to mark an object as needing to be updated on the client, this keeps the frequency and size of information needing to be sent to a minimum. This may or may not actually help performance, I do it mostly because I store previously received updates for a while so I can rollback updates if needed and do sanity checks on incoming data. My advice was mostly just don't send things every frame, let the client handle moving the enemy and just update it when something happens that you don't trust the client to do (changing direction, taking damage, etc).
Delete/change event 35, you're telling the PMO to check for collision with an obstacle, but you don't have any further conditions. You always need to have at least one more check (for instance, player is overlapping an obstacle, or an enemy) when telling the PMO to check for collisions.
Using peer IDs will work, if the enemies being synced are just other players. If the enemies being synced are computer controlled as I suspect is the case here, then you'll need something like you're trying to do here.
The method you're using to apply the received data should work, I use something similar myself. I suspect the issue is with the method you're using to send the data, I would suggest trying a for each loop on the enemies, this should make sure the the event is actually run for each enemy, and allow you to do further scoping of the enemies to reduce network traffic where possible. (I would also strongly recommend that you not send updates every frame, instead perhaps only when the enemy changes directions or enters a new state, whatever is more appropriate in this case.)
In the Ultimate Fullscreen object, if you set fullscreen type to 5, and then enable Misc -> Apply fullscreen settings to windows size; you can then use set manual fullscreen size to override the windowed scale of your game. You can use the on fullscreen/windowed conditions to apply the appropriate settings when needed.
Yeah, I was blending. Trying without the blend, it causes crashes (after about a minute, and just from basic animation switching.)
This is with loading from external. I'd try the loading from active but I have no idea how you're supposed to make a pipeline to get every sprite into an active object easily.
Edit: It wasn't causing a crash, per se. It's destroying the spriter object which causes Advanced Direction Object to crash (because it'll crash if it references an object not in frame.) The spriter object self-destructing is still pretty worrying though.
Edit 2: The sprite occasionally flashes, and an active object set to the X position of a bone will destroy itself if "destroy if too far from frame is checked." Does that mean when it flashes, the bones/sprites go offscreen for 1 frame? It also crashes due to the spriter object if I set the active to its point position and the spriter object kills itself (previously mentioned issue.) I think a safety check is missing. Set a string to check the x position of the bone and when the spriter object is destroyed, the x position is: -2147483648. Guessing the self-destructing is caused by the "destroy if too far" on the spriter object as well.
I would double check your animations, I was having a similar issue and it turned out it was being caused by one animation having parts at some ridiculous offset for a split second.
conceptgame: I've implemented the change to the way image loading handles external images I was talking about earlier in the thread, I've committed the changes to my fork on github, but I closed my pull request due to it also including changes I made to compile it in VS2017. I can open up a new pull request from a new branch if you'd like to take a look, it's not a very complicated change and it seems to work nicely.
Very nice object and easy to understand too. Three things though:
1. Example ext_mmfi doesn't work (nil error on line 86 in Demon AI that despite my best tries I couldn't fix) 2. Help button in the extenson's properties doesn't launch the help file (xlua.chm) 3. I feel like calling functions could be simplified. Instead of pushing parameters, why not just treat function call as "lua line"?
The latter needs a bit of explanation as I feel I wasn't clear enough. So instead of thing like this:
- Push integer parameter Global Value A - Push string parameter Global String A - Begin table - Push integer parameter Global Value B - Push integer parameter Global Value C - Push integer parameter Global Value D - Push string parameter Global String B - End table - call function "somefun"
you'd just do it like that:
- Call function "somefun("+Str$(Global Value A)+","+Global String A+",{"+Str$(Global Value B)+","+Str$(Global Value C)+","+Str$(Global Value D)+","+Global String B+"})"
Display More
1. This is due to the "mmf.newObjectClass()" function being broken in F2.5. I'm working on an updated version of the extension to correct this and a few other F2.5 specific issues, but it may be a while before I have time to finish and release it. You can still use the mmf.newObject() function to manually a build a table containing the objects you need, however the collision detection functions will still be broken (class.testBackdrop and similar)
3. You can use the "Call with X parameters" action to achieve this; I'm unsure if you can pass a table though. If it doesn't work you might try implementing some sort of serializer in mmf and then de-serializing the table in the Lua script.
Here's something I came up with, it uses the Big Box object (which you can get Please login to see this link.) to detect the refresh rate of the monitor, and then does some basic math to detect how long the object has been alive, destroying it when it's been alive long enough to have been drawn on the screen once.
Seems to work fine from 50-500fps, although I don't have a 120hz monitor to check that it works there.
I haven't used the built in platform movement in years, but since it only happens when the walking animation is playing, I'd wager the height of the sprite is changing, causing the sprite to be pushed up/fall down. The easiest solution would be to move the hotspot to the bottom of the sprite, so that the bottom row of pixels doesn't change position during animation.
A more complicated, but ultimately more complete and predictable solution would be to use a separate object for movement and collisions, with a single frame the size of your characters hit box. You could then simply center your player sprite on the hit box object. This would however require significantly more work; enough that it would probably make more sense to just dump the built in movement and use the PMO.
There's a channel offset shader in Looki's shader pack that does that, you can grab that Please login to see this link. if you don't already have it. Seems to work fine applied to a layer above the objects with the glitch shader applied to them.
I put together a shader to approximate the effect you're looking for. It doesn't produce quite as much glow as your example, but it's close. Please login to see this attachment.
Any chance of adding support for Tiled 1.0? It adds layer groups, which are pretty handy; unfortunately they don't work with the current version of the loader. I've hacked in enough partial support to use groups in my project, but it would be nice to have an "on layer group loaded" condition and access to group properties and such.
It looks like your issue is related to object scoping; the way way fusion decides which object to apply actions to based on the conditions.
In your case, it looks like at least part of your issue is the conditions in event 149, the condition comparing alterable value g of the zombie to alterable value A of the player group. In Fusion, objects are generally selected from the left most portion of a condition (the object you select to create a condition), so you'll need to flip that one around. You may also need to move that condition up one line, above the overlap condition.
Volnaiskra wrote a great article on scoping Please login to see this link., I'd suggest reading through it, as scoping is often the culprit when things don't behave as you'd expect in Fusion.
Do you have an example of the effect you're trying to achieve? Randomizing colors and scale will make an object look "glitchy", but you'll need to provide a little more detail if you're looking for a particular effect.