Skip to content

About

Native Android/ARM64 port of System Shock based on Shockolate, with reproducible builds, open engineering notes and Retroid Pocket 5 validation.

Topics

Resources

Contributing

Stars

26 stars

Watchers

0 watching

Forks

Repository files navigation

System Shock — Android

An unofficial Android/ARM64 port of System Shock, based on Shockolate. The Retroid Pocket 5 is the tested reference device.

Version 1.0.0 is available. Bring compatible game data from your own copy of System Shock. The APK does not include it.

Download the APK · Release notes · Project website

What does the port provide?

Handheld controls. Use the right stick to look around. Press View/Select to switch it to a fine cursor for the original mouse-driven interface.

Touch and text entry. Touch can also control the pointer. Android's on-screen keyboard handles text fields.

Original-style presentation. The game runs at 1024×768 in 4:3 without stretching. Version 1.0.0 keeps the original graphics, fonts, sound and gameplay content.

Game-data import. Select your compatible res folder on first launch. The importer copies the files into private app storage before starting the game.

Full controls · Preservation scope

Install and play

You need Android 13 or later, an ARM64 device and compatible game data. The controls are designed for a physical controller; touch is an optional pointer.

  1. Download and install the v1.0.0 APK linked above.
  2. Place your compatible System Shock res folder on the device.
  3. Open System Shock — Android and choose Select res folder.
  4. Select the folder containing both data and sound, then approve access.

The game starts when the import finishes. You do not need ADB or developer tools.

Keep the original game-data copy separately. Uninstalling the app may remove its private storage.

Installation guide · Compatible game data

Compatibility

The Retroid Pocket 5 has an accepted complete playthrough and first-run importer test. Other Android 13+ ARM64 devices still need their own compatibility reports.

Device compatibility · Report a test or problem

Learn from the work

The engineering notes cover controller input, text entry, audio timing and Android integration. They also retain rejected experiments and their outcomes.

Engineering knowledge · Architecture · Development history

Build it yourself

The Windows/PowerShell 7 guide lists the toolchain and pinned dependencies. Use the QA build for testing and your own signing key for independent release builds.

Build guide · Signing and release process · Release checks

Version and file identity

Stable v1.0.0 uses package io.github.raposomiguel50.systemshock, version code 10000 and the arm64-v8a architecture.

The historical pre-release uses com.rp5np.systemshock. It is a separate installation, with separate app storage and signing identity.

The official release includes the APK checksum, JSON manifest and final test report. Exact source and certificate identifiers are in Source and release integrity.

Credits and contributions

The port builds on Shockolate. Credits and technical sources identify the upstream projects and dependencies.

I set the goals, make project decisions and test the reference hardware. ChatGPT assists with programming, analysis, automation and documentation.

Development method · Contribute · External coverage · ModDB

The source-port code uses the repository's GPL-3.0-or-later licence. See third-party notices for dependency attribution.

About

Native Android/ARM64 port of System Shock based on Shockolate, with reproducible builds, open engineering notes and Retroid Pocket 5 validation.

Topics

Resources

Contributing

Stars

26 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages