Chadori's Forum Posts

  • dop2000

    I still think you are wrong.

    You are basically asking to implement a hack.

    I can see how this feature can be useful in some projects, but I also see how many people (especially beginners) will abuse it and this will result in very poor code organization, and could potentially cause more harm than good.

    It's not a hack. It's like saying the MM_Preloader or the MM_Unloader is a hack.

    Which it isn't. It is fully compatible with the SDK like the Function_Advanced.

    The Function_Advanced is fully compatible, just not available.

    It's a very simple plugin, yet a masterpiece. Try to read the code of the Function_Advanced, you'll see how impossible for it to be a hack.

    On this link :

    https://construct3.ideas.aha.io/ideas/C3-I-504

    The feature :

    The feature is the action "Call Function on Event Sheet". This eliminates the need to include an entire event sheet just to call a single function from another event sheet. This would be very useful for complicated projects that require branch events. Games with Multiplayer, Open-World, Map Generator, Procedural Generation or any large projects that requires complex and modular game management and in-game design.

    Modular design capability is the most important part of this feature, which as of now, Construct 2 / Construct 3 doesn't have. With this 'simple action', the limitation is lifted.

    Wait. How can it be harmful and how can you abuse it? I don't find anything on the plugin that can be abusing or harmful. If it were, we could have done it on Construct 2 long ago. It is just a simple call function from another event sheet. That is actually very convenient considering it has all the benefits without having to make a messy game event design.

    It doesn't lead to bad code organization, as a matter of fact, it improves it since we can then make modular game event designs. AKA, removes messy redundant events, removes unnecessary more event sheets, everything can be modular, build things by parts and not involve global variables which are messy with modular events and especially bad for performance.

    And worrying about beginners, they have to learn it anyway, especially if they want to be serious developers. It is the same with actual programming.

    So to conclude.

    Benefits :

    • Modular Events, game designs built by parts/modules. Better event management.
    • Less event sheets. No more redundant event sheets.
    • Avoid use of global variables as an alternative means for modular events.
    • More organized events. Clean looking with less redundant events.
    • More performance in avoiding global variables for modular designs.
    • Modular Debugging.
    • Multiplayer Games to separate the Server Module with only 1 function to call all clients.
    • 1 function call to toggle/initialize all modules. This is my favorite feature.
    • There are so much possibilities! Not surprising though.

    Disadvantages :

    • 1 action more confusing for a beginner.
    • Call a function from an event sheet, must not call another function.

    There are only 2 disadvantages. Which are very easy to overcome.

    The first disadvantage is that it can be confusing to beginners. But aren't functions confusing to beginners. And that is not a problem since they can learn.

    The second disadvantage is easy to manage. The Function_Advanced has a red-icon indicator, if you see that function, don't call another function within a red-icon function.

    Although, I can see a potential on Construct 3 to overcome that. I believe Construct 3 can make a better version of the Function_Advanced plugin which can remove all those limitations. Which isn't really bad, if you ask me. It's a very very small trade-off for a better Function Plugin.

    For anyone interested in having this on Construct 3, please vote here :

    https://construct3.ideas.aha.io/ideas/C3-I-504

    Thank You.

  • Guys, if you have the time, I need your help to get this officially included in Construct 3.

    This is the Function plugin with an 'Call on Event Sheet' feature, an advanced but very useful feature.

    We have a Construct 2 plugin version sample on the link below and the useful features are also explained there.

    https://construct3.ideas.aha.io/ideas/C3-I-504

    Because the Construct 3 SDK doesn't cover the references to port the said plugin, we would need help from the Construct Team to either provide us the Function Plugin SDK References or make the plugin itself official.

    This will become easier if you help in the Feature Request voting too.

    Thank you for your time.

  • While the Construct 3 version still isn't available. Here is a temporary version :

    C3adon with Sample Cap3:

    1drv.ms/u/s!AjcW2ueud6qpgZBTpd6SfKbs2BDdsg

    Since Construct 3 doesn't support JQuery, you still have to use the Valerypopoff JS Plugin and use it to include the JQuery file. And a custom initialization is also used.

  • This Converter is very great. But a reminder for anyone using this to convert C3 'world' plugins. Please don't just let it be after conversion even though it is working. Please manually tweak some parts of the plugin and also consider reading the Construct 3 SDK.

    Some porters forget or miss to convert some essential features needed for the plugins to reach its full potential. Even Behaviors too.

    Some examples that might be needed to get manually coded :

    1) Edit-Image

    2) Make-Original-Size

    3) Set Hotspot/Origin

    4) Live Previews

    5) Possibly more...

    Please do comply, to make it easier for everyone. Thanks

    blackhornet can you help me out by trying to give this out by including an additional note on the front page. Thanks.

  • When I use a webfont of Kanji,or the chinese character.

    Its Byte is 1650 times that of the roman/latin alphabet (spritefont).

    This is terrible.

    You are talking about WebFonts. A different thing.

    In Spritefonts, only include the characters found in your game dialogues.

    Because there are thousands of Kanji and Chinese Characters that would bloat your game so fast that it won't even be practical. And the images won't even work since it would be bigger than the maximum image size.

    Terrible is a bit of an exaggeration since most of the pioneer/classic digital games were made in Japanese.

    And their games were just KBs or 1 to 2 MBs in size. And those are big Nintendo RPG Games.

    So, it is really very possible to make light, just needs some learning.

  • What I mean is, I made a really cool spritefont but I only know latin characters, so if a person who dosen't use the latin alphabet like russian or korean, no characters will show up when they try to enter a name for their character and that kinda sucks you know ?

    Well. I do definitely think that the current situation is for the best. Because there is no way to find out the direct translation of a different writing system to the roman/latin alphabet.

    https://i.imgur.com/fjeFSYO.png[/img]

    https://i.imgur.com/fjeFSYO.png

    For example, Chinese & Japanese:

    Chinese have these 1 character per meaning/word. So there would be no a,b,c,d,e,f,g... and etc. on the Chinese Written Language. There would be 火 for fire.

    Japanese in the other hand is more complicated, there are 3 written scripts called Hiragana, Katakana and Kanji. And Fire has 3 different versions of writing :

    1) Hiragana has the alphabet style like the roman/latin characters. Used for Japanese words.

    Like A = あ,I = い、E = え and etc.

    So fire would be : かさい

    But it could also be in this form :

    2) Katakana has the alphabet style like the roman/latin characters. Used for borrowed Foreign words.

    Like A = ア、I = イ、E = エ and etc.

    So fire would be : ファイア

    But with words it can either be Hiragana, Katakana or Kanji.

    3)Kanji is like the Chinese Characters, 1 character per meaning/word.

    Like the 'Moon' = 「月」。

    So fire would be : 火

    In conclusion, there is no assurance for a direct written translation from the roman/latin alphabet to other written languages, so this is a matter of fact by design and should even be helpful for localization.

  • What do you mean? Just in case you are not aware, you can just design the SpriteFont in latin characters.

  • dop2000

    So in the event sheet A you call a function from event sheet B, without including B.

    What if that function relies on other events from the event sheet B? Say, calls other functions or triggers some delayed events defined in B?

    This can cause problems that will be very difficult to troubleshoot.

    Of course there won't be any problem since in the first place you are calling only a single function. And no one is forcing you to use a more advanced feature, but what is important is that it is at least available.

    Anyway, if Ashley wants to, he could work around that depending on how he prepared Construct 3.

    I do expect the Construct Team that they will improve the feature anyhow they can especially if it is going to get official.

    Hard to troubleshoot? Actually this is not a big deal to troubleshoot especially when we have situations similar to this case that still no one to an extent did complain about changing. Like Nested Groups, Wait(), Includes and etc...

    Nested Groups for example can have deactivated groups withing a parent group and this can cause problems in troubleshooting, but this makes sense to have as a feature since we need block scoping.

    Wait() in loops and functions and etc. can cause problems too and hard to troubleshoot but we just need to learn to use it properly.

    And Includes can actually be complicated as this function feature since they act as branch nodes and unexpected event sheets might get included and run without even the developer noticing, since includes can go spaghetti.

    So if another event sheet have initialization events there, it could run even when not supposed to. Then, that would be harder to troubleshoot.

    They all can go haywire on specific situations but we just need to learn to manage it. Construct is made easy but it shouldn't be limited to complex creativity just to avoid confusion in troubleshooting.

    If you support this kind of mentality, then Construct Games will continue to be seen by users as a game engine limited to typical game functions made mostly with built-in behaviors. Which Construct is not, it is way better than that and it has very good potential to do a lot of complex and advanced things.

    Besides, this is actually quite beneficial. It would prevent and avoid redundant techniques to very complex situations. Imagine this, if you include an event sheet instead of calling only a function from an event sheet.

    It would be way harder to troubleshoot when you face these problems:

    1) Duplicate Functions

    2) Include Spaghetti, includes that are spread across event sheets.

    3) Unorganized events

    Now here, you either pick to 'Duplicate a function' or 'Include Event Sheets' repeatedly until you lose track of their sources. For example :

    i.imgur.com/HiW2lqi.png

    Click the link to see the image.

    Imagine if Event Sheet (Green) has the functions. It is haywire!

    Either way, it is messy. The best solution, is the "Function Call : On Event Sheet".

    We have been using this feature on the background of Construct 2 for a while now and nobody has ever gotten any problems including me. But now, I am not sure if the SDK documentation references for the function plugin on Construct 3 is available, so i think asking Ashley to support it officially is better.

    Or, if he can't or won't, I would like to ask the Construct Team the 'Editor' and 'Runtime' documentation reference guide on how I could achieve making a customized function plugin for Construct 3.

    Thanks.

  • Hello Construct Team. I have a feature request that won't require much time to add and if you wanted to, you could even add it immediately on the next release. With that said, this feature would still be very beneficial with developers who have complex projects.

    I have a sample Construct 2 plugin that might be a good basis on how it could be achieved and to show its practical use. Although I expect improvements from Construct team as it will be an official feature.

    The feature is the action "Call Function on Event Sheet". This eliminates the need to include an entire event sheet just to call a function from another event sheet. This would be very useful for complicated projects that require branch events. Games with Multiplayer, Open-World, Map Generator, Procedural Generation or any large projects that requires complex and modular game management and in-game design.

    Thank You.

    Ashley

    Reference : construct3.ideas.aha.io/ideas/C3-I-504

  • Hello. Can we get the Construct 3 SCML plugin updated. It has been half a year ever since the beta and a stable version would be very nice. There have been many changes ever since on Construct 3, including the Construct 3 Desktop Build, Stable SDK for the new runtime, Custom Importer SDK and etc...

    If it would be possible to as soon as possible have a Construct 3 version that can take advantage of the new features and also support the Spriter Hybrid Mode (High Performance Mode + Standard Mode) on Construct 3. Some of us also use the non-self drawing mode, so please support the said feature.

    Thank You.

    lucid

    Reference to the SDK:

    construct.net/make-games/manuals/addon-sdk

  • Construct Website Default Theme

    The usual Construct.net website default theme is an example of an eye-friendly and ideal color theme for a website. The current forum needs a bit modification.

    I do admit that the current forum has artistic style but sometimes art needs some color harmony by balancing the amount of brightness and darkness. And that is what I see with the default website which I recommend as a color theme for the forum instead.

    https://i.imgur.com/9WHPxAP.png[/img]

    Construct.Net Launch Page.

    I highly recommend something like this. Thanks.

    Tom

  • Thanks for the heads up mumu64 .

    I thought I could get away with it since it was just a simple feature, so I thought. I looked a bit into it and it might take a bit more than I thought. And I checked out the link you've posted, someone already made the feature request, but it still isn't taken notice.

    Just in case anyone wants to support the feature request, here is the link:

    https://construct3.ideas.aha.io/ideas/C3-I-441

    Thanks.

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • I'm still not entirely sure whether this should be regarded as a bug or a feature request.

    With that said, the thread involves some points that is quite intriguing in terms of Construct 2 and Construct 3's design.

    Duplicate Functions

    In regards with the allowed upon duplication of functions on Construct, it seems more of a feature rather than a limitation on the editor's end. [It seems that JavaScript doesn't implement this.] Even though, multiple functions are still beneficial and more like a bonus feature.

    It is more apparent on larger projects, on Construct 2. In which case, modular designs are necessary to maintain the effectiveness, efficiency and management of the structuring of each independent features on projects where in duplicate functions can be used to signal independent protocols in the designed systems.

    Imagine a project with different independent branch of features. "Load", "Initialize", "Queue", "Draw" and "Transform".

    These are independent from the actual program functions like a framework, only that it is generalized for the purpose of the extending the program.

    The problem here is for example, how to communicate with each branches with only a single method and not make redundant method nodes.

    This comes the benefit of creating a single method and re-using the same function for each branch. And if there were parameters, the benefits would make it more obvious.

    This is an example where duplicate functions make it easier for development, especially on larger projects.

    And a simple duplicate function is a small price for the huge benefits it can offer.

    Function Scopes

    In regards with the Function Scopes, that is something I would like to see on Construct. I think it may not be possible anymore on Construct 2 but it would be nice to see this on Construct 3. Like how local variables are scoped by groups, it would certainly help both in the user & project management and function loading & prediction on the editor if the Functions are scoped globally and locally too.

  • Ashley , I think it would only take a few modification. Can you add a Reset Instance Variables on Construct 2 & Construct 3 for Sprites? I think this would be incredibly useful. We could modify this ourselves at least on Construct 2 or do a workaround but it would be nice for it to be official and available on Construct . Thank You.

  • Here are some useful tips for performance :

    +https://www.scirra.com/manual/134/performance-tips

    +https://www.construct.net/blogs/construct-official-blog-1/optimisation-dont-waste-your-time-768

    Read them, they are very useful.

    The link shows the products inside and each plugin has a documentation within the plugin folder.

    On Default Location:

    Plugins:

    C:\Users\$Username\AppData\Roaming\Construct2\plugins[/code:orzah66v]
    Behaviors:
    [code:orzah66v]C:\Users\$Username\AppData\Roaming\Construct2\behaviors[/code:orzah66v]
    or
    Plugins:
    [code:orzah66v]C:\Program Files\Construct 2\exporters\html5\plugins[/code:orzah66v]
    Behaviors:
    [code:orzah66v]C:\Program Files\Construct 2\exporters\html5\behaviors[/code:orzah66v]
    
    They are commonly located on the 'doc' folder once you have installed the c2addon.
    
    Again, for your performance problem:
    [url]https://www.scirra.com/forum/cv-for-those-in-need-25-to-75-more-fps-in-their-games_t203919[/url]
    
    This plugin improves performance from [b]25% to 75%[/b] but it has a trade-off. And it has a price.
    Although, aside from improving performance on Construct 2's canvas. It also lets you improve custom things on your game.
    
    Good luck with your game development!