Maelstrom

Project repository: https://github.com/libsdl-org/Maelstrom.git

Maelstrom is an Asteroids clone, ported to SDL, but was originally created in 1992 for Mac OS. Refer to the Maelstrom Wikipedia entry for more information about the game: https://en.wikipedia.org/wiki/Maelstrom_(1992_video_game).

The purpose of this project is to build a version of the game ported to QNX. You're greeted with the following loading screen once you've launched the game successfully:



The following links were referenced to create this project:

Building the project

You can build this project via command line or with Geany. Instructions for both options are detailed below.

Note:
  • From the Applications menu, select Internet > Web Resource > Self-Hosted Developer Desktop Guide to view this tutorial on your desktop to help with cut and paste commands.
  • Currently, audio doesn't work on QEMU.

Building via command line

  1. Navigate to the project folder:

    cd ~/projects/Maelstrom
  2. Configure the project:

    autoreconf -fi
    chmod u+x autogen.sh
    ./autogen.sh
    CC=clang CXX=clang++ \
    CFLAGS="${CFLAGS} -Wno-reserved-user-defined-literal -Wno-register -Wno-implicit-function-declaration" \
    LDFLAGS=" -L/usr/lib -lSDL2 -lm -liconv -lscreen -lEGL -lsocket" \
    ./configure --with-sdl-prefix=/usr --prefix=/usr --disable-sdltest
  3. Build the project:

    make -j4
  4. Install the executable and its related files:

    sudo make install install-exec install-data install-am
  5. Get read permission for the Maelstrom game files:

    chmod -R a+r /usr/games/maelstrom/*
  6. Create a script to launch the game from /usr/bin (this is needed for the game to unpack its assets from its executable file):

    sudo vi /usr/bin/launchMaelstrom
  7. Paste the following content into the script, then save and exit:

    #!/bin/bash
    
    SDL_VIDEODRIVER=qnx Maelstrom -windowed
  8. Make the script executable:

    sudo chmod a+x /usr/bin/launchMaelstrom
  9. Launch the game and have fun!:

    launchMaelstrom

Building with Geany

  1. Launch Geany. From the desktop, select Applications > Development > Geany.

  2. Select the Project menu, then Open.

  3. Navigate to the Maelstrom project folder (~/projects/Maelstrom) and select Maelstrom.geany.

  4. Select Build > Configure. This step configures the project to generate the Makefiles needed to build it.

  5. Select Build > Make to build the project.

  6. Select Build > Install to install the game. The following terminal opens:



  7. Open a new terminal.

  8. Create a script to launch the game from /usr/bin (this is needed for the game to unpack its assets from its executable file):

    sudo vi /usr/bin/launchMaelstrom
  9. Paste the following content into the script, then save and exit:

    #!/bin/bash
    
    SDL_VIDEODRIVER=qnx Maelstrom -windowed
  10. Make the script executable:

    sudo chmod a+x /usr/bin/launchMaelstrom
  11. Launch the game and have fun!:

    launchMaelstrom

How to play

KeyActionNotes
LCheat MenuPress the L key at the menu screen to bring up a cheat menu, allowing you to select the number of lives, the wave number up to 40, and Turbofunk, or fast motion.
XHidden PoemDisplays a pop-up with a hidden poem.
AAboutDisplays pop-ups with information on the game.
MMultiplayerRequires networking set up. For more information, refer to https://github.com/libsdl-org/Maelstrom/blob/main/README.network.txt.
CSettings
SGame Center
PPlayStarts the game.
QQuitExits the game.
Page updated: