Chadori's Forum Posts

  • The Mobile Master Ads supports this. Although, this is a premium (paid) plugin, so only get this when you really need it for your project. Even though, it does support ad-network mediations, so that's a plus for your income revenue.

    References:

    construct.net/en/forum/construct-3/plugin-sdk-10/construct-master-collection-139046

    construct.net/en/forum/construct-3/plugin-sdk-10/mobile-master-monetization-142097

  • For those who use the old Functions and scripting to workaround the limitations of the built-in Functions. Please help out to support the request for the improvement of the new built-in Functions. Thank you!

  • Hi Ashley and the rest in the Construct Team.

    I would like to talk about the Functions built-in. There seems to be 2 issues I've found. I understand how much thought you've might given the new Functions, but I think you might have missed a few important points.

    1. Redundancy
    2. Limitation

    I've made a few events to showcase the issues I've encountered. There are lots more actually but I think this is enough to give a point and to show the solution's effectiveness.

    Redundancy

    Mapping

    The current state of the Functions built-in has a few unnecessary parts, specifically the Map Function to string.

    By design, a Construct 3 function is already a string, for simplicity sake, can we instead of Map function to string to use the function name instead as a string reference.

    It doesn't feel like it's worth all the trouble. Considering less events are better in both performance and readability.

    If you really think mapping features are necessary, then I think this should be left as optional, like a tag action.

    Redundancies are something we can still endure though but I think it can be on its best when remaining simple but effective.

    Limitations

    Unlike redundancies, limitations are the project stopper on the user end. They make it nearly impossible or at least hard to manage development. I'll show a quick show why,

    Parameters & Expression Function Call

    Parameters ::

    It's of an upmost importance to be able to control the parameters, for example making a dynamic function inside a current function where the input parameters of the current function determines which function will run and what parameters are passed.

    Just like the screenshot above, the ConversionMode controls the function to be called for and what parameters are passed, dependent on the process output data.

    It might come of question:

    Why not make direct call function and make the comparison on a base event?

    It's because of its inefficiency in readability, organization and event count-performance. For example, I've done a function of a Character Creation Class, which has its own sub-class functions (Not in the same event). Calling those sub-class functions on the parent event instead can lead to very confusing events, almost impossible to call organized.

    It can be said similar to developing a regular app using JS without passing dynamic arguments or functions having the same parameters when passed.

    We are already limited to Global Functions, I feel like we don't want to add any more limitations like this.

    Parameter Count & Param(i) ::

    I have to give it to the Construct Team. The default function is a great feature. A fallback for a function is very handy, and it also gives an opportunity to showcase a limitation.

    We know the it basically passes all the parameters of a misfired function to the default function.

    Although, the passed parameters are lost.

    The problem here is that, similar to the regular built-in function, we can't manage the parameters, like get its Count and Param(i), where it's crucial for this to work.

    JavaScript has this feature, Construct 2 also has this feature. I believe it's really crucial to get these features back.

    Other info

    I understand the amount of thought and work you guys have made, it might work in the theory planning, but I can assure that it's really hard to do in real development.

    I asked other regular users of Construct 3 on how they managed to get around these limitations. Interestingly, I got these answers:

    1. They use scripting. And they even suggested me to do that.
    2. They use the old Construct 3 Function by importing a Construct 2 .capx with a Function plugin.

    The first idea makes sense, but with my workflow, I only want to use scripting when it can't be done with Construct 3's core plugin. And that makes sense, cause Construct 3 promotes being mainly visual-editor based.

    The 2nd one, I've done that for my projects. But, after the variadic-parameters issue, it broke lots of projects, including mine. If a time comes where the old Construct 3 Function becomes depreciated, it would be another rewrite and heavier this time. Which I'm not planning to go with again.

    As much as possible, I'd like it resolved now, while it's early.

    Solution

    Redundancies

    The redundancy issue compromises a bit of organization of events and increases event count, but nothing that isn't manageable. But it can become better.

    I have a suggestive solution,

    Instead of having the Call mapped function, how about just making it into a Call action. Instead of having the Map default function, how about making it Set default function. With this, we don't need to Map function to string since a function is already a referenced by a constant string. Especially, we wouldn't need maps at all.

    The function name is already a great candidate for a function reference string. But if you really need to, a Tag function to string action can also be an option.

    Limitations

    Parameters ::

    I'm not sure why the Functions (built-in) had an ACE change, but I'm guessing it has something to do with Variadic Parameters. But if that's the case, an easy solution is add new actions to the actions list, that would be the following:

    A parameter stack, would be a great replacement. I've tried it and it's an easier replacement to use.

    Parameter Count & Param(i) also Compare ::

    Having the expressions ParamCount & Param(i) and the condition Compare Parameter as an additional feature would really be useful on dynamic cases.

    Basically, at this point, I'm asking for integration of the old Function to the new built-in Functions.

    Hoping for your kind consideration.

    Thank you for your time.

  • I do suggest instead asking the Construct Team (Ashley to get Spritefont animations.

  • Wow, this is superb! ✨👍

  • Hi Ashley.

    I hope I'm not disturbing. I would like to request for an IStorage addon interface for the Addon SDK. I planned to call localforage directly but I recall it's unadvised to use undocumented features. Hence, here I am.

    Why?

    I plan to create an addon to automate active-time session monitoring. Specifically both for offline & online games. Where for offline I need to automatically keep track of the last active session time, both online or offline.

    The case for offline, I need it to be automatically recorded, with a timer to the localForage.

    What do you need?

    I was hoping for the basic things like get, set, remove, clear.

    But if you could consider giving us an option to create our own Instance Key instead of the regular c3-localstorage-id-description, then it would be really great, so we can make it feel like everything is really automated when it's hidden from obstruction, it really helps in development and organization.

    How about Scripting?

    I've thought about that, although there are things that you just need as addons, like this addon.

    The best workflow I've came up is:

    1. Addons: World objects & complicated stuffs that need a simplification wrapper.
    2. Events: Editor core-features that are easier to use for tasks with events.
    3. Scripting: Complex stuffs that are easier and better in performance with JS.

    That's why I'd need an addon for this one.

    You should post this to the features/suggestion tracker.

    I've tried before. Although, the features/suggestion tracker has been acting weird when I posted a suggestion before, it doesn't show up but I did receive a confirmation email.

    The post I've made was labeled C3-I-1049.

    That's all, hoping for your kind consideration. Thank you.

  • It's only for c3runtime since it was released when c3runtime was by default.

  • Announcement!

    Hi everyone!

    I just like to announce that I will stop creating new addons for the Construct 2 Editor & c2runtime.

    I've always supported it knowing that I'm still going to use it but it feels like I'm leaving that editor for good now, due to limitations I've came across.

    So, the following addons for 7.0:

    1. Web Google Plus
    2. Clock
    3. GFX : v2

    Will be Construct 3 Editor & c3runtime exclusive.

    Also, the release of 7.0 might have a bit delay because of work I have to get done first, which is more prioritized. I hope you understand.

    That's all for now. Have a nice day!

  • Release 6.1 :: Major Patch Release

    The Major Patch update is now live.

    It's a very big update with lots of bug fixes and polishing. I recommend you all to update. Thank you.

    The Mobile Master Monetization has also been updated!

    Construct Master Collection : References

    That's all for now. Have a happy game development!

  • You do not have permission to view this post

  • LukeW

    Is that still an issue with the c3 runtime? And if so, would you suggest leaving it on all the time?

    It's the case for all Cordova apps, regardless of what runtime you use. Cordova builds hybrid apps, which Construct 3 uses to wrap HTML5 games for mobile.

    I suggest leaving it on during gameplay. But when on the menu, for example, you can turn it off. The plugin lets you choose when to lock or unlock.

    The ones throttling the performance are the device manufacturers, they filter out which to run their device's performance to its full extent and which to run idle mode, to save battery life.

    I tested this myself on a few devices. And I got a huge performance boost during locking.

    Not only that, if you wait for your application to reach a time that it goes idle mode when you don't use the plugin, it will have a huge FPS drop. Which is terrible for games especially realtime multiplayer.

    Though, this a device-specific case, not all devices have this. But I assume most devices that promotes battery life have this trick, which device manufacturers call smart battery, which is a feature, they're not wrong. But, it throttles the performance of Cordova games.

    Assuming for example 50% of devices have this 'smart battery' feature, you'd have 50% players not running your game on the full extent of their phone's hardware.

    As much as possible, it's recommended to run your games to the full extent of a device's performance.

    I had the slight concern that it would get rejected from the App Store if the screen was forced on. Sounds like that won't be the case.

    Nope, it won't. And it helps that you can just turn it on when you need it, for example during in-game.

  • Try Construct 3

    Develop games in your browser. Powerful, performant & highly capable.

    Try Now Construct 3 users don't see these ads
  • Ohh that. Yeah, that plugin has been on the collection for a while now. The bonus side when you force it to awake is that, it forces the device to use its full performance.

    The performance part was the one I was truly after. This is because, as I've noticed, Cordova apps are sometimes performance throttled by device manufacturers to save up battery life because they assume Cordova apps are just office apps and didn't expect them to be games. Hence, this plugin forces them to use near full performance since the screen is on full. This is similar to Full Performance on a PC.

  • Tom I hope you've deleted the test game I've left there. I was about to delete it, but then it's already closed, haha.

  • macube

    The GFX-Plugin sounds very interessting for me. Thx

    Glad you like it.

  • Announcement

    Hi, everyone. It's been a while. I would like to announce that there will be 2 consecutive releases that will be held this month, it comes with tons of collection improvement, bug fixes and especially new features.

    Release 6.0.0.1 - Patch Update

    This will be released this August 07, 2019. This is a patch to the recent release 6.0.0.0 with fixes to the issues. And especially, major improvements to the collection itself.

    The progress can be seen here:

    github.com/ChadoriRebornXD/Construct-Master-Collection/milestone/16

    Stable Release 7.0.0.0 - Major Upgrade

    There will be new features coming this August 14, 2019, especially since the documentation website will release that day, so beginners can also use the collection without any hesitation.

    Also, we have a few new addons that will be added into the collection this 7.0.0.0 release.

    1. GFX Plugin v2 : The successor of the GFX plugin, this optimizes Construct made games and allows the implementation of performance settings into the games.
    2. Clock : The addon that implements time-management features, either local or time standards. Implements online/offline based last active session. Best used with the PlayFab Master Collection.
    3. Web GooglePlus : The addon enables GooglePlus authentication for the web platform. This is also usable for PlayFab Authentication via GooglePlus.

    The progress can be seen here:

    github.com/ChadoriRebornXD/Construct-Master-Collection/milestone/17

    That's all for now, happy game development!