Anonymous edits have been disabled on the wiki. If you want to contribute please login or create an account.


Warning for game developers: PCGamingWiki staff members will only ever reach out to you using the official press@pcgamingwiki.com mail address.
Be aware of scammers claiming to be representatives or affiliates of PCGamingWiki who promise a PCGW page for a game key.

Difference between revisions of "Engine:Electron"

From PCGamingWiki, the wiki about fixing PC games
m (fix links)
 
(5 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 +
Electron is an open source library, combining the {{W|Blink_(browser_engine)|Blink rendering engine}}, found in {{W|Google Chrome}} web browser, and {{W|Node.js|Node.js JavaScript environment}}. Initially developed for the {{W|Atom_(text_editor)|Atom text editor}}, it is now used in wide variety of software ranging from desktop applications to games.
 +
{{ii}} Most command line arguments for Chromium can take effect.
 +
{{++}} Easy to port to another platform or architecture if no other platform/arch specified binary used.
 +
 +
== Modding ==
 +
{{Fixbox|description=Enabling Electron debugging|fix=
 +
To debug the the native (Node.js) code:
 +
 +
# Set the game launch option to <code>--inspect</code>
 +
# Using any Chromium-based browser (eg. Google Chrome), go to <code>chrome://inspect</code>
 +
# Click inspect under Remote Target
 +
}}
 +
 +
{{Fixbox|description=Enabling web inspector|fix=
 +
To debug the the web content (Chromium) interface code:
 +
 +
# Enable Electron debugging and attach to remote target
 +
# Type <code>require('electron').app.once('browser-window-focus', (e, w) => w.webContents.openDevTools())</code>
 +
# Switch to the game window and the web inspector should open
 +
}}
 +
 +
==API==
 +
{{API
 +
|direct3d versions      = 9,11,12
 +
|direct3d notes        = Launch with <code>--use-gl=egl --use-angle=%API%</code>, value can be d3d9, d3d11, d3d11on12 (require higher version of nw.js). DX11 is default in most games and devices.
 +
|directdraw versions    =
 +
|directdraw notes      =
 +
|opengl versions        = true
 +
|opengl notes          = Launch with <code>--use-gl=egl --use-angle=gl</code>
 +
|glide versions        =
 +
|glide notes            =
 +
|software mode          = true
 +
|software mode notes    = Launch with <code>--disable-gpu</code>
 +
|mantle support        =
 +
|mantle support notes  =
 +
|metal support          =
 +
|metal support notes    =
 +
|vulkan versions        = true
 +
|vulkan notes          = Launch with <code>--use-gl=egl --use-angle=vulkan</code>
 +
|dos modes              =
 +
|dos modes notes        =
 +
|shader model versions  =
 +
|shader model notes    =
 +
|windows 32-bit exe    = true
 +
|windows 64-bit exe    = true
 +
|windows arm app        = true
 +
|windows exe notes      = Windows ARM support added in 6.0.8<ref>{{Refurl|url=https://www.electronjs.org/docs/latest/tutorial/windows-arm|title=Windows on ARM|date=2024-06-20}}</ref>
 +
|macos intel 32-bit app = false
 +
|macos intel 64-bit app = true
 +
|macos arm app          = true
 +
|macos app notes        = Darwin-ia32 never supported since the project named as Electron from v0.24.
 +
|linux 32-bit executable= limited
 +
|linux 64-bit executable= true
 +
|linux arm app          = true
 +
|linux executable notes = Linux 32-bit discontinued from 4.0<ref>{{Refurl|url=https://www.electronjs.org/blog/linux-32bit-support|title=Discontinuing support for 32-bit Linux|date=2024-06-20}}</ref>. Both ARMv7l and ARM64 supported.
 +
}}
 +
==Games use Electron==
 
{{Infobox engine
 
{{Infobox engine
 
|cover=Electron_Software_Framework_Logo.svg
 
|cover=Electron_Software_Framework_Logo.svg
Line 4: Line 61:
 
|website=https://www.electronjs.org
 
|website=https://www.electronjs.org
 
|first release=July 15, 2013
 
|first release=July 15, 2013
|latest release=September 29, 2022
+
|latest release=June 20, 2024
 
|wikipedia=Electron (software framework)
 
|wikipedia=Electron (software framework)
 
}}
 
}}
Electron is an open source library, combining the [https://en.wikipedia.org/wiki/Blink_(browser_engine) Blink rendering engine], found in [https://en.wikipedia.org/wiki/Google_Chrome Google Chrome] web browser, and [https://en.wikipedia.org/wiki/Node.js Node.js JavaScript environment]. Initially developed for the [https://en.wikipedia.org/wiki/Atom_(text_editor) Atom text editor], it is now used in wide variety of software ranging from desktop applications to games.
 

Latest revision as of 01:42, 20 June 2024

Electron is an open source library, combining the Blink rendering engine, found in Google Chrome web browser, and Node.js JavaScript environment. Initially developed for the Atom text editor, it is now used in wide variety of software ranging from desktop applications to games.

Most command line arguments for Chromium can take effect.
Easy to port to another platform or architecture if no other platform/arch specified binary used.

Modding

Enabling Electron debugging

To debug the the native (Node.js) code:

  1. Set the game launch option to --inspect
  2. Using any Chromium-based browser (eg. Google Chrome), go to chrome://inspect
  3. Click inspect under Remote Target
Enabling web inspector

To debug the the web content (Chromium) interface code:

  1. Enable Electron debugging and attach to remote target
  2. Type require('electron').app.once('browser-window-focus', (e, w) => w.webContents.openDevTools())
  3. Switch to the game window and the web inspector should open

API

Technical specs Supported Notes
Direct3D 9, 11, 12 Launch with --use-gl=egl --use-angle=%API%, value can be d3d9, d3d11, d3d11on12 (require higher version of nw.js). DX11 is default in most games and devices.
OpenGL
Launch with --use-gl=egl --use-angle=gl
Software renderer
Launch with --disable-gpu
Vulkan
Launch with --use-gl=egl --use-angle=vulkan
Executable 32-bit 64-bitARM Notes
Windows
Windows ARM support added in 6.0.8[1]
macOS (OS X)
Darwin-ia32 never supported since the project named as Electron from v0.24.
Linux
Linux 32-bit discontinued from 4.0[2]. Both ARMv7l and ARM64 supported.

Games use Electron

Electron
Electron Software Framework Logo.svg
Developers
Website
First release date
Latest release date

Game Developer Publisher First release
Cookie Clicker DashNet Playsaurus September 1, 2021
Elvenar InnoGames March 18, 2021
Five Nations SilverForge May 4, 2021
Istrolid treeform May 6, 2016
Shapez Tobias Springer tobspr Games, Doyoyo Games, Prismatika May 30, 2020
The Invisible Guardian New One Studio January 23, 2019
Vampire Survivors poncle October 20, 2022
Wayward Unlok
  1. Windows on ARM - last accessed on 2024-06-20
  2. Discontinuing support for 32-bit Linux - last accessed on 2024-06-20