Hello,
We’ve had many questions about bringing The Next Penelope to Nintendo Switch so here’s what we’ve done!
Games made in Construct 2 can be exported to Javascript/HTML5/Canvas/WebGL. They work fine on PC where Webkit/Chromium is used to run the game. However it’s hard and not optimal to run the games in a browser on consoles. As we have the source to the complete Javascript/HTML5 Construct player, the best solution seemed to port it to C++ and our homemade engine.
Basically Construct 2 player is data-driven : in the main javascript file, we can find the player code and a giant JSON array with the entire game logic, events and references to assets. Sound FXs and PNG textures are stored in folders aside the JS file.
Only the functions specific to the Next Penelope game have been ported, but it represents more than 70% of the original player code. A big part of it is platform independant but we had to adapt the input, sound, save system and rendering modules so that they use our own engine.
The game uses around 20 shaders for special effects (warp, radial blur, tint, glow, etc…), they had to be ported from WebGL/GLSL format to HLSL (that our engine uses).
The player conversion development was first done for PC for speed then we could easily target other platforms given that our engine is multiplatform.
After some optimization, the game was running entirely at 60 FPS on the undocked Switch console in the “High quality” graphic settings preset.
All specific console changes (localization for other languages, Switch multiplayer logic, etc..) and bug fixes were made directly in the ported player code afterwards without reexporting the Construct project once.
When the game starts, everything is loaded in memory just as in original game. Packing and compressing the files for final release reduced the loading time to 8 seconds.
Rumble HD support was added in the game specifically on Switch. The vibrations are linked to the audio events. When a specific sound such as laser or explosion is played, the specific vibration sample of the sound is played on the gamecontroller/joycons at the same time.
Voilà ! Let us know in the comment section if you have any extra questions. Looking forward to you guys playing the game when it releases on 21st December 🙂