Jase00's Forum Posts

  • Ayy,

    I'm also working a NWJS-heavy project - I have lost bits of work thanks to the NWJS version randomly crashing when new Windows popup (especially the debugger).

    I've found the best setup is to use Chrome, then use the "remote preview tool" found in the link below this paragraph, and then you simply use C3 in Chrome, but whenever you want to preview, you can do a Remote Preview, paste the remote URL into the remote preview tool, and then away you go - full NWJS functionality when previewing you project, and the editor remains in Chrome which is extremely stable compared to having the editor in NWJS.

    construct.net/en/forum/construct-3/general-discussion-7/construct-nw-js-desktop-app-131317

    The only downside I've been meaning to ask about is - how do I use the debugger in "remote preview" , so that I debug my NWJS project.

  • I'd say one helpful thing is to understand a few fundamentals in Construct 3, and I'm not talking about the typical "add the platform behaviour and you're done" kind of basics.

    My suggestion, is to get VERY familiar with some common objects, such as:

    Arrays

    Dictionarys

    9-patch (useful for HUD elements, things like square windows, or when a highlight box appears if you wanted to click and drag to highlight units on an RTS game)

    And familiarise yourself with concepts in the event sheet view, such as:

    For loops

    For Each loops

    Expression

    Sub-Events

    Object Picking

    Without writing about literally everything in Construct, I'll go on about Arrays and Dictionaries for an inventory system.

    Before reading the below, if you don't know what arrays and dictionarys are, I'd suggest reading the documentation on Construct 3's website about these two objects first.

    So, Arrays are an amazing way to setup some data that you can read or write to - it would be good for storing the information for an inventory system, as you can have your array grown and shrink depending on what items are picked up ingame, or if an item is used. Arrays can be setup to store information about each inventory slot such as "quantity" and "damage", and you can then design your events so that when you "use" an item, it doesn't just delete the item from the array, but it would first check the quantity, subtract from it, and if the quantity was only "1", THEN it can delete the entry from the array.

    The above is a random thought idea for designing an inventory system - you could design an inventory system with a Dictionary object instead, but you may find there are pros and cons to whatever choice you make. Dictionary objects are kinda similar to arrays, but they are maybe "easier" to use, but come at a possible performance cost if you add thousands of items, or there may be a "management" cost if you wanted to be able to store lots of details about each item slot (an array you could simply "delete" the item slot in 1 event - but with a dictionary, you would need to loop through every key and find anything related to the item slot, e.g. If you named all your item slot dictionary keys like "slot0_Name", "slot0_Quantity").

    As you're new, I'd say try and familiarise yourself first with the concepts I listed at the start of this post, don't worry so much about performance right away, but worry about getting things to WORK correctly. Once you're more aware and feeling more confident, then you can start thinking more about performance, which is another entire thought process, this comes from lots of reading and experimenting, for example, you'll come to find that "collisions" are quite expensive for the CPU, so you will want to design your events to not check for collisions every moment, but instead try and hide the collision checks away in sub-events and make sure other easier checks are done first, or maybe disabling collisions for objects that don't need checking at the time, etc.

    And honestly, in general, keep reading the documentation often, Scirra have done a great job at writing everything down about literally everything within construct 3, like last year I was casually reading about the "Touch" object, and I found out randomly by reading on the documentation that there is support for "pen sensitivity" - how cool is that!? It works with my Note 9 S-Pen. Nobody ever really talks about that on the forums, but it's really useful to know what capabilities Construct 3 has. Scirra have also written some tips and useful info on pretty much every page on the documentation, sometimes they write warnings like "try not to use this object for blah blah, instead, use blah blah" it's super useful stuff!

    ALSO I'd suggest googling small questions you have, followed by "Construct 3". Such as "is it better to use array or dictionary construct 3". By doing a search like this, you might find older posts with people discussing these concepts indepth, and you might find a useful piece of info or two! Be aware of the date of the forum post though, as it might be a really old post and may be irrelevant these days.

    You could find tutorials that provide the c3p file on the specific questions that you asked, such as "how do I make a inventory system?", then you could open these up and try to read the events (hopefully there are comments in the events too!), and if unsure about an event, you could poke around the event, change a variable or disable an event or action, to see what it changes - once something breaks, you'll realise "ohh that one event was to prevent blah blah from happening" or "oh this event completely breaks the inventory, so it must be important". If you get completely stuck on what something is, you can always post on these forums and see what the community thinks!

    Hope this is useful in some way!

  • I think the effort and love put into the 3D stuff is amazing and I think it's turning out to be a really great feature - the tutorials and math explanations and everything is extremely interesting and I can't wait to set aside some time to experiment with it all - I did originally think similar to Ribis with the whole "seeing updates and it's more 3D" but now that it's clarified that Construct 3 will still primarily be a 2D engine, I'm glad!

    Oh yeah, like the mesh stuff, layout editor stuff, 3D, none of that is high priority to me personally, sure - but it doesn't matter that I think that way, or if anyone else thinks "3D is top priority" or whatever - it indeed is what the suggestions platform is for. I should get voting!

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • Where Ribis says they would like more focus on the layout editor, that's something that many people would agree or disagree. I'd disagree myself, I'd focus on more additions to event sheet view. But yes, loud and clear, you cannot please everyone, totally fair enough really.

    It's nice that 3D won't be the focus imo, but it's also sort of confusing. What if people subscribe for the 3D features and find that they remain primitive and will not be expanded on? I mean I guess they can unsubscribe , but I guess I'm missing the point.

  • I do empathise with both Scirra and Ribis. On one hand, 3D is cool and always been a repeated request!

    But a few things I've been thinking lately :

    Scirra always said they're aiming to make the best 2D game creator, is their goal also to do 3D now, or just "simple" 3D is the limit?

    I thought this would be simple 3D at the start, for like background effects and such, but then the 3D camera object appeared, seems like its been focused on quite a bit!

    If this 3D stuff attracts new customers, what happens if their voices are louder than the people that use C3 for 2D? Will we just see updates mainly for 3D and occasional side things for 2D just because that's what people are loud about?

    If being loud and having many people ask for something is a way to get something implemented, then why isn't "native" ever considered, or console exports similar to chowdren being developed in house by Scirra? If its because Scirra is a small team, then why did Scirra take on 3D suddenly? (Note: I don't mind about native or game consoles currently, but it's a very common request from everyone else).

    Also, it's hard to retroactively use 3D stuff in current projects, I could use it for backgrounds or effects, but I see people making FPS demos and stuff, it's like a whole new genre that Scirra kinda has to support.

    Usually something so big would be left for third party plugins, and there are a few 3D third party plugins for C2 and C3 (granted that Scirra supporting 3D gives third party devs more functionality to implement their 3D third party plugin). On top of this, I hope we don't get told "you must use 3rd party plugins to be able to import 3D objects" or something, because if the dev moves on from their plugin, Scirra won't be able to help out with any game-breaking issues that might appear in future C3 updates.

  • Do you access Construct 3 in Chrome? What is the website you see in the address bar when you have Construct 3 open?

  • Yeah, that's what Remote Preview for NW.js is for.

    Ah amazing, thank you! I should have read that entire thread, I assumed it was all about using C3 in NWJS rather than having only the preview in NWJS.

    I'll try it out later!

  • Ayy,

    I have a Nwjs-heavy project, and I have been using the NWJS C3 to work on my project, which has been working very well for me, but I'm getting very unpredictable crashes as of recent months.

    The crashes cause C3 to never open again in NWJS (c3 silently closes on startup) until I delete construct3 in the appdata folder to repair it, causing me to need to install plugins again, login again, only to have the crash happen again randomly (sometimes the crash happens immediately again after clearing my appdata and logging back in, even without third party plugins installed).

    The crashes occur when a popup window is created, whether it is within the project (e.g. Popup the "Find" bar) or when clicking preview. The crash is a silent crash that just closes all of NWJS without giving me a chance to save. I don't have enough info for a bug report, and I also don't know if Scirra would be able to do much about nwjs specific issues. As you can imagine, it's really frustrating to use NWJS in this manner.

    Sooo, as Scirra intends C3 to be used in Chrome, and I do not get this crash in chrome, I was thinking, is there a way to load remote preview URL in NWJS? So then I can use C3 in Chrome, but test the project in NWJS.

    I understand that I'd need to update the package.nw with the newly generated remote URL each time I use Construct 3, but that's absolutely fine by me. I just want stability and no silent crashes.

    I tried installing nwjs, taking a package.nw from an exported project, editing the package.nw to point to the remote preview URL, and the ran nwjs, and it loads up the "loading remote preview" window and Construct 3 seems to detect this, but once it fully loads the remote URL, nwjs goes to a black screen.

    Any hints or tips on what to do would be greatly appreciated!!

  • Lol 6+ years ago I joined a college (in Epsom, UK) for game design, and it had Construct 2 as its main software to use. It was great, I was already an avid user of c2 and had projects to show off already 😎

    Then I dropped out of college opps

  • Sure!

    I choose Construct 3 because:

    The event sheet editor

    Lol there's other reasons too but it could be argued that Gdevelop have similar aspects.

    I like how close Scirra interacts with the community and I do think they are very passionate and knowledgeable.

    I like the multiplayer plugin, which for some reason gets a lot of hate, but it works extremely well and easy to use.

    I like the way construct 3 feels UI-wise and the structure.

    Performance comparisons would be interesting, but I wouldn't have expected too much difference between construct 3 and gdevelop, maybe in certain areas but there'd be a more dramatic different when comparing one of these engines to something else. Scirra have had an opportunity to reinvent their runtime engine after making construct 2, so I assume they have designed construct 3 with performance and efficiency as top priority.

  • On a slightly related topic - Howcome it's rare to see Construct mentioned on reddit in /r/gamedev?

    I always see godot mentioned, gamemaker occasionally, but construct is rarely mentioned. When it is mentioned, its usually someone asking "what engine should I use? Unity, gamemaker, godot, construct?" and noone ever offers an opinion about Construct.

    I don't often see clickteam fusion mentioned nor gdevelop either.

    I wonder about this, especially considering the recent blog post about performance between gamemaker vs construct 3, which made gamemaker look a lot more antiquated compared to the modern construct 3.

  • To be honest, I check out Gdevelop every now and then, and the same opinion pops up in my mind each time I give it a try:

    Clunky/Busy UI - too many options displayed when you're creating events and such, just feels a bit too all over the place. Maybe it's a learning curve thing.

    The other thing - I always try to add a text object to set it to the current FPS. In construct, you'd simply add a text object, and then the action "set text to: fps", done.

    In gdevelop, I never figured out how to find the equivalent of "fps" in expressions - maybe I'm an idiot but it seemed so intuitive to find within construct (construct had all math/system/time related things in the "System" object).

  • EDIT 1:

    Oh my gosh I don't understand. I spent the entirety of yesterday using popup windows and such, with r260 and NWJS v54, previewing over and over, closing the preview popup over and over, all working fine. However, today, I open C3, same exact versions as yesterday (r260, NWJS v54), made some event changes, clicked "Preview" and then C3 silently crashed when trying to open the popup window for preview (I only made a few changes so I didn't lose much work thankfully).

    Then beyond that, every time I try to re-open C3, I cannot use preview or popup windows at all unless I clear the appdata folder.

    I'm quite lost at the moment with this but if I gather more info to make a bug report, I shall, but damn it's frustrating how random it feels.

    Original post:

    Just an update:

    With r260, If I use C3 in NWJS v54, it works fine and I can use popup windows without C3 closing silently

    I updated to beta r261, still using NWJS v54, and I got this crash again when using popup windows, so again I had to clear my appdata folder, and start over again.

    I will make a bug report when I have time to mess around with this and get finer details, but for now I'll stick to r260. Just posting in case anyone else encounters this issue and needs a workaround!

  • quackgyver I agree that this is unusual! I often move and drag "else" events all over the place and I have never encounted this. I tried to reproduce this but cannot - If I had a red "else" and delete the previous event's condition that causes the "else" to be red (e.g. have an else below a "for each" loop, then delete the "for each" condition), then the else fixes itself.

    How did you get this else to be like this? What happens if you dragged it somewhere else, then back to below this event, does it fix itself?

    The only "Else" oddity that I have seen is when you have a disabled event with a red "else", it will refuse to run your project (even though the entire event is disabled). Makes sense generally, but you'd think it'd ignore the disabled event.

  • Edit 14NOV2021

    To everyone using the C3 editor in NWJS, I've tested this on a fresh new VM with Windows 10, and there is definitely a significant random issue when using popup windows or the debugger, so right now, I'd strongly urge everyone to avoid using C3 in NWJS, even from the official source or the third party launcher (which I always used and really adore!) but for now, you will run the risk of C3 suddenly closing with no error, possibly lose unsaved work, and then you need the computer knowledge to find your appdata folder and delete the right folder and waste time setting up C3 again, with the chance that you might need to repeat this process multiple times to get it working again. I recommend, and I believe Scirra also recommends, using C3 in Chrome, and then using the Remote Preview Tool to preview your project in NWJS, even though C3 itself is running in Chrome.

    EDIT 2:

    I might have found a further clue - Lowering the NWJS version from v55 down to v50, the popups work again. Weirdly, the popups open maximised, I don't believe they used to do that? I'll pinpoint the latest NWJS version and post back, and maybe write a bug report, but at least there is a hopeful workaround!

    EDIT 1:

    I just tried opening NWJS Construct 3 in a fresh new virtual machine, and did the exact steps to trigger the same issue:

    NOTE: Please follow the below steps CAREFULLY if you are a NWJS user, as this may corrupt your "construct3" appdata folder, meaning you will need to reinstall addons and set your settings and themes again.

    1. Rename your current appdata folder for c3 to back it up safely! (c:\Users\YOUR_USERNAME\AppData\Local (the folder is named "construct3")

    1. Open NWJS C3 in r260.

    2. Click the cross to close the welcome message.

    3. Close the "Start page" to make the project bar appear.

    4. Right-click the Properties/Layers/Project bar and choose "Popup Window" option.

    5. Silent crash. And it will reoccur every time you open NWJS C3.

    6. To fix - Delete the newly-created "construct3" folder, and rename your original construct3 folder back to normal.

    Step 3 is the clue - I believe the "Buy now" screen is supposed to hide the project and property bars, yet they display if you close the "Start Page" tab, maybe this is a clue to the bug - baring in mind I triggered this bug mid-way using C3 rather than on startup

    If, however, I do the below, it works fine:

    1. Open NWJS C3 in r260

    2. Click the cross to close the welcome message

    3. Open Kiwi Story from start page.

    4. You can safely use "Popup Window" on the project bar, properties bar, etc.

    5. Close all popup windows.

    6. Close the current Kiwi Story project.

    7. You will now be on the "Buy now" tab.

    8. Click the "Start page" button.

    9. Open Kiwi Story.

    10. All is working fine with popup windows still.

    Original post:

    Hey all, hope someone could help me at all, I'm at a loss :(

    I use the NWJS version of C3 all the time, as my project fundamentally relies on loading local files and using File/Save popups.

    Mysteriously, in the middle of using C3 yesterday, it crashed without warning. Hours of use, suddenly it just crashes (closes silently).

    Now I opened C3 again in NWJS, and I am finding that, even with no project open, if I use "open as Popup window" on ANY panel (Properties, Find, etc.), it will silently crash and leave a crash dump in my APPDATA folder for "construct3" (which I have no clue how to open, apparently I need WinDBG?).

    I have tested this thoroughly, renaming the old appdata folder and using an older version of C3, and I still get the crashes when using "Open as popup window".

    SOMETIMES it works with a fresh C3 in NWJS with no appdata folder. But so far, I can't find a pattern. The only pattern I find is, once it crashes once, it will 100% crash again the next time I open and try to open a popup window.

    When testing, I open Kiwi Story, and manage to get the same crash to happen, so it's not related to my project.

    I'm HOPING this is a computer issue, and I do not suspect it is C3. I use Avast, and nothing is appearing in my history. Windows Defender has nothing in the logs. Event Viewer has nothing interesting in its logs.

    Anyone had anything similar? Any suggestions that may help? I use dual-monitors and use popup windows all the time :(