PS3 OpenSupaplex - (PSP / PS3 / PS Vita) Remake of Supaplex (A game from the 90s)

STLcardsWS

Administrator
182f3f72612fd93b5296cdfb16cb90dc71f7cc1537b0d5fb0161f22656a380cb.png

  • OpenSupaplex
    Supaplex is a game made in the early nineties.
    0bf409d3456339d9817fb36b9ddd16347fdb661d6f67189deb1c113ed8dc569f.png 80be146ef52ef3379568abd078a8333cdd5ba946f8e2262ee58107acc9c4d9ad.png OpenSupaplex-5.png
    Since then the source code has been lost. Some enthusiasts have disassembled the game, fixed many bugs, and added many features. Today the game and the so-called speed fix can be downloaded free from here. The source code for the speed fix is likewise, unavailable.

    OpenSupaplex is a 1:1 reimplementation of the original game in C and SDL, with just a few changes to make it easy to use with game controllers, and also easy to port to any platform.


    NEW v7.1:
    • Added support for PSP, Nintendo 3DS, Windows 64bit, macOS, PS3, Wii and Wii U.
    • Added Music and Sound Effects.
    • Added support for saving and loading game states.
    • Bumped the default game speed from 5 to 10 (maximum).
    • Added different scaling modes.
    • Improved gamepad controls:
      • LB/L1/L and RB/R1/R buttons can be used in the main menu to select a different level set.
      • LB/L1/L and RB/R1/R buttons can be used in during the game to change the game speed.
      • Y/Triangle button (X on Nintendo consoles) shows/hides the bottom panel during the game.
      • B/Circle button (A on Nintendo consoles) displays, for a few seconds, the number of red disks you have.
      • Back/Select/Minus during a game will exit the level immediately.
      • Start/Plus during a game will pause the game.
    • Added advanced menu giving access to many options that were only available with a keyboard before, or not available at all:
      • Restart the level.
      • Sound and music volume.
      • Change the scaling mode.
      • Game speed.
      • Play/record demos.
      • Debug options (show FPS, load/save state, remove Zonks/Snik Snaks…). If you use these, your progress won't count!!
      • And more things!
    • Added command line options in platforms that support this. Just run the game with --help for more info.
    FIXED:
    • Fixed many MANY bugs. Now the game should behave exactly as the original, validated by almost 7000 pre-recorded demos.

  • OpenSupaplex can be built for any of the following platforms:
    • macOS
    • Windows
    • PSP
    • PS Vita
    • PlayStation 3
    • Nintendo 3DS (one build for Old 3DS, and another one for New 3DS)
    • Nintendo Wii
    • Nintendo Wii U
    • Nintendo Switch
    More platforms (like Android, iOS and tvOS) to come Soon™.


  • Contributing

    If you like this project, there are several ways you can contribute to it:
    • Reporting bugs: just file an issue in this repo, detailing the bug and how to reproduce it as much as you can. It's even better if you can record a demo of the bug using the demo feature of the game and upload the file.
    • Requesting features or ports: again, filing an issue in this repo is the way to go, detailing what you need as much as you can.
    • Submitting Pull Requests: you can also contribute with your own code. Just, please, be mindful of the code style and project structure used already.
    Contributing with new features

    New features are more than welcome. However, the main goal of OpenSupaplex is having a 1:1 clone of the original Supaplex game, in every possible aspect, and only making exceptions wherever is reasonable to do so.
    New features must NOT change how the game works or looks in a way that CANNOT be avoided. For those kind of features, adding some kind of setting so users can opt-in is the way to go.
    Contributing with ports to new platforms

    The whole reason for OpenSupaplex to exist is to make the experience of the original game available natively to as many platforms as possible. If you want to bring OpenSupaplex to a new platform, please go for it!
    But please be mindful of how ports are structured already in the repo:
    • Create a subfolder in the root of the repo with the (lowercase) name that represents the new platform. That folder should contain everything needed to build and bundle the game for distribution.
    • If needed, inside the src folder you can create also a folder with the (lowercase) name of the platform and add specific implementation files there.
    • If you can, avoid plaguing the code with #if statements for the new platform.
    • If you find a bug that only happens in the new platform, and presumably is a bug in either SDL, SDL_mixer or any of their dependencies, please, fix the root of the problem and don't write workarounds in the game's codebase. Not only you won't pollute OpenSupaplex with hacks that belong elsewhere, but you will also be contributing and helping people using SDL and SDL_mixer in that platform. I have done that many many times while working on the different ports, and it's a great experience.
    • It'd be very helpful if you also got some CI scripts to allow me building the new port from the GitHub Actions.
    Contributing with feedback
    I'm also very open to suggestions about how to make things better. Constructive feedback on my code, how to structure the project to make it easier to handle all the ports… just file an issue and we can discuss it there.

 
Last edited:

Similar threads

Back
Top