Bringing The Next Penelope to Switch

Dec 6, 2017 @ 10:00

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 🙂

6 commentaires sur “Bringing The Next Penelope to Switch

  1. Oursique

    These porting efforts could benefit other Construct 2 games. But the only that comes to my mind is CoinOp Story and the development is halted for now.

    Were you as puzzled as me by Construct 2 file format for translations?

    Reply
    1. M

      There are other games, like Unsung, Klang, and more that could definitely benefit from this. Construct 2 is actually quite capable as a 2D engine, so I’d be quite interested in learning more about how this was done and seeing if it could be done for other games (my own included), but that’s dependent on Seaven Studio, so we’ll see.

  2. biplab_poddar

    Ensure the console has the latest system update. The steps below apply to system menu version 3.0.1 or higher.

    Set the Auto-Sleep mode to “Never” for “Playing on Console Screen” and for “Connected to TV.”
    Connect the AC adapter directly to the console until the battery is fully charged.
    If the battery charge indicator does not reach 100%, simply allow the console to charge for approximately three hours.
    The console can be in use while it is charging.
    Once the battery is fully charged, leave the console alone for one hour with the AC adapter still connected to it.
    Afterward, disconnect the AC adapter and allow the console to display the HOME Menu for approximately three to four hours.
    The remaining battery life must be depleted as much as possible.
    Once the battery charge is almost depleted, power off the console by holding down the POWER Button for three seconds, then select “Power Options” > “Turn Off.” Leave the console alone for at least 30 minutes.
    Repeat steps 2 – 6 several times.
    The battery charge indicator will improve gradually by repeating this process several times.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *