Spark the Electric Jester

Spark the Electric Jester

Not enough ratings
[Steam Deck and Linux] Essential bug fixes
By Major Gnuisance
Essential bug fixes for poor performance and missing pause menu.

For Steam Deck and other Linux systems.
2
   
Award
Favorite
Favorited
Unfavorite
Quick version
This section has minimal information, for people who know what they're doing.
For full instructions see the sections below.

1. Fix performance issues.

Use these launch options:

PROTON_USE_WINED3D=1 %command%

Obs: some Windows systems also experience this issue. They require a different workaround.

2. Fix broken pause menu in some stages.

For the Steam Deck, copy and paste these commands into Konsole.

install -D ~/.steam/steam/steamapps/common/Spark\ the\ Electric\ Jester/SparkDEV_Pause.ccn ~/.steam/steam/steamapps/compatdata/601810/pfx/drive_c/users/User/Desktop/Downloaded\ Stuff/Game\ Dev/Spark_Development/Spark_DEV/SparkDEV_Pause.ccn install -D /run/media/mmcblk0p1/steamapps/common/Spark\ the\ Electric\ Jester/SparkDEV_Pause.ccn /run/media/mmcblk0p1/steamapps/compatdata/601810/pfx/drive_c/users/User/Desktop/Downloaded\ Stuff/Game\ Dev/Spark_Development/Spark_DEV/SparkDEV_Pause.ccn

For other Linux systems: the commands above should also work if using the default Steam library location.
If not, see the full guide.

Obs: this issue affects all users on all systems.
Fix #1: perfomance issues
The game should run at 60 FPS, except when applying intentional slowdown effects, such as boss explosions. However, some parts run consistently slow, even on powerful systems.

Follow these instructions to fix this:

  1. Find the game in your Steam Library
  2. Open the game's properties window
    • On Steam Deck or Big Picture
      1. Select the Manage button (⚙), located to the right of the ⏵Play button
      2. Select Properties...
    • On desktop
      1. Right click the game in the list
      2. Click "Properties..."
  3. Under the "General" section, find "Launch Options"
  4. Write this text exactly:
    PROTON_USE_WINED3D=1 %command%
  5. Close the properties window

The game should now run fine the whole time.

Video demo, with before and after. At 0:32 you can see the instructions above play out.

Fix #2: broken pause menu
In some stages pressing the pause button will give you the following error:



This is a bug in the game itself but there is a workaround: placing the missing file where the game expects to find it.

Steam Deck instructions

Desktop Mode controls quick reference.

Move mouse
Right pad
Mouse Left Click
R2 (Right trigger)
Mouse Right Click
L2 (Left trigger)
Mouse wheel
Left pad (circular motion)
Enter
A button
Virtual Keyboard
Steam button + X button

  1. Go into Desktop mode
    • Hold Power Button for ~1 second
    • Select Switch to Desktop
  2. Find this guide on Steam or a web browser
  3. Select and copy the code block below
  4. Open the Konsole app
    1. click the app launcher, on the bottom left of the screen
    2. mouse over System
    3. click Konsole
  5. Click the Paste button in Konsole
  6. Press the A button to run the commands
    • This assumes the default desktop controller configuration
    • Alternatively: press Enter on a keyboard
  7. Close Konsole
  8. Return to Gaming Mode
    1. Press the power button
    2. Click Log Out
Code bock for Steam Deck:
install -D ~/.steam/steam/steamapps/common/Spark\ the\ Electric\ Jester/SparkDEV_Pause.ccn ~/.steam/steam/steamapps/compatdata/601810/pfx/drive_c/users/User/Desktop/Downloaded\ Stuff/Game\ Dev/Spark_Development/Spark_DEV/SparkDEV_Pause.ccn install -D /run/media/mmcblk0p1/steamapps/common/Spark\ the\ Electric\ Jester/SparkDEV_Pause.ccn ~/.steam/steam/steamapps/compatdata/601810/pfx/drive_c/users/User/Desktop/Downloaded\ Stuff/Game\ Dev/Spark_Development/Spark_DEV/SparkDEV_Pause.ccn

Visual aid, starting from step 2 (in Desktop mode)


Instructions for other Linux systems

If you're using the default Steam library folder location, the code above should also work.

Otherwise, follow these instructions:

  1. Open a terminal app
  2. Copy the code block below into the terminal and press Enter
  3. Type fix_spark into the terminal and press Space
    • At this point, the terminal window should have something like this at the end:
      $ fix_spark █
    • This symbol represents the cursor: █
    • The space after fix_spark is important
    • Do not press Enter at this point. But if you did, just repeat this step again.
  4. Find the game in your Steam library
  5. Right Click > Manage > Browse local files. A file browsing window should appear.
  6. Copy the "SparkDEV_Pause.ccn" file
    • If there's a copy file path option, choose that
  7. Go back to the terminal and paste
    • If there's a paste as filenames option, choose that
    • The terminal should now have something like this at the end:
      $ fix_spark '/path/to/steam/library/steamapps/common/Spark the Electric Jester/SparkDEV_Pause.ccn'█
      Where "/path/to/steam/library" will be different depending on where the game is installed.
  8. Press Enter

Code block:
function fix_spark { source="common/Spark the Electric Jester/SparkDEV_Pause.ccn" destination="compatdata/601810/pfx/drive_c/users/User/Desktop/Downloaded Stuff/Game Dev/Spark_Development/Spark_DEV/SparkDEV_Pause.ccn" if ! [[ "$1" =~ ^(.*)/${source}$ ]] ; then echo "This command must be called with the path to the SparkDEV_Pause.ccn file." echo "It should end in '$source' but I got this instead:" echo "${1:-[no argument provided]}" return fi if ! [[ -f "$1" ]] ; then echo "The file does not exist: $1" echo "Aborting." return fi library_path="${BASH_REMATCH[1]}" install -D "$library_path/$source" "$library_path/$destination" && echo "Done!" }

Demo and visual aid:


Obs: I'm assuming your command line shell is Bash, which should be the case for virtually everyone.
If it's not, then you probably know what you're doing anyway. Just type bash into your non-Bash shell and you should get a Bash shell. If your system really doesn't have Bash installed, here's a nickel so you can buy yourself a copy:
🪙
Conclusion
You should now be able to enjoy Spark the Electric Jester in its full glory!

Some other bugs, without workarounds, to be aware of:

  1. Starting a Hard Mode campaign may reset your normal mode progress for the same campaign, with no warning
  2. When loading a checkpoint the game may fail to load the abilities you had at the time and you end up with two copies of the same ability
  3. Miscellaneous hitbox crimes
  4. A grab attack by a common enemy in the late game can teleport you to a different copy of the same enemy
1 Comments
SomeDudeNamedAnthony 19 Apr, 2024 @ 9:17pm 
Nice work!