Google didn't communicate a precise timeline regarding Chrome apps deprecation, which is usually the way they work.
However when Chrome disables support for Chrome apps, you'll still be able to use them if you wish from https://nwjs.io
When I looked into this, most sources pointed to nwjs as the way to do this. I haven't used it, but that's where my research lead me and it's where I'm going to start when the time comes.
Your argument is what? Qt and other alternatives are slightly more performant and lightweight? Okay, sure. I love many Qt-based apps in particular. They're nice. However, keep in mind that performance is not the only factor in software planning decisions.
With offerings like NW and Electron, you're basically making one frontend if you've already decided that you need a web app. That's one codebase where you handle all your tests, control branding, etc. I don't give a flying fuck about a 5% memory hit versus 1.5%, because, guess what, I'm saving serious development time. Do the users of /r/linuxmasterrace notice? Apparently. Does anybody else? Probably not. If the demand arises, and the users complain, then pivot, and make the Qt app. Otherwise, why sweat it?
Remember, you're not the target audience for the vast majority of software. Sorry to break it to you. We should be happy to live in a world where we have all these options to satisfy various different contextual problems.
You can also use the current applications from https://nwjs.io/ with a very small amount of work. We picked Chrome because it was the first web platform to offer a communication API with USB devices
The next version of our applications will use its own execution engine
A question, perhaps: how feasible would it be to add NW.js or something similar to the official downloads from Gitlab? If that was included, all anyone would have to do to run the game would be to simply extract it and double-click the .exe, instead of messing around with alternative browsers (assuming Firefox isn't your primary one) or web servers.
You can download the apps from Github (for example for BTC : https://github.com/LedgerHQ/ledger-wallet-chrome/releases) and run them using NW.js if you don't want to use Chrome as a browser
The fix being:
> This is a fix for the massive frame drops you experience with areas related to the DLC or possibly outside of it. The spikes reappear when you restart the game and goes away when you re-enter said area but this here is a permanent solution.
> Download NORMAL NW.js from here: https://nwjs.io/
> Go to where Crosscode is installed and delete the executable (it's simply the file named the same way). Extract what's inside the .zip and open the folder named NWJS. Drag everything from there to your main Crosscode directory.
> Afterwards rename NW.js to Crosscode and just start the game.
> Video guide: https://streamable.com/skg4r1
> P.S. I highly recommend backing up your game folder just in case and exporting your save through F10.
I built the game as an HTML5 app, so there was really only one route to go down: 1. choose an HTML5-to-desktop tool (NW.js in my case), and then 2. use Greenworks to hook that up to the Steam API.
Took a lot of trial-and-error to get it to work. I tried Electron originally instead of NW.js and ran into many problems. Then there were issues getting the NW.js version to match up with the Greenworks version and those with the Steam SDK libraries' versions.
If you're using Unity like most idler games do, I imagine it'd be a lot simpler.
HTML5. Probably won't ever release an online version though, I'm wrapping as an app with NW.js. Using the greenworks node.js plugin for Steam API.
​
Follow the following steps:
1) Go to https://nwjs.io/downloads/ and pick up the download specific to your OS and architecture (32 vs 64).
2) Extract the downloaded compressed archive.
3) Go to the folder you have CrossCode installed.
4) Copy, replacing duplicate files, the contents of the downloaded folder to the CrossCode folder.
5) Launch the game from nw.exe.
Thanks! Some insights into the project: The maps are rendered using WebGL, the whole source is bundled using rollup and contains 9500 lines of code. The desktop version is shipped using nw.js so I can make use of their pretty awesome source code protection. The production build only contains the bytecode generated by Ignition, there are no (at least public) tools to convert this bytecode back into the relative source code. I recently looked into v8's source code and it should be definitely possible to convert it back without much loss. Also here is a tree dump of the whole project structure.
Anyone on Linux wanting to play this, you needn't resort to WINE. The game's built on NW.js, so you can simply install NW.js however you like (via npm/yarn, or just grab from https://nwjs.io/), then simply extract the game zip and run it like this:
nw .
Seems to all work just fine on my system :)
Edit: Seems saving doesn't work when you run it this way, but if you're happy to play it in a single run, then it seems to suffice.
Try making a completely new project and see if the playtesting issue still occurs. If so, I think the issue is with the nwjs-win-test folder in your RPG Maker install directory. You should be able to fix it by verifying game file integrity (if you're using Steam), or downloading a new nw.js from here and overwriting the files in the nwjs-win-test folder.
If the problem is only with your project... It could be a plugin issue. Try disabling all the plugins you have first and see if that fixes it. If it does, you can enable the plugins one by one till the issue comes back to see which plugin is the culprit. From there you may have to check its parameters (since you already replaced it), or check for any incompatibilities. Good luck!
>I have decided to work on a website version first, then maybe rework the standalone to match the website.
If you are going for web, use Typescript - it has most things you have in C#: types, generics, classes, everything. With settings {"compilerOptions": {"module": "none","target": "ES6"}}
it will be just converted to the equivalent js - in case you don't want to dig into modules. And TS namespaces which are just objects containing everything.
Consider using a framework, Vue3 (optionally with vue-class-component@8 and vue-class-decorator), Svelte, or React
AFAIK, Vue is more friendly for using a global state object (as easy as gameState = Vue.reactive(gameState)
) so you don't need to care about rerendering at all, Svelte is more friendly with immutable state, React I dunno
In every framework, no matter which one, rendering is made easier and faster then if you will make your own renderer in JS (those are HTML/CSS frameworks tho, if you are drawing on canvas you gonna need smth different)
The easiest packaging to the standalone is literally just taking an folder with nwjs and merging it with the folder containing the game (package.json
shold have {"main":"index.html"}
to instantly open the proper file)
Side note: if your game is complicated enough to require a game engine, consider just using Unity3d or whatever
for safety: make a backup of your save files. (Press F10 ingame to open save file exporter/importer)
download "normal" from https://nwjs.io/
extract into crosscode folder
rename the nwjs exe to CrossCode.exe
enjoy the game!
download the newest nw.js executable
https://nwjs.io/ (download "normal")
delete the CrossCode.exe and replace everthing inside the Cross Code folder with the new NW.js files. then rename the nwjs exe to CrossCode.exe and start the game.
i've seen this in the official discord and it works perfect.
just make sure to back up your savefiles in case something goes wrong
macOS should be pretty similar to Linux (there are some minor differences).
I would recommend "testing" using laravel or similar to quickly check if the examples do run ok on your system. This will confirm things like file permissions and folder structure.
To get it running in atom, should be fairly similar, but Im not sure of the servlet mechanisms to drive the html. Ie, you need to put the three folder in the correct position the hierarchy for atom to correctly serve it.
Also, check your debug logs in the browser you are using - usually F11 to open debug window. You may also be seeing CORS issues.
Generally I havent had too many problems running threejs in a wide variety of setups. I have run these examples in Electron and nwjs (https://nwjs.io/) so Im pretty sure it should be fine in atom (cant be certain though).
Hope this helps.
They used ImpactJS, which I recall they heavily customised to suit their needs. To get it to run as a desktop app, I believe it uses NW.js.
Yeah, IIRC the Nintendo Switch can't execute HTML5/JS easily - I suspect because of publishing rules about including a full web browser as part oft he game or something probably. To this end I believe they have some kind of compiler/interpreter for the original source code of the game, yeah. It's a pretty incredible piece of engineering all things considered.
It's the tool that RM uses to run the game. MV uses version 0.12.3, while MZ uses version 0.44.5.
It is only copied to your project when you deploy, but you can also update it on RM's installation folder:
C:\Program Files (x86)\Steam\steamapps\common\Rpg Maker MV\nwjs-win
This is amazing, I found some good stuff in the marked solution: https://steamcommunity.com/app/922710/discussions/0/1628538707063677167/#c1741140266532463766
So basically on a finished game (that has the same error) this is the workaround:
mkdir fonts; echo '<fontconfig><dir>/usr/share/fonts</dir><cachedir>fonts</cachedir></fontconfig>' >fonts/fonts.conf; FONTCONFIG_PATH=fonts ./nw # %command%
Basically creating a folder with a working dummy config file and passing it to the executable of the game.
I tried it by exporting my game and it works. I guess it will work for any exported game.
I checked again the directory of the RPGMaker MV and found two folders that go with nw (basically the javascript that runs the game):
nwjs-lnx has the same structure as any exported game has. Running the nw exectuable in there causes the font bug. Running it using the codesnippet from above will make it work. It opens a game window with a chrome error message saying "Your file was not found". My guess is that this is the 'playtest' mode and it needs a project reference.
I then checked nwjs-lnx-test folder. It also looks like an exported game but without the nw executable. Instead it has a Game executable. I did the same check again. Game itself causes the font bug, but using the snippet from above (with ./Game
instead of ./nw
) makes it work. It opens a window that displays chrome, node and nw versions.
So the provided snippet from that steam thread is definitely something we can work with!
However I still need to figure out how to implement it for the playtest mode when clicking playtest within the editor. Since that doesn't launch the playtest with our snippet...
And enter the following:
"C:\location\to\nwjs\extracted\path\nw.exe" "C:\location\to\24hour\analog\clock"
Notice that there is "nw.exe" at the end of the nwjs path and that there is a space between the two locations.
Click "Next".
You will then be able to use the shortcut to open the app.
https://nwjs.io/ was the simplest I ever found and it has much more cool features than electron. Like javascript source protection. It's hard to find a perfect tool in this mess of ram eating contest. Native technology (desktop/phones) has always been like that and it sucks so fucking hard. Maybe someday it won't be as bad.
But maybe we shouldn't use web tech on Desktop in the first place. Maybe this was our first mistake. A big mistake. But no, we love to use our "yavascript" everywhere.
https://github.com/popcorn-official/popcorn-desktop
Popcorntime is based on nwjs, you will need to build nwjs which mean you will need Chromium, V8 and node.js.
Thank you!
It's a very good question. I used Construct 2 to create this game. You need to use NWjs if you want to make a desktop build with this HTML5 engine. This wrapper has good Mac compatibility right from the box. So I haven't encountered any major troubles. The only concern were file permissions. Construct is a Windows-oriented software and Windows doesn't preserve file permissions used in Unix-based systems like Linux or MacOS. So I found a simple yet elegant solution. I created an MacOS Sierra 10.12 VM using VirtualBox. Terminal command chmod a+x restores the executable file permission and build is uploaded to Steam after that. You can read more about it here.
What else can I say? Everything worked as a charm on virtual machine but it wasn't enough for me. So I asked few friends who own Macbooks to test the game on real machines. And only after that I enabled Mac support in the Steam settings.
It's NWJS (https://nwjs.io/) which is very similar to Electron (in fact it was the parent project which Electron eventually forked out of). There are some things I like a bit better about NWJS approach than Electron, although both have quite similar features.
I'm not at all an expert in Chrome apps, but I think there is a possible fallback to run the current Chrome apps on top of NW.js. But it would for sure be much better if Ledger get their standalone app out as soon as possible.
Another possibility is to monitor the development of the Mycelium wallet app. They are about to make a major upgrade to support more coins than only Bitcoin.
I've initialized using the chrome app on an offline boot usb stick. You need the ledger-wallet-1.9.3.crx file from their github (maybe on their site but don't know) and also the nwjs file suitable for your OS (in my case I used nwjs-v0.24.3-linux-x64) which allows running the chrome app without having to install Chrome. When I did this I put the two needed files on a usb stick and then installed (tar -xzvf) the nwjs, copied ledger-wallet to the same directory and then ran ./ledger-wallet-1.9.3.crx
and it found nwjs on it's own. I later added this command to a menu item.
Thank You. I able to upgrade my nano using this method. Here are the steps I took for anyone else happening upon this later.
Nw.js is a framework (node-webkit, at nwjs.io) for developing web applications and packaging them for desktop computers. Do you have any applications installed that you think might relate to that?
What version of what operating system are you using? If you're using Windows 10, Ctrl+Shift+Esc will bring up Task Manager, and if you go to the Startup tab you should be able to find and disable the application that's starting up.
Probably an application based on the nw.js framework that fails to load some content. Have you installed some application recently? Does it show up when you launch a particular application, or at system startup?
You're using a really old version of Node Webkit.
Why don't you try updating to the latest version to see if your problems are actually related to the outdated version of Chromium running underneath?
You can use any framework mentioned in these replies.
You can then just package the whole app into nw.js or electron, and make a desktop app, even sell it in Steam.