Posts by koobare

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.

    Hi there Hedgehog,

    What you want to do is very much possible, and indeed it's possible in a myriad of different ways and techniques.

    The simplest (for me) would be to use a List object.

    1) Place the List object outside your frame, then set it up with no scroll bar and with the "Hide on start" property switched on, so it doesn't take up your resources and doesn't show up on the screen. Note that you can decide whether the List should be 0-based (start with 0) or 1-based (start with 1) in the properties.

    2) Populate the List with 15 lines, each containing the ID number of one of your items (I'm assuming 1, 2, 3 etc. all up to 15). Best way to do that would be to use a fast loop: run a fast loop (Action: Special conditions > Fast loops > Start loop) 15 times at the start of your frame and add a new line to the List on each loop (Condition: Special conditions > On loop, then Action: List > Add a line): set it up so that the new line added contains your fast loop's index (Expression: Special conditions > Fast loops > Get loop index), with 1 added to it (we add +1 due to fast loops being 0-based -- and we want our first line to be "1").

    3) Once you have 15 lines in your List, you can use it as a number pool for your items: when you create one of those three items, assign it a number from the List (choose a line at random - Expression: List > Get Line), then remove that line from the List. Once assigned, the chosen number is removed from the pool, making sure you won't draw it again during this store visit.

    Also, remember that when you're choosing the next number (after you already assigned one or two), you should do so with a smaller random pool (as there will now be 14 or 13 numbers in the List) - simply subtract the number of items already assigned from your random pool, storing said number in some value, perhaps the alterable of the List or another object.

    When using a list you'll always have a way to make sure all your items are unique - and you can even store this List to make sure same items don't pop up two times in a row, during two separate store visits (in that case you would simply clear the list and repopulate it on the 2nd or 3rd time that the player enters the store, instead of doing it on every visit).

    Now, as I mentioned, this would be my prefered method, but it's far from the only one. If you'd like to compare the ID numbers between your objects, you can "brute force it" (reroll numbers until they're unique) by scoping your objects with ForEach loops and comparing the alterable value containing your randomized item ID. You can take the basic "number pool" idea and pair it with an Array, if you'd like, or reverse it and use an Array to store the numbers you've already drawn, which would be compared with loops and assigned to the objects once the comparisons and redraws are complete.

    Finally, a quirky, silly little solution if you're adamant you don't want to use a random pool: the bamboozle. You can divide your 15 item IDs into three little piles of 5, assign each pile to one object (so, one can only draw from 1-5, the other from 5-10, the third from 10-15) and then, after they've drawn their numbers... switch them around at random, instantly swapping their positions between them. Players will never know. I won't tell either.

    One more thing: performance considerations. The List object is "heavier" than most data storage options, but I'm sure that unless you're squeezing out everything from your engine and fighting for scraps of performance by juggling groups activations to lock down each and every fastloop... you won't even notice. If your application is Windows-only, you might want to consider the Internal List object, which is faster, but Windows-exclusive (while the standard List can be used across multiple platforms).

    Edit: Volnaiskra explained the pool idea above while I was still typing this out :)

    Hey Finni_roverfield,

    You mention that the frame you want to set is "3rd and final" and I see in your code you're setting it to the third frame. But if you wanted to set it to the third frame, you should "Force animation frame" to 2 (as the animation frame list is 0-based, meaning the first one is actually "0", not "1"). If I'm correct, this would then mean that the frame you tell the game to switch to ("3") might not actually exist, and then all that you mentioned happens next.

    Check it out and let me know if this fixes the problem.

    Hi guys (and hi Fernando!),

    I have a few questions regarding the Font Packer object available for the Android Exporter. I have checked the help and example files, and browsed through the forums, but I think these weren't answered anywhere - would greatly appreciate any info and additional hints about it.

    1) Do I have to have the Font Packer object in every frame that contains a string, or is it considered to be a global object, in which fonts defined in one frame are available in the entire game?

    2) If the object is not global and I have to add the fonts in each frame... Will the game keep the font separately for each frame or access a single one in memory? I have many frames containing Strings that require this font and wouldn't like to "spam" the game with multiple instances of the same font file.

    3) It seems that the font I want to use (EB Garamond 08) automatically sets itself to Italic when I apply it to the String, despite the fact that I added it as regular to the Font Packer object. When I set the String to this font in my test application, it automatically showed as Italic, and I'm unsure how to fix this. Is there a way to control this in fonts that contain multiple styles within?

    4) Are there any negative effects from using the Font Packer object in terms of performance or compatibility?

    5) Final question - in the example file, and in the object's actions, there are two types of fonts mentioned, Internal and Packed. I understand that the Packed ones are the ones we add ourselves, and that the Internal ones are the system fonts available in Android. Is there a list somewhere of all the universal Internal fonts that Android has in it by default, across all devices and producers?

    Thanks for the answers and any additional hints about the object!

    Cheers,

    K.

    Hi guys (and especially hi Fernando :)),

    I have a huge problem I could use some help with. It's likely I've discovered a serious bug in the Android exporter - and I'm looking for a workaround (and a patch).

    I have a save system in my game that copies all Global Values and Global Strings into an array before saving them. It works perfectly on the Windows runtime, but I just discovered that it crashes my entire application when exported to Android. I have been stripping away code from this system for the whole day, trying to find it and have finally arrived at the core of the problem: the Android runtime crashes when you try to copy Global Strings into a Text Array (or any other storage) via a loop. I was able to replicate it multiple times, and with multiple objects.

    To show what I mean, I am attaching a sample application - check it out: Please login to see this link. (contains both the APK and MFA)

    It seems the Android runtime crashes everytime I try to retrieve data from Global Strings with a loop (by Global String index). I need a loop for it in my game due to the amount of data stored there (nearly 200 strings).

    Cheers,

    Koobare

    Edit: Added to Bugbox as well (#4142)

    I actually find this to be disappointing news, I guess. This adds to fragmentization of the engine and strains resources which - in my humble opinion of a forum-posting nobody - should be used to perfect and update the current primary software and the exporters most used by its users (Windows and mobile runtimes, I believe). A small subset of us will now be able to export games to a closed, restricted, uneasy-to-get-in, certification-requiring platform, while features requested for years in the base software seem to be lower priority. But that's just me, I guess.

    How about this option: Starting a kickstarter campaign for hiring more programmers just to develop fusion 3 much faster to a stable version within the next months, including great features.

    Not to come off badly, but that's probably the least reasonable idea mentioned here, alongside new exporters.

    What we need, in my opinion, is compatibility, bug-fixing and introducing universal features that users can take advantage of, for the current generation of product available to us. For myself, those would be the features I mentioned, but I'm more than willing to throw some cash at anything that I will think of as useful.

    As I see it, this topic was created out of concern - which I share - that Fusion 2.5's updates have been coming out very slowly, with a lot of issues clugging the bugtracker, a lot of features mentioned over the years not implemented yet and that not a lot is done to reconcille features and objects across all runtimes. Some users can hold off their projects until Fusion 3 - others, like myself, are under contractual obligations and deadlines, which means we will finish the products we're working on on Fusion 2.5. Having a more robust featureset, more debugging and better and more universal objects is simply a great way to do that (I seriously cannot stress how much dance-arounds I had with the lack of a proper modern text blitter, always building one from scratch to fit the project) - and to extend the life of the product until Fusion 3 comes along. Saying "eh, just wait for Fusion 3" won't cut it for myself, even if it's faster. ;)

    chrilley

    Sure, here's the specs of the computer I've tested this on: Windows 7 64 bit SP1, AMD Radeon HD 5800 Series PCI Express 2.0 1024 MB GDDR5 1200 MHz, Intel Core i5 750 @ 2.67 Ghz.

    I guess you could always try the trifecta as well: update video drivers for your card, check for system updates and reinstall the standard libraries (DirectX, NET, Visual C++) just to make sure there's no conflicts or corrupted drivers or whatever.

    Krolik, we have a pretty similar list, though that's probably to be expected. :)

    Some suggestions that I've mentioned that I would gladly throw some cash at:
    - An update to Character Image or, probably even better, an entirely new text blitter (using graphical fonts and capable of easily generating them) that would be available for ALL runtimes and optimized for HWA (current Character Image is incompatible with runtimes, full of bugs, distorts text and isn't optimized at all - huge drops in frames when using it, similarly for the String object, though that's due to the font display method used). We are seriously missing a proper paragraph-based text object with graphical fonts.
    - Ways to better compress games (my mobile games are HUGE), perhaps an option to better compress graphics when exporting?
    - A method of choosing whether non-transparent objects in HTML5 applications should be stored in PNG clusters (as currently, creating huge files) or compressed JPGs.
    - A method of mirroring left and right animations in the Actives or a new Active+ object capable of displaying mirrored animations instead of the necessity to double memory required when creating left and right animations.
    - Accelerating the Spriter Object development and creating a multi-platform version of it - it seems great, but development is slow and it is currently Windows only. This would add an incredible feature to Fusion: full-fledged skeletal animations!
    - Object compatibility for all runtimes for: 360 Movement Object, Advanced Path Finding, Flocking Object, Text Rectangle Calculator (has all but HTML5), Immediate If (only has PC and Android version), Isometric Grid object, Internal List Object, List of Numbers object, File object (only has Android and PC), Inventory (no Android version), Ultimate Fullscreen (though I'm unsure if this one would work), AESFusion (missing iOS version).
    - Adding one way of loading binary files for all runtimes (currently one needs to keep code separate for Windows and mobiles/HTML5 because of this).
    - Adding option to Fusion preferences to load binary files on "Run Frame" and "Run Game" editor options (perhaps storing them in memory and loading on call as if they were in the binary).
    - Adding missing keyboard shortcuts, like "Forward One" and "Backward One" for object order, "Clone Object" and some others to improve productivity.
    - Image Editor: remember transparency color globally when importing images to different objects.
    - New object, the Debugging Object: displaying the global values, global strings and alterables and X,Y positions of any selected object (selected through runtime code) on screen, for any runtime, as a text overlay/console.
    - Fixes to the Create Object and Select Area screens in the Event Editor, which gets corrupted any time you scroll the window while in these screens.
    - A new Path-like Movement or update to Path Movement (or a separate object controller controlling it) that allows changes to the X,Y positions of path movement nodes on runtime (where you input new X and Y coordinates of a particular node and can receive node coordinates via expression editor).
    - A new "Native Video" object using the Theora OGV open library to display Theora-compressed videos and animations on all runtimes. Just like Fusion allows us to use OGG objects for sounds and music, it should also allow us to use its "graphical brother", the OGV, for videos, cutscenes, objects (perhaps even with a transparency layer).
    - Mobile shaders - selected basic shaders working across all runtimes.

    I would pretty much welcome any improvements and cross-compatibility. The one thing I'm not interested in at all is any new exporters - we have not enough compatibility between the runtimes even now, and look how long it has been since these runtimes have arrived. So, improvements, new objects and functionality is what I'd suggest, support, and gladly throw some cash at!

    Definitely. There's a huge number of thing F2.5 does and does good, but sometimes seems there's just that "little bit" missing, like small (but annoying) issues or slightly outdated support in some objects. I would bet most of us have a list for that, if only in their mind. I think of gathering these lists and squeezing them in a workable one, may be a maximum of ten to twenty tasks (depending on their bulk, of course) only the most sought after by users.

    Fully agreed, and I'd love to contribute to such a list, I've got some pretty solid propositions. And the best part is, if this campaign of cooperation between CT and the community would work out, we could approach another one later on.

    We have thought about a crowd source campaign fund raising initiative before. At the time it was to fund additional "Console" export options. We aren't against it however we would need to nail down collectively what we want done in 2.5? We will be supporting CF 2.5 for quite sometime after 3 is released so by no means will we stop support. But all of you are correct, we are limited in resources. And that may due to the pricing structure. We don't and WONT ever do profit sharing, or the like which you see larger tools like Unity or Unread do, It's not our way. But in doing so we maybe limiting the amount of income we can pull from each version.

    Absolutely awesome to hear, Kisguri! I fully support such a position, and would love to contribute to whatever resource-gathering method would be chosen. An engine based on profit-sharing is something that does not sound good at all, so I'm glad you guys aren't even contemplating it.

    I can tell you things that most likely won't happen...
    * We won't be making the Event Editor Less "Event Editor" like
    * Issues that arise due to Legacy code from all the way back to K&P (F3 is going to fix that)

    Some things that could be done
    * More export options
    * Additional objects
    * Syncing and or aligning features across existing platforms. I would love to hear more of your thoughts on this.

    Fully agreed, though I believe you guys would need to help us out by sorting out what exactly is a legacy issue, and what's something that can be worked around.

    For example, from the things I've mentioned, a new universal text blitter (or an update to Image Character to make it HWA-optimized and working across all runtimes) seems like an easy-enough task, and a new "Native Video" object using Theora would be straight object work based on the SDKs and the open source Theora code available... But what about having mirrored directions in the active object? Compression improvement for Actives, especially for mobiles? Krolik, who created this thread, mentioned mobile shaders, which is also something I greatly support - would it be in the realm of possibility? Many important objects are also missing for some of the runtimes, and beyond that there's also fixes for issues that have been around for a while. I bet we could all come up with a pretty substantive list that would require your input on what would be doable, and what wouldn't be.

    But if proven useful, would participate (with a reasonable sum! X)) The topic raised is definitely important and deserves attention. (...) So, in this meantime, I think both users and Clickteam would benefit from continued support on F2.5, at least on most important issues. Then the new features and speed of F3 will be worth the jump, when time comes, with a strong user base eagerly waiting but not starving.

    Would love hearing thoughts from Clickteam to understand:
    -What do they need to provide this support / fixes to 2.5 we would really need?
    -Are they interested in doing so?
    -Is there anything we can do to help in this process?

    The community seems clearly available to lend a hand, so may be a good idea thinking how to use this valuable resource.

    Absolutely, I find myself once again in full agreement, as I've stated in the other thread.

    I think this would be incredibly beneficial to the community, and might also add some additional energy to a product that would otherwise be at the end of its cycle (with Fusion 3 already shown around and all that), when it doesn't really have to be! I'm using Fusion 2.5 as my primary tool when working with customers and publishers, and sometimes there's JUST that one thing or a couple of things keeping the product from being perfectly viable for bigger projects in genres not a lot users approached before, at least professionally. Those "few things" can be stuff like the lack of an integrated Theora video player (we have OGG for audio, we could really, really use OGV for video!), not enough graphical compression/too big size of the games, lack of a modern paragraph-based text-blitter that would use graphical fonts but work well with the HWA and exporters (unlike the Image Character object), lack of multi-exporter support for some crucial objects or other things that wouldn't necessarily be "impossible" if financed and given some time. Fusion is an incredible product made by an incredible team, but is sometimes lacking just the tiniest bit to fully fullfill some requirements I'm met with myself, which have forced me to shop around other engines for some of the projects. I'd rather stick 100% of the time with Fusion.

    I hope Clickteam not understand these actions as criticism, but as a willingness to help :) A suggestion: The Clickteam can sell a special license, with monthly payment, that giving access to beta testing or other advantages. It would be something like Patreon, but without involving third parties.

    I'm seriously open to any idea that would work for Clickteam, as long as I can have those few extra improvements I need to push some projects forward, and as long as we see Fusion 2.5 further developed. :) Special licenses, "silver club" options, patreon, kickstarter, "hire a dev" thing, whatever would work that would get Clickteam's blessing and be centrally organized (meaning that it would use this community's tools and focus to get it done, but with some help in organization - after trying to finance a Theora extension for myself in the past, doing so from the grounds up via just forum threads has proven near impossible, due to the lack of exposure).

    Anyway, looking forward to Clickteam's thoughts on this and reiterating my strong support for this idea!

    Hi guys,

    Looking for some reasonably experienced Fusion programmers to help out with additional work popping up in our commercial project, either in the debugging department or with additional coding (mostly code snippets, widgets and parts of bigger game systems). This is PAID work, but our budget is limited, so please let us know about your prices beforehand (and invoicing ability if it exists), as well as send in some examples/portfolio of your work (and country of origin). Let us know if you have experience with mobile exporters.

    We're also open to artist submissions, in regards to the current project and/or future ones.

    You can contact me via PM or at kontakt@jot-er.pl

    Cheers!