Overboy's Forum Posts

  • Amazing, this will be game-changer

  • This is a great idea Ashley !

    Do the "split string" and "join string" actions have a field to define what is the separator ?

    As the token expressions works : you can choose "/" or ";" or anything you want as a separator.

    It would be really useful as it would allow "," to be part of each "tokens" without being treated as a separator for example.

    (That separator field could still be set to "," by default or even ", ")

  • Hi,

    Yesterday Ashley and I discussed about a possible enhancement to the Properties View.

    EDIT : updated link to new suggestion platform : github.com/Scirra/Construct-feature-requests/issues/10

    Be able to Add/Edit/Find all references (and more) for Variables, Behaviors and Effects directly from Property View thanks to new Right-Click context menus and actions.

    So I created a mockup for it :

    That would mean no need to open all those dedicated pop-up menus anymore for Object specific Variables/Behaviors/Effects (V/B/E) or even worse, the V/B/E of a related Family that we need to find in the Project View first and only then open the pop-up, to only then do what we want. This would be a great QOL and consistent with other "Find All References" feature we have everywhere in the engine and would save us a lot of time for a bunch of extremely common stuff

    I created a mockup to show what should be the context menu for each element/area of the V/B/E part of the properties view (I adapted them to make sure it makes sense in that specific context) and also to show that it is compatible with the fact the right-click is used to reset a value of a Replica to its Template Source Value :

    Bonus QOL : When we select an instance variable Row in Properties View, pressing F2 could directly open the related "Edit instance Variable pop-up" as shown in the mockup

    Additional Thoughts not mentionned in the Mockup :

    - I think it would be nice to add an "Inherited from FamilyX" row in the Instance Variables part of the Properties even if this Family doesn't have any Instance Variables yet. (right now only Families with variables have their row)

    This way we could quickly know all the Families this Object is part but also thanks to the new context menus, we could quickly open its related pop-up from there but also quickly remove the object from this family thanks to the new "Remove From Family" context menu action.

    - Maybe it would be more understandable and also more consistent if Behaviors and Effects were also under an "Inherited from FamilyX" row as the Instance Variables, to avoid confusion. (even if context menu aren't added btw)

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It doesn't work well, for Photoshop it's really slow and sometimes doesn't even work to open multiple files as layer and even if it worked it means you need to manually create your automated action each time which is pretty slow too. Also you still need to be able to export all those layer in individual frames and it's not ideal either.

    I tried many many things and worklows, the best I found is that I created custom .bat scripts to automate the creation of Spritesheets from individual png directly from my Windows Explorer but even this method is not ideal and require extra steps each time.

  • Copy/Pasting animations and frames in the Editor and all the recent import improvements regarding the Animation Editor is 100% amazing, thank you so much for all those things !!

    I have a feature request not exactly related to Import but concerning Export.

    Export Current Animation or All Animations of the current Object as Spritesheets

    Right now we only can save Images as invidual frames,

    It would be totally awesome to be able to export each animation as an individual spritesheet.

    By Default each animation would be named AnimationName_Fx1 (where F is the number of frames in the animation) and all frames would be aligned horizontally in a single-row spritesheet.

    Why do we need export to spritesheets ?

    - Because it would be very easy to color swap or add glow/outlines or effects to all frames of a character thanks to external software such as Photoshop.

    (then we just have to drag and drop again each spritesheet in the corresponding animation in the Animation Editor, unless bulk import for Spritesheets is also implementing as in my previous suggestion).

    - Right now it's very difficult to do such things as we have to do it manually for every single frame which is quite impossible to do.

    - Also as always, spritesheets are better for file management, the whole animation is at just 1 location in our hard drive, it's easier to rename it, open the file in an external software in 1 click etc...

    Optional Enhancement to Export as Spritesheets

    1. Max Column Number option : When the current or all animations are exported as Spritesheet, it could first open a pop-up with a field asking the maximum number of columns the spritesheet should have.

    - By default, there is no maximum of columns. Which means if I have a character with a 8 frames Walk Animation and a 12 frames Idle, it would export the spritesheet as Walk_8x1 and Idle_12x1.

    - If i specify an other number of columns, let's say 3, it would export the spritesheets as Walk_3x3 (so it means the cell at X=3 and Y=3 would ne empty as there is only 8 frame in this animation) and Idle_4x3.

    2. No Empty Column Boolean : If I specified 9 for example, the spritesheet Walk would be Walk_9x1 with the last frame empty. But there could be a "No Empty columns" boolean that would make this spritesheet exported as Walk_8x1 even if I specified as column number >= 9

    3. Export Spritesheet with Data : In a second time, if bulk spritesheet import is implemented, there could also be a way to export Spritesheets with Points/Polygon Data so it can be imported later easily too.

    EDIT : I forgot one important thing, as frames for an animation can have different pivot point and sizes, 1 cell of the spritesheet need to be able to have enough place so even if all frames are on top of each other in a single cell, nothing exceed the cell, and all their previous pivot point should be at the exact same position in the spritesheet.

    Here is a visual example :

    I agree this is an interesting request but because of the limited dev ressources of Scirra, It would be frustrating if stuff that we can do by ourself pretty easily were pushed in priority.

    This has to do with the big focus Construct Animate is getting recently that makes dev ressources allocated to Gamedev Construct even more scarce. But also the fact that recently a few updates added features for which i can't find a single use case. For example, the "Compare Child Count" condition, or the "Copy Picked" Function feature (well this second one can have limited use cases but not the first). I opened my biggest and most complex project and i didn't find a single valid use case for those 2 features, both are very limitating and error-prone.

    It wouldn't be an issue if it had no slowdown impact on stuff that we're waiting for years and would be real game-changers.

    In case anyone is wondering how to implement those platformer mechanics with existing features :

    For coyote Time, I usually like to add a Timer Behavior to my Platformer Object. If it's not grounded anymore and it didn't "JustJump" (boolean set to true at the beginning of my Jump Function), I start a 0.3 second "Coyote" Timer.

    If I press my jump button and either the Platformer is grounded or either the "Coyote" timer is running, I call my own Jump Function using vector Y. That function is also used for my Double Jump (or not, again depending on the game i'm working on).

    I also implement my own Jump Sustain to really have full control on how it behaves as it can differ a lot from one game to an other. Sometimes i use a trick to "lower the gravity force" (by adding an opposite force for example) for the first 0.4 seconds the player sustain the jump button for example.

    To be honest, I don't feel Platformer behavior is limitated. I already created all kind of complex Platformer Controllers only thanks to Event Sheets, the existing features of the Platform behavior and the other behaviors. (emulated almost all controller features of games likes Celeste and Dead Cells without issue)

    Coyote Time could be handy to add by default for very beginners but it's very easy to implement by ourself ! It's not painful to do in any way contrary to many other things

    Regarding the jump sustain I prefer to implement my own anyway to really control the feel of the character.

    There are many things that could be improved in existing Construct features such as :

    - fixing the slide along solids issues with all other Movement Behaviors (Bullet for example)

    - a lot of missing ACE and expressions for existing things

    - Better event search/Project search workflow

    - Better Instance variables workflow

    - Better Hierarchy workflow

    - A way to get access to Object Template Name Lists thanks to expression

    I'm not talking about missing features here, only the existing ones. But if we also take missing features into consideration I feel like there is a ton of things that are very difficult or even impossible to do thanks to eventsheets that should be higher priority than that kind of things.

  • Nice tricks, I already use some of them but it's not ideal for different reasons.

    I think an effective Event Search would lessen the need of better Bookmarks as it would allow us to jump from any part of our project to any other part of our project very quickly and easily, without any manual setup to do.

    I added a 3rd part to my suggestion on the platform to also solve all issues related to Project View Search on top of the issues related to Event Search.

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-425

    It might look complicated at first because it describes both technical implementation and expected behavior explicitely, but in fact what i does is pretty simple and it's really user friendly :

    - it would allow us to unfold Folders and Families that we search thanks to the Project View Search Field (which doesn't work right now)

    - it would implement the same "Fuzzy Search-like" algorithm as I described above

    - it would allow us to use Default Folders ("Layouts"/"Event Sheets"/"Families" etc..) and Custom Folders as effective filters for Project View search

  • Edit: I wrote a dedicated suggestion for it, vote here :

    C3 Events Search improvements construct3-21h2.ideas.aha.io/ideas/C321H2-I-425

    - the filter algorithm would allow us to type half words in any order and still find the matching events. (kinda like some Fuzzy Search algorithm)

    - the results autoupdates as soon as the string changes

    - both the Find field and the results pop-ups merge in a single window

    I think it would avoid me to waste at least 45 minutes per day of Construct use and probably around 2h per days if you include the side-effects of those permanent flow-breakers.

    +1 To be honest this must be the most annoying thing in my daily use of Construct for many years,

    Because of the current limitation (it looks for event matching the exact requested string in the right order), you can only write 1 word at a time to find the event you're looking for, otherwise most of the time you end up with 0 results.

    So if i need to find an event related to my Player's Angle, i either need to type "Player" (and i get hundreds of results as Player is used in a huge amount of actions and conditions) or "angle" (and i also get hundreds of results related to all kind of Object Types in my project) => Because of this, it returns thousands of results or irrelevant things each time

    The expected result would be that i find all events related to Player's angle (or even related to instance variables names of Player that includes "angle" in their name) if I type either "Player angle" or "angle player".

    Both should work and show me results such as :

    - "Player:Set Angle_Aim to 90".

    Right now if I type "Player Angle" it doesn't work

    This enhancement would also be useful for all the other "find" fields in construct as it's the expected behavior in all cases we need to find stuff.

    Also nowadays most software have even better find algorithm such as fuzzy search, so maybe an even better algorithm could be implemented.

    In fact among the whole list of QOL stuff I wish Construct Team would add to the engine, I think this is the top priority right now.

    Other possible enhancements :

    Also the results of the "Find Results" pop-up should autoupdate when the user change the field "Find" in the "Find" pop-up. Right now we need to press the Find Button each time

    Also, I wonder if it wouldn't be better if those "Find" and "Find Results" pop-ups would be merged into a single one.

  • You do not have permission to view this post

  • The Family Inheritance wasn't tagged as "Declined" on the platform, also as explained in 2 differents places, the suggestion was updated after the Ashley comment to match his guidelines. So his remark about the feasibility doesn't apply to this new suggestion to achieve Family Inheritance using a trick that would synchronize members of Child and Parent Family. (his comment was regarding previous "Dynamic Families" suggestion that would be a brand new family type that supports both Multi-Plugin members and Family Inheritance)

    Same for the Hierarchy Anchors, the idea wasn't tagged as "Declined". He just thought about an other way to achieve this (using a new behavior instead) and then I explained why I think the alternative feature he suggested doesn't work well, also why I think Hierarchy Anchors logic could be in fact seperated from most of the usual Hierarchy position logic.

    The fact Ashley commented a suggestion or wondered if something simplier couldn't be done doesn't mean it will never happen or nothing can be done regarding that area. Otherwise he would just tag it "Will not implement". It can just be the start of a discussion about that lacking feature, so Scirra better understands why we definitely need something, how this feature could be enhanced/simplified to be more feasible.

    It happened several times before that Scirra told something would never happen but it finally was released.

  • I also wrote several suggestions related to Ease of Development, and QOL stuff for C3 lately.

    1. Family Inheritance (kinda)

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-347

    Instead of implementing actual inheritance, it could just supports perfect syncing of Members between a Parent Family and its Child Family, as explained in the suggestion.

    2. Hierarchy View

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-311

    It would also allow to create hierarchy relationship directly by drag and dropping objects under/on top of each other in this dedicated view. On top of a lot of new QOL stuff it would allow, such as a way to efficently find and select instances of the current Layout

    3. Variable Folders + directly add/edit Variables from Property View

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-348

    How to enhance the Instance Variable workflow which is really tedious when number of variables is growing or when we want to edit Family variables of a selected Object Kind.

    4. Hierarchy : Child Anchored to Parent (1 feature to enable full user-friendly UI system)

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-314

    This possibility to Anchor Position/Size of Child Objects to their Parent (with defined offsets) would basically allow to create complex auto-layout UI, supporting all aspect ratio and so on, especially in combination with Events, it would basically allow us to do almost any kind of UI we can think of. It would also be useful for non-UI-related stuff.

    5. Big list of Quality Of Life stuff

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-318

    As Ashley pointed out, this last big list suggestion is not ideal as it doesn't really help Scirra to prioritize things, but here I come back from time to time to add the most important things that i think could improve ease of development. The 4 suggestions above are what I think is the biggest priority among this list.

  • Ok so now I explained as other people why we think 2 products at the same time for 2 devs could be counterproductive, I'll now propose ideas that I think could greatly benefit both products, as we all hope Scirra will succeed with their projects, and be able to grow and hire new developers on the engines as they’re planning to do.

    I think the deal is fair as long as promises are kept. Which means :

    - Scirra dev team will grow,

    - Construct Gamedev isn’t affected in any way in its development so game-specific features continue to be added in the engine and remain the priority,

    - Most of the new CA features benefit both products so are useful and relevant for us faithful gamedev customers paying our subscription.

    I agree with many feature ideas proposed by other users in previous post (direct preview and edit of Ease curve in Properties View for example), I’ll just suggest additional ideas (most of them also benefits regular Construct) :

    1. Add a Hierarchy View to enhance the workflow of creating hierarchies by simply dragging and dropping instances on top of each other in this dedicated view.

    It would also allow users to find, order and select Instances in a convenient way without needing to lock layers on top to be able to select instances directly in the layout view.

    Hierarchy is at the core of Animate so it deserves UX enhancements.

    Why ? Right now the workflow that consists in selecting child then parent and then right-clicking parent to open a context menu and only then create the hierarchy is not intuitive. Also green arrows are confusing regarding which object is parent and which object is the child.

    Dedicated suggestion : construct3-21h2.ideas.aha.io/ideas/C321H2-I-311

    2. Add “Animation Trigger Events” to Frames in the Animation Editor.

    As one of the best USPs of Animate seems to be related to the possibility to execute logic from Eventsheet during the “Movie” (in addition to the usual Timeline workflow most Animation software have), it would be nice if we could trigger events from specific Frames of any Sprite animation.

    For example in the Animation Editor, we could right click any frame to open the context menu where a “Add Animation Event” button could be added. The animation Event would be a string (=Tag). We could then execute logic in Eventsheet thanks to a new “On Animation Event {Tag}” trigger condition for Sprites.

    There could also be a new dedicated "tool button/icon" on the left toolbar of the animation event. It would be similar to the "Edit Image Points", it would be a list of all Animation Events ("Tags") on that specific frame.

    There would be autocomplete feature both ways, in the dedicated Trigger Event in eventsheet (most important) but also in the Animation Editor. So already used Tags are suggested to avoid mistakes.

    Example use case : I have a character running in my Movie (8 frame animation) and I want to add small Dust FX at each of his footsteps. The process to add this small FX manually at the right frame on the Timeline would be really tedious. I could just add a “Step” Tag on the 2 frames where the character foot touch the ground and spawn my FX on a dedicated image point thanks to a On Animation Event “Step” Trigger condition in the event sheet.

    3. “On Timer {Tag} Start”, “On Tween {Tag} Start” condition events. For the same reason (one USP of Animate being Event Sheets), I can think of a lot of cases why I would use Timer and Tween behaviors on top of Timelines in my Movie, for some specific things it’s really more convenient.

    For the same reason it is very useful to have “On {Tag} running”, “On {Tag} Finished” (that already exists in Construct), we need a “On {Tag} start”. Indeed the same Timer or Tween Tag can be called from multiple places and it would be handy if we could avoid duplicating the logic that needs to happen when that Tag is started thanks to those new Behavior Conditions.

    4. Nomenclature (Name-based) bulk import for Spritesheets. A big amount of frame by frame Animators prefer to work with Spritesheets to export/import their work (way easier for file management to have only 1 file). Right now if i want to make a Movie with my spritesheets animation, i have to manually import each spritesheet and specify the number of columns of the number of rows. It would be handy if I could just name each of them AnimationName_XxY where X is the number of columns and Y is the number of rows, and there would be an option to bulk import sprite sheets based on their name.

    5. Resize Image Canvas > Image > Align Image Point

    When Resizing an Image, on the Dedicated pop-up menu (“Resize Image Canvas”), add the option to “Align Image Point” in the “Image” drop down list. As it works with “Align with Center”, but based on an Image Point. This is needed really often.

    When “Align Image Point” is selected, it adds a number field to choose which image point should be considered.

    6. Shortcut to Snap Polygon Points and Image Points to integer Positions

    If the user press MAJ (or CTRL?) while editing the Collision Polygon Points or Image Points position, it will snap the currently selected poin to the closest integer position :

    -> Image Point Edit: when the user is in Image Point edit mode, if they click anywhere on the image, it immedialty update the point position to the position they just clicked. With MAJ, it would the closest integer position instead.

    -> Collision Point Edit : when the user is currently dragging a point of the polygon, if MAJ is pressed it's only moving from integer position to integer position.

    Why ? 95% of the time, we want those points to be placed at integer positions. Right now the click-to-place/drag-to-move points feature always place points at non integer position so we can't really use them and we need to specify X and Y values in corresponding field each time instead. Which is really tedious and time consuming.

    7. Fix the Drawing Canvas : construct3-21h2.ideas.aha.io/ideas/C321H2-I-226

    8. Enhance Pixel Art capabilities for both Animate and Gamedev Construct by adding a new effect that would allow to merge “pixel-perfect with smoothness.”

    It would solve a very old issue for Gamedev Construct + it would allow the use of Animate as a tool to create pixel art FX, character animations and pixel art movies, by pixelating shapes, and interpolating them. It would allow us to have clean text and smooth scrolling for pixel perfect stuff even at non integer positions.

    It could be a nice USP for Animate as a lot of Animation tools don't have any pixel art friendly features (I know it because as a customer i didn’t find it in potential competitors of Animate), and there is an overlap between people interested in Pixel art animation and people interested in making indie games.

    Dedicated suggestion, explaining in details the issue and implementations ideas for this new effect : construct3-21h2.ideas.aha.io/ideas/C321H2-I-317

    (Recently some successful apps with pixel animation features started popping, and it could be an inspiration for some features by the way : Aseprite, Pixelover deakcor.itch.io/pixelover, Pixel FX Designer codemanu.itch.io/particle-fx-designer, )

    (it's weird but i've never had access to the "Edit Post" feature for Forum posts, no matter what device (PC/Mac/Phone) and what browser (Chrome/Edge/Firefox) I use, no matter if I'm in incognito mode, if I disable all chrome extensions or not. So pardon me if there are a lot of typos as I can't edit and preview my forum posts)

    EDIT : Nice, i can now edit my post

  • A hierarchy view might be better than the current Z Order bar regarding this.

    As it would also allow to create hierarchy relationship directly by drag and dropping objects under/on top of each other in this dedicated view. On top of a lot of new QOL stuff it would allow, such as a way to efficently find and select instances of the current Layout

    I filled a detailed request a few weeks ago, Hierarchy View :

    construct3-21h2.ideas.aha.io/ideas/C321H2-I-311

    If anyone is interested please consider voting for it.

    (Also, I made this list of other important QOL/features that could be nice to have in the engine, how they could work in combination with each other, or with already existing features and so on. Some of them are related to Hierarchies/Templates : construct3-21h2.ideas.aha.io/ideas/C321H2-I-318)[/i]

  • No one is expecting you to reach Unity features or deliver all suggestions from the dedicated platform. Even less in just a few months.

    There is almost no feature everybody needs, just some that are highly requested since forever (by faithful customers); while other aren't that useful for many of us and seem to be one of the main focus of Scirra for 3 years while nobody really ever asked for it.

    However there are facts : nobody is using Timelines so far and a lot of 6 to 12 years veteran construct users struggle to create full games with C3. Making games is hard and will always be whatever the features of a tool are of course, but we're just providing our feedback on what's the most important for us. Moreover, we're only providing feedbacks in the places where you ask for it. (this dedicated thread and the suggestion platform)

    People aren't just saying "Make C3 viable for commercial games", "Make C3 like Unity", they're spending weeks/months/years of work trying to work-around current limitations of the engine, and only then, they spend time thinking and writing their constructive feedback on the dedicated suggestion platform. With detailed explanations, implementation idea, trying to priorize what's important and so on.

    Yes you should focus on highest priority, yes it's good to use limited resources to best effect. The feedback of some of us is just that we disagree with what that priority and that best effect being to create a decent animation engine in a highly competitive market, with no fundings and no marketing budget, as you're such a tiny team working on a game engine.

    We all agree that your delivery rate is amazing and you guys rock, but if 2 devs are focusing on making the best game engine instead of 1 it would probably be even better. Also it's been years that we expect Construct dev team to grow, and while everybody understand why it's really difficult for a lot of reasons, it's not reassuring to see that it looks like there is still only Ashley working full time on the gamedev engine. We wonder if it will ever change even if Scirra's revenue grows more than tenfold.

    But anyway I won't recycle all the arguments of everyone any longer, both sides explained their points above, I just wish you good luck with your plans and hope Animate will be a success !