mayhamurasaki's Forum Posts

  • I posted a while back about all the many problems NW.js had, including relying on unsupported hacks to get the Steam Overlay working that we cannot guarantee will keep working, and which did indeed break for several months (shortly after we made the change to our own exporters, so not many people noticed). Our new export options support the Steam Overlay now. We'd like to improve support and it may be possible to in future, but it would be a lot easier if Steam (who are a multinational corporation with thousands as times as many staff as we have) co-operated. The more people who contact Steam about it, the more likely they are to act, so please do contact them about it.

    Steam taking action would certainly be the best-case scenario. Unfortunately, dealing with this type of company (a monopoly) is futile unless a very large percentage of users is affected. It’s the same story with Google... Apple...

    I appreciate the effort you are putting in.

  • In short:

    No it doesn't work on WebView2.

    Why?

    Because WebView2's rendering architecture is problematic for Steam's overlay to hook into.

    So Scirra came up with a workaround to make Steam's overlay work. This is described in the Steamworks plugin documentation.

    It adds the D3D11Overlay_x64.ext.dll to your exports as you've noticed, which is a library used to create this DirectComposition Direct3D 11 overlay-frame, on top of your game. Steam then hooks into that, instead of your game.

    While this makes the Steam overlay work on Webview2, it also breaks direct game recording with any recording tool, including Steam Recordings, as well as Steam Remote Play and Steam Broadcast. As applications now pickup this transparent overlay, instead of the actual game.

    Scirra likely can't do more than this -> Steam doesn't care because not enough people report it to them -> There will realistically speaking never be a solution to this.

    There's a small chance that either WebView2 or Steam gets an update adressing this in the future, but i definitely wouldn't count on it.

    A workaround would be to use 3rd party exporting solutions like Pipelab, which uses Electron. Use an old C3 version to export with NWjs. Or migrate your game to a different game engine.

    Which is unfortunate, but it's the situation we're in.

    Thanks for the detailed explanation; it would be great if we still supported NW.js.

  • Hey, any updates on this? Did you manage to resolve it somehow?

  • There's a few options.

    1) use the default C3 effect "outline" or - "better outline" from the addons page - construct.net/en/make-games/addons/449/better-outline

    2) In your 3D model you make a copy of the mesh, scale it slightly bigger along the normals, and then invert the faces so that they are inside out. Then make it whatever color you want. The game will render only the inside of the outer mesh thus resulting in what looks like an outline.

    I’ve never seen a default outline effect in Construct 3 that isn't for text. I even checked again to see if there was any news, but I didn't find anything.

    I'll try the second option! Thank you!

  • The "two objects of different sizes" is a very legacy, performance unfriendly (double polycount) method, but you can achieve it - have the larger object have its normals facing inside and on both objects enable Back face culling. Baring z-fighting and sorting issues, you will get the result you're after.

    Given C3's 3d performance, I would handle it differently though - by painting the internal outlines as a texture and using an outline Effect for the object silhouette.

    Are these things made with Blender? (normals facing/back face culling) [I don't have experience with the 3D programs, this is why I'm asking]

    And this "outline Effect", we don't have native in C3, right?

    Thanks!

  • Hello! I'm not familiar with this game, but considering the mechanics mentioned, I suggest working on less complex games first, keeping in mind that you're still learning.

    Since there are many (and somewhat complex) mechanics, you can learn one thing at a time (a draft game, with one or two mechanics implemented). Once you have this knowledge, you probably won't have any more doubts about organization.

    Game jams are great for this!

    But to answer briefly:

    What's the best way to manage NPC relationships and personalities?

    You can organize all the game progress in a JSON file, or use dictionaries and arrays to store these values.

    How would you organize dialogue events between multiple characters?

    I use a JSON file with all the dialogues and event triggers (which should be programmed in the event sheet). You can also use dictionaries and arrays; it will be simpler to learn, but more difficult to organize.

    It's not something that can be explained in a paragraph... There's a lot to learn before that.

    Is it better to use a global event sheet or separate event sheets for different game systems?

    There's no difference; you can do whatever you find most comfortable. In large games, it's common to work with several separate event sheets for different mechanics and include them in a main event sheet.

    Organizing them into groups within an eventsheet also helps.

    Are there any plugins or tutorials for building daily schedules and random events?

    I don't know, I don't usually use custom plugins. But it's a mix of the first and last questions.

    What are the best practices for saving player progress in a simulation game?

    Simply save the JSON with the player's progress to a file using the File System or LocalStorage.

    Note that there are several ways to do each thing, including everything could be done with global variables and the save/load of the Browser object. It's a simpler solution to understand, but less performant.

    Use the engine documentation as your guide: construct.net/en/make-games/manuals/construct-3

    And learn the mechanics separately through the Construct tutorials: construct.net/en/tutorials

    Good luck on your journey!

  • Hi!

    Is there a way to create an outline for 3D objects in Construct 3? (like anime)

    Typically, this is done by layering two objects of different sizes and using a shader/blend, but I haven't been able to reproduce this using any of Construct's native effects.

    Example:

  • Try Construct 3

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

    Try Now Construct 3 users don't see these ads
  • It's working now! GRATZ

  • Construct open here, but I can't open the preview. Some projects I got errors when try to open.

  • The latest release adds a 'Bundle assets' option for the Windows WebView2, macOS WKWebView and Linux CEF export options. This will combine all the exported files in the www subfolder into a single file named assets.dat, meaning it is no longer possible to casually browse the exported files in the install folder. The file is not encrypted, but it should do the job of preventing anyone easily finding the files.

    It's pretty similar to package.nw in NW.js (being a non-encrypted bundle file), but it has the additional advantage of having much better performance. With NW.js package.nw was just a zip file, and NW.js would fully extract it to a temporary folder on startup, which could be too slow to be usable for large projects. With our new export options using assets.dat it does not need to extract anything and can directly read data from that file, so there is no impact to startup time even for very large projects. Also as assets.dat is not a zip file, you can't use the old trick of renaming package.nw to pckage.zip to get at the files, so arguably it's better protected too. So overall I'd say the new export options handle this much better now than NW.js ever did.

    Wow, cool!!! Thanks for replying

  • Hello Ashley, in today update you said to let you know if something is stopping us to export in WV2.

    I think this is the main reason. There's some good option to solve this?

    • Post link icon

    Ashley > Urgent

    • Post link icon

    I was able to take a screenshot before the site opened automatically. It's a very dangerous scam. The comments are still happening.

    XSS = owasp.org/www-community/attacks/xss

  • So what other reasons are there for a fixed framerate? Perhaps there are some, but I don't see "achieving perfect smoothness" as one of them.

    Collision checking changes considerably at a rate higher than 60fps. This has already made me face situations where the character makes a "higher" jump in a very specific situation, which depended on the collision check with an object.

    Despite that, at the moment I'm experiencing big problems in the physics behavior where the maximum FPS limit would be of great help. The framerate independent mode changes the strength of the object according to the processing, while the fixed mode, despite its equal path, changes its speed. Object speed can get very fast at high framerates.

  • Complicated idea... but very creative haha

    In a two-player situation, if both players alt+tab at the same time, the room would be closed. XD