Overboy's Forum Posts

  • Regarding the SDK integration itself yeah I agree it shouldn't be too hard to do for me or an other 3rd party dev.

    I was mostly thinking about guidelines on how to make a Construct 3 HTML export to work properly as an Embedded Game in Discord as it looked intimidating at first to be honest.

  • Discord launched a new Embedded Game SDK that will allow to ship webgames for Mobile/Desktop/Web via their platform.

    discord.com/build/embedded-app-sdk

    discord.com/developers/docs/developer-tools/embedded-app-sdk

    It looks like a big deal for webgames as new way to monetize and distribute them.

    Several other JS frameworks or engines already shipped or are working on Templates/Integrations for it. (Raylib/Phaser)

    Would Scirra be up to take a look into it and potentially provide us ways to ship to this platform ? :)

  • I'm actually personally running relatively low on new suggestions, and I'd rather see added robustness to the existing stuff. Aka more exposed ACEs, added functionality etc.

    But adding ACEs and tiny/subtle functionalities to existing stuff are in fact considered as feature suggestions. Most of the ideas on the new GitHub platform are about that

    (I could implement almost any ACE that were requested right now as add-ons if i wanted to btw - in fact 4 suggestions on the 2024 platform are already done in addons I released)

    So that would mean asking for an obviously missing ACE would be considered as the single suggestion you're able to ask. I find it pretty counter-productive and inefficient

  • There are 64 suggestions on the platform rn, not that close to 100 and it's normal it went fast during the first days because people posted their most wished/relevant suggestion from the old platform as there was a reset. We all make different games (Art-Heavy/Data-Heavy/UI-Heavy/simple hypercasual/Multiplayer/Performance-sensitive), for different platforms (Web/Mobile/Desktop/Consoles), have different skills (VisualScripting/JS/AddonDev/HTML/CSS/Shaders ?) so it's normal most suggestions don't please us.

    Again community voting is the best way to help prioritazing stuff we could imagine, no need to think too far and no one is expecting every single issue to be implemented in the last beta.

    Github provide a bunch of way to filter and sort issues.

    Just sort them from the "most recent" to see the new ones, "recently updated" to see recent discussions, or use searching syntax to filter only last month.

    For me the only annoying thing with Github is that the Likes are displayed only if you sort them by Likes. But you could still filter issues from last month only (or any filtering you want) + sort them by likes.

    Being able to add tags like "Behavior", "Editor" could help indeed but i suspect tags are reserved for Scirra to set status for the requests "In Developement", "Planned", "Will Not implement" etc. I wonder if using tags for both would be possible, it implies only a few tags are available to use for the users (categories but not development status), if it's possible it would be cool.

    FWIW Godot, the most "democratic" game engine out there also use Github issues, doesn't limit the amount of suggestion per user and don't care about having 3955 opened issues (with about 7 new ones per day), given their incredible growth and speed of developement i would say it works quite well.

  • Sorry, you're right. I always forget that our job is to overwhelm the engine developers with a ton of work.

    This u ?

    770 bug reports.

    I mean i'm thankful for all the work you put into this and it's useful for all of us in many situations.

    But please don't speak about overwhelming the devs, especially since all bug reports are always treated as urgent while it's not clear if anyone on earth will even face them once. There is not any kind of community voting/prioritization for bugs as opposed to feature suggestions. Also we all know feature requests are not meant to all be developed and pushed, only the most popular/easy-to-add/relevant, so it's less an issue.

  • Bugs are about technical issues, Feature request are about useability/UX/limitation issues.

    I would argue a painful workflow that the whole community is required to do every X minutes in the engine or a big limitation impossible to overcome no matter how skilled you are at JS/Addondev/EventsheetTrick is far more important to report and urgent than a very obscure bug that happens in 10% of the time when you smash your keyboard randomly in a full moon evening (especially since sometimes fixing that weird bug takes 50x more time than exposing an existing method to the Addon SDK for exemple and that would solve several of the most annoying C3 limitations in 1 shot)

    IMO, reducing the number of your bug reports to keep only the ones that actually matter wouldn't slow down the speed of developement of the engine, quite the opposite. But no one is trying to enforce Scirra to stop you from doing this, so I would appreciate if you let other users provide feedback to Scirra Team as well

    The community filters the idea themself thanks to the voting system.

    Reducing the number of idea reduce the quality of feedback Scirra receives, and will slow down the speed of useability/power improvement of the engine by not giving a chance of the tiny clever ideas to pop out.

    Also it would incitate users to request a bunch of things in a single request while it's more efficient if each thing is requested as seperate suggestions, or it would incitate to only submit the very big brand new feature stuff while sometime a "quick tiny" ACE/SDK addition can be a real game-changer.

  • The voting system is here to show what the community wants, knowing what a single user wants the most is irrelevant.

    Allowing 1 feature request per user would be as pointless and ineffictive as allowing 1 bug report per user. (which i think you agree would be annoying given the fact you submit more than 50% of all bug reports)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • That being said Nested Families don't need a "parallel feature" or to break backward compatibility. It involves a lot of rework under the hood but it's not incompatible with the existing Family features and it wouldn't break any project if it was done someday.

    It wouldn't be confusing either if the family inheritance support was added some day. People who don't need it wouldn't see the difference and most people are actually confused it's not supported yet.

  • Ok I think I understand now. You want to create systems where some Nodes require to have multiple In Nodes like usual Shader Node Systems or Unreal Blueprints are working.

    I dismissed that kind of nodal usecase because I thought anything that looks like nodal visual scripting would be best achieved via regular top-down eventsheets.

    Do you have some ideas of cool systems it would allow us to build more easily than what we already had with existing features ? (given the limitations and the fact everything related to Nodes, and their in/out values would require long expressions and id or string checks ?)

    Im mostly thinking about the Flowchart feature has a way to create branching logic for things such as Quests/Dialogs/TalentTrees/StateMachines/BehaviorTrees/Cinematics, where each node could implement custom logic, which have always very tedious to deal with in C3 in my experience, because it doesn't scale well (and the issue persist with current Flowchart features).

    And in that kind of systems it makes no sense to limit the number of possible in or output nodes.

    This is why I want so much Nodes supporting Node Conditions and NodeEnter/Tick/Exit to be able to implement specific logic for each node via "Flowchart Sheet" (by overriding/extending their Node Template Logic and with better Node instance variable support) without the pain of error-prone manual work with many steps for every nodes we create + no quick Visualisation/Navigation help. (The Flowsheet as pop-up suggestion would allow to see both side-to-side, especially if we are currently creating a bunch of Nodes while building a Dialog)

  • To be clear Overboy, I don't mean having them linked to the same values Outputs use. I mean having a second list for inputs like this

    This is a super quick mockup, as long as we can "name" inputs I think it's good enough

    Isn't it already how it works ?

    (it looks like a bit redundant with how it works right now + it would be a bit confusing and it involves the fact we need to manually add Input Value in addition to Output value which could lead to "misclicks")

  • I think linking inputs to "IDs" would let you get a parent by ID, instead of by whatever is already there.

    I can see a few reasons why this would be cool, but it's mainly for UX and just letting things be more open IMO.

    Just in general, having more control over how the input field works is good.

    Could also make it so we can write graph structures where instead of seeing this as a node structure, we treat everything as siblings and so any node can be linked to from either side.

    Let's say I use this as an FSM, having every single link go out from the node from the left side can be pretty painful.

    I still don't understand how it would help 🤔

    Being able to do FSM by linking later nodes to first nodes would be indeed very useful, as the posts of the first page of this thread explain.

    But what would be the benefit to connect a value to an other value rather than a node ? I can't find any example of usecase. You can already get any value from an output node anyway

    Also even if they are usecases, wouldn't it be unreadable and confusing ? let's say you have some stuff that have the whole Node as output and some other stuff that have values of this Node as output.

  • They can, it's just that you can't link an input with a value the same way you can with outputs

    Oh yeah they can ! cool, I probably failed my input when i tried doing so on last update r370 (when we didn't have feedback for linking nodes)

    It wouldn't make sense to link an input to a value, so the way it works right now is good, a whole Node can have different input Nodes !

    I maintain there should be properties in a Node to override the corresponding values in all parent Nodes. Because while it can make sense in a Dialogue System to have different values connected to the same node, in some other situation it would be a pain to make sure all corresponding values in Input Nodes are exactly the same. (If a node has overriden properties, then the corresponding input values would be grayed out with those overriden values so the user understand he can't edit it there but must go in Output Node properties instead)

    EDIT : Ooooh i realized why i didn't manage to link multiple Inputs, we can't link multiple Values from the same Input Node to the same Output Node. We only can link 2 different Input Nodes to the same Node Output

    I don't understand why there is this restriction tbh, it's confusing because it can make people think multiple Input isn't supported

  • Overboy I went back and read through your whole suggestion. I agree with a lot of it.

    Arrow management, definitely.

    A. Conditions in the node options so they can transition automatically if condition is true, hell yes.

    B. Nodes with multiple inputs, I'm pretty sure it can already do that.

    C. A few different node types like link to other flowchart, random, and potentially sequence, yes

    D. I just don't like each node having it's own event sheet. I think it would encourage spreading logic around too thin, which would make issues harder to debug. If Scirra decides to implement that then cool, I won't complain, but I won't use it either.

    Just a few precisions of what i had in mind

    A. Node Conditions are not meant to 100% automatically and immediately go to output node which verify those (most of the time we want to wait something to happen before changing node, like a user input for Dialog or some other conditions for State Machines). But thanks to a new "Are Node Conditions True ?" condition, it would allow us to easily create any system we'd like that use Node Conditions using a Node Template feature. For example you would create a "Random True Ouput" Node Templates. In its Node Tick function, you would create a subevent checking for a user Input (On A Gamepad button press), then it checks all output nodes with Conditions that are true, pick a random one that is true and enter this output node. We would still be able to create Nodes that 100% automatically and immediately choose a output node via Node Enter or Node Tick functions if we want, but it should be flexible.

    B. Nodes can't have multiple inputs AFAIK (edit : my bad they can)

    C. The only 2 actual different Node Type would be to link other Flowchart (so it could include button to switch to referenced flowchart) AND "tiny Arrow Nodes" that does noything but help with arrow management, IMO everything else like Random or Sequence would be best achieved thanks to "Node Templates" allowing to have variable and default overridable/extendable functions OnEnter/OnTick/On update. So the user would create its own Random Output Node Template or Quest Task Node Template thanks to the shared logic that act differently depending on Node instance variables and even be overriden or extanded via additional ACE + super call on Node instance functions.

    D. It would be 1 flowchart sheet per flowchart with a group containing 4 premade blocks for each node, not 1 node sheet per node. (So we could easily find all nodes by scrolling up/down and copy paste ACE from one to another but the Open Node in Flowchart Sheet button would automatically focus the relevant place on the Sheet opened as pop-up, so no need to switch tabs)

    (The two last points changed from my first posts as I realized they would be more powerful/pleasant/simple ways to achieve similar stuff in later posts)

    Some advantages of a automatically handled Flowchart Sheet with premades Blocks vs Event Sheet with Triggers :

    1. No more string checks for everything
    2. Easy way for construct to open a relevant place with all the logic of a specific node in one place (Node Enter/Tick/Exit but also Node Conditions).
    3. Would allow to implement the Node Conditions feature there as I don't see any way to implement this in the regular Eventsheets while it's maybe one of the biggest must-have of flowcharts.
    4. As Node Enter/Tick/Exit are like Functions/CustomActions instead of Triggers, it would allow the potential Node Template feature to do the override/extand function for instances as Custom Actions allow to do between Family and Family Members
    5. No manual labor of creating a bunch of Trigger eventblocks for every single node we create which also require to write the exact string tag of the node (error-proned/tedious)
    6. Best organisation possible by default, automatically handled by the engine (no polution of regular Eventsheet for no reason, everything contained in a single asset at the user level, 1 sheet per flowchart, same logic disposition for every single node)
  • Scirra could you just implement a Hierarchy View instead of spending too much time on Flowchart if all issues raised won't be solved and it's just meant to be a data structure.

    Because I'd rather do my branching systems by creating parent/child relationshop between Objects (that would be my "Nodes") with all the features they already have (multiple families / instance variables / Custom Actions/ templates / User-friendly pick child condition / Find all Refs / Copy Paste etc...) to create my Dialogue or Behavior trees. All we need is a cool Hierarchy View that would also be useful :

    - for anything related to Hierarchy : to create relationship via drag an drop, visualize them without green arrows on layout

    - for any workflow involving finding/selecting instances on a layout : find instance via search bar, selecting instance without worrying about Zorder/Unlocked Layer ect..., organize stuff easily

    github.com/Scirra/Construct-feature-requests/issues/9

    Hierarchy View has been the highest requested suggestion on the platform this year, would be cool to see it pushed before platform reboot

    Also if a hierarchy view is added it could be cool to add a common "Instance name" property that override the default ObjectType name for that instance in the Hierarchy View. Would help a ton to quickly find a specific instance of an objecttype later and would be very useful for Hierarchy-based systems like Dialogs/BehaviorTrees.

  • The issue is that I agree that kind of less powerful "Node Template" feature would solve some issues (vs the more ambitious i was suggesting) BUT once it's pushed then it's all we'll have forever. (I was hoping to show the full potential of it before it's "too late")

    I did my best suggesting solutions to solve functionnality and ergonomy issues so we could have the best Node-Tree system achievable to synergyze with the Action/Condition/Eventsheet system Construct has, trying to suggest things that might be ambitious but also makes sense with how C3 works and similar to existing Editor/Runtime features.

    It looks like it won't happen, given the Answers Scirra gave that avoid the issues we raised, at least I tried but i'll just stop here talking/thinking/wasting time about a feature i'll probably never use. I prefer the tricks i found with older features for Dialogue/Quest/FSM/BehaviorTree/Combo systems

    A bit sad about the wasted potential knowing Unity official Muse Behavior and above all Game Creator 2 are showing us how cool it could be and are beating Construct at his own Action/Condition based system in the context of Flowcharts.

    I think the suggestions in this thread would even make C3 Flowchart system 10x better than Game Creator 2 and Muse Behavior thanks to its flexibility and all synergies with existing features/ACES (The system wouldn't be built for a specific application like Dialogues or Behaviors but would be powerful and flexible enought to create all kind of branching system with ease)