Resource icon

Enigma 1.15

Overview
=====
This is my Switch port of Enigma, a skill/puzzle game inspired by Oxyd on the Atari ST and Rock'n'Roll on the Amiga.

enigma_vita_4.jpg


More Screenshots:
enigma_vita_1b.jpg enigma_vita_2.jpg Enigma_Vita_3.jpg Enigma_meditation.jpg

The object of the game is to uncover pairs of identically colored Oxyd stones. Simple? Yes. Easy? Certainly not! Hidden traps, vast mazes, laser beams, and, most of all, countless hairy puzzles usually block your direct way to the Oxyd stones … If you are new to Enigma, you may want to take a look at a few [screenshots](http://www.nongnu.org/enigma/screenshots.html) or peek at the [user manual](http://www.nongnu.org/enigma/manual_1.20/manual/enigma.html).

Homepage
======
Detailed information about the game can be found here:
http://www.nongnu.org/enigma/index.html

Thanks
======
Thanks to my supporters on Patreon: Andyways, CountDuckula, Greg Gibson, Jesse Harlin, Özgür Karter, Matthew Machnee, and RadicalR.

Thanks to @usineur for his libkbd-vita code for easy use of touch keyboard text entry.

Thanks to the developers of VitaSDK and other developers on the Vita for making this possible, in no particular order: @devnoname120, @TheOfficialFlow, @yifanlu, @Rinnegatamante, @cpasjuste, @xyzz, @xerpi, and many others.

Thanks to the many developers of the original game, such as the main developers Thomas Bernhardt, Raoul Bourquin, Siegfried Fennig, Martin Hawlisch, Daniel Heck, Ronald Lamprecht, Andreas Lochmann, Petr Machata, Nobby, Nat Pryce, Jacob Scott, Sven Siggelkow, Ralf Westram, and many many others.

The full credits are at http://www.nongnu.org/enigma/credits.html .

Special thanks to Meinolf Schneider / Amekudzi for the original Oxyd games on Atari ST and PC which inspired Enigma.

Installation Instructions
=====
Vita:
- Install the .vpk
- Extract the contents of data.zip into ux0:data/

NOTE: I recommend using FTP transfer to copy the files over (~10,000 small files in data.zip). There is one report (thanks @ji11x38) that using the Vitashell "SELECT Button: USB" option to copy files directly from a MacOS computer to the Vita via USB caused the files to not transfer correctly, causing Enigma to crash on startup.

Switch:
- Extract the contents of Enigma_Switch.zip into the `switch` folder on your SD card, so that you have a folder `switch/enigma` with `enigma.nro` and more folders and files inside.

Vita/Switch-exclusive features
=====
- game controller support: analog joystick mouse controls and button mappings
- front and rear touch controls with left/right mouse click gestures
- complete level packages with >3,000 levels and pre-calculated preview screenshots
- Bluetooth/USB keyboard and mouse support. The Vita supports only a limited number of BT devices, tested working with Jelly Bean BT keyboard and mouse combo ASIN:B06Y56BBYP and with the standalone Jelly Comb Bluetooth Wireless Mouse ASIN:B075HBDWCF. The Switch supports only a limited number of USB mice. Tested working with Logitech M187.

Controls (controls updated with version 1.08)
=====
Left analog stick = analog control of the marble and mouse pointer
Square / Y / L-trigger = select menu items, use object in game (left mouse button)
Triangle / X / R-trigger = cycle through inventory items (right mouse button)
Cross / A = ok in menu (return)
Circle / B = back / in-game menu (escape key)
Start / Plus = help screen (F1)
Select / Minus = destroy marble and remove one life (F3)
R-trigger + Select / R-trigger + Minus = restart level (shift-F3)

Dpad in menu = quick-select menu items (arrow keys)
Dpad left/right in game = quick-change mouse speed
Dpad up/down in game = cycle through previous messages

Front touch = analog control of the marble and mouse pointer
Rear touch = analog control of the marble and mouse pointer (Vita only)
Single finger tap = select menu items, use object in game (left mouse button)
Dual finger tap = cycle through inventory items (right mouse button)

Dual finger tap works by holding one finger down and quickly tapping with a second finger somewhere else.

Mouse sensitivity can be adjusted in options or in-game via dpad left/right. The setting affects analog joystick, touch, and real bluetooth/USB mice.

Build Instructions
=====
Vita:
On Vita, Enigma needs xerces-c and inet. To prepare compilation:

- with a text-editor, load the file $VITASDK/arm-vita-eabi/include/netinet/in.h. Inside the file, replace "struct" with "inline struct" on line 45 and 49.
- download or clone my xerces-c repo from [here](https://www.github.com/rsn8887/xerces-c) into a folder called xerces, then:

Code:
mkdir build
cd build
cmake -DCMAKE_TOOLCHAIN_FILE=$VITASDK/share/vita.toolchain.cmake -Dmutex-manager=nothreads -Dnetwork=OFF -DCMAKE_BUILD_TYPE=Release -Dsse2=OFF -Dthreads=OFF -DBUILD_SHARED_LIBS=OFF ../xerces/

make -j10
make install -j10

You should now have the file
Code:
$VITASDK/arm-vita-eabi/lib/libxerces-c.a
and a whole bunch of header files in
Code:
$VITASDK/arm-vita-eabi/include/xercesc/

- Clone the Enigma repo into a folder called Enigma and compile:

Code:
mkdir build
cd build
cmake ../Enigma/ -DBUILD_PSP2=ON -DCMAKE_BUILD_TYPE=Release
make enigma.vpk -j10


Switch:
On Switch, Enigma needs ssl and xerces-c. To prepare compilation:

- download or clone the moonlight-switch repo which contains libopenssl [here](https://www.github.com/kbhomes/moonlight-switch), then:

Code:
cd moonlight-switch/dependencies/switch-openssl
export MOONLIGHT_DEPDIR=$DEVKITPRO/portlibs/switch
dkp-makepkg
sudo -E dkp-pacman -U switch-openssl-1.0.2o-1-any.pkg.tar.xz


- download or clone my xerces-c Switch branch from [here](https://www.github.com/rsn8887/xerces-c-1) into a folder called xerces (use `git checkout switch` to make sure you are on the switch branch), then:

Code:
cmake -DCMAKE_TOOLCHAIN_FILE=../xerces-c-1/switch.toolchain.cmake -Dtranscoder=iconv -Dmutex-manager=nothreads -Dnetwork=OFF -Dsse2=OFF -Dthreads=OFF -DBUILD_SHARED_LIBS=OFF -Dxmlch-type=uint16_t -DULONG_MAX=4294967295 ../xerces-c-1/
cmake -DCMAKE_TOOLCHAIN_FILE=../xerces-c-1/switch.toolchain.cmake -Dtranscoder=iconv -Dmutex-manager=nothreads -Dnetwork=OFF -Dsse2=OFF -Dthreads=OFF -DBUILD_SHARED_LIBS=OFF -Dxmlch-type=uint16_t -DULONG_MAX=4294967295 ../xerces-c-1/
cmake -DCMAKE_TOOLCHAIN_FILE=../xerces-c-1/switch.toolchain.cmake -Dtranscoder=iconv -Dmutex-manager=nothreads -Dnetwork=OFF -Dsse2=OFF -Dthreads=OFF -DBUILD_SHARED_LIBS=OFF -Dxmlch-type=uint16_t -DULONG_MAX=4294967295 ../xerces-c-1/

make -j10
sudo -E make install

- (I don't know why repeated cmake is neccessary, but it only works that way for me)
- Clone the Enigma repo into a folder called Enigma and compile:

Code:
mkdir build
cd build
cmake ../Enigma/ -DBUILD_NX=ON -DCMAKE_BUILD_TYPE=Release
make enigma_switch.zip -j10
Change log
Changelog
=====
1.15 (Switch only)

- Fix crash on Switch when loading levels with rubberbands that re-appeared using latest toolchain

1.14 (Switch only)

- Re-compile with 9.0.0 support

1.13 (Switch only)

- Fix crash on Switch when loading a level that contains rubberbands

1.12 (Switch only)

- Add Switch version

1.11

- Improve response to diagonal stick directions

1.10

- Improve response to slow finger motion

1.09

- Improve controls with bluetooth mouse by re-compiling with latest SDL-Vita

1.08

- Improve keymap, map left/right mouse buttons also to L/R for better playability.

1.07

- prevent accidental clicks when moving marble using touch

1.06

- map dpad as arrow keys to quick select menu items and quick-select mouse speed in game
- map L to 'F1' (help), X to 'Return' (ok), O to 'ESC' (back)
- update help texts to reflect Vita controller mappings

1.05

- enable touch keyboard in menu, useful for name entry and level search
- increase smoothness of mouse pointer motion in gui
- remove the missing translations

1.04

- fix missing soundsets in audio menu

1.03

- updated data.zip to include many more levels with corresponding thumbnail previews and many more sound sets.

1.02

- decrease default joystick sensitivity (marble moved too fast when controlled with joystick)

1.01

- map r-trigger to 'restart' and select button to 'kill marble'

1.00

- initial Vita port release based on latest Enigma development version
  • enigma_vita_1b.jpg
    enigma_vita_1b.jpg
    85 KB · Views: 329
  • enigma_vita_2.jpg
    enigma_vita_2.jpg
    116.5 KB · Views: 301
  • Enigma_Vita_3.jpg
    Enigma_Vita_3.jpg
    120.9 KB · Views: 313
  • enigma_vita_4.jpg
    enigma_vita_4.jpg
    138.5 KB · Views: 403
  • Enigma_meditation.jpg
    Enigma_meditation.jpg
    124.2 KB · Views: 292
Author
rsn8887
Downloads
609
Views
990
First release
Last update
Rating
5.00 star(s) 1 ratings

More resources from rsn8887

Latest updates

  1. Update to v1.15

    1.15 (Switch only) Fix crash on Switch when loading levels with rubberbands that re-appeared...
  2. Enigma Switch Update to v1.13, fixes a crash.

    Fixed crash on Switch when loading a level that contains rubberbands, such as Per.Oxyd level 1.
General chit-chat
Help Users
  • Psionic Roshambo @ Psionic Roshambo:
    Analog stick nipples
  • BigOnYa @ BigOnYa:
    Yea i have couple other sites I find Switch titles also and just looked, I don't see it out/leaked yet...(paper mario)
  • Quincy @ Quincy:
    Or even worse; circle pad ball fondlers like on the 3DS
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    I just want a Pokemon Hell Raiser fan game 😭
  • K3Nv2 @ K3Nv2:
    Anyone wanna play with my joydock
  • BigOnYa @ BigOnYa:
    Biomutant looks cool tho, may have to try that
  • Quincy @ Quincy:
    Usually when such a big title leaks the Temp will be the first to report about it (going off of historical reports here, Pokemon SV being the latest one I can recall seeing pop up here)
  • K3Nv2 @ K3Nv2:
    I still like how a freaking mp3 file hacks webos all that security defeated by text yet again
  • BigOnYa @ BigOnYa:
    They have simulators for everything nowdays, cray cray. How about a sim that shows you playing the Switch.
  • K3Nv2 @ K3Nv2:
    That's called yuzu
    +1
  • BigOnYa @ BigOnYa:
    I want a 120hz 4k tv but crazy how more expensive the 120hz over the 60hz are. Or even more crazy is the price of 8k's.
  • K3Nv2 @ K3Nv2:
    No real point since movies are 30fps
  • BigOnYa @ BigOnYa:
    Not a big movie buff, more of a gamer tbh. And Series X is 120hz 8k ready, but yea only 120hz 4k games out right now, but thinking of in the future.
  • K3Nv2 @ K3Nv2:
    Mostly why you never see TV manufacturers going post 60hz
  • BigOnYa @ BigOnYa:
    I only watch tv when i goto bed, it puts me to sleep, and I have a nas drive filled w my fav shows so i can watch them in order, commercial free. I usually watch Married w Children, or South Park
  • K3Nv2 @ K3Nv2:
    Stremio ruined my need for nas
  • BigOnYa @ BigOnYa:
    I stream from Nas to firestick, one on every tv, and use Kodi. I'm happy w it, plays everything. (I pirate/torrent shows/movies on pc, and put on nas)
  • K3Nv2 @ K3Nv2:
    Kodi repost are still pretty popular
  • BigOnYa @ BigOnYa:
    What the hell is Kodi reposts? what do you mean, or "Wut?" -xdqwerty
  • K3Nv2 @ K3Nv2:
    Google them basically web crawlers to movie sites
  • BigOnYa @ BigOnYa:
    oh you mean the 3rd party apps on Kodi, yea i know what you mean, yea there are still a few cool ones, in fact watched the new planet of the apes movie other night w wifey thru one, was good pic surprisingly, not a cam
  • BigOnYa @ BigOnYa:
    Damn, only $2.06 and free shipping. Gotta cost more for them to ship than $2.06
  • BigOnYa @ BigOnYa:
    I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all he watches anymore. He said he has got 3 letters from AT&T already about pirating, but he says f them, let them shut my internet off (He wants out of his AT&T contract anyways)
    BigOnYa @ BigOnYa: I got my Dad a firestick for Xmas and showed him those 3rd party sites on Kodi, he loves it, all...