System Shock
開発チームは、ワットコムC/C++コンパイラ(英語版)を用いて本作のエンジンを32ビットコードで一から作り上げた。このエンジンは、テクスチャマップや、勾配のある完全な3DCGの世界を表現することができた。また、画面上に光を放つ物体があるときのように、部分的に光が当たっている状態も正しく表現することができた。 ゲームの重要なフィールドは、プログラマーであるジェームズ・フレミングが担当した。 デザイナーたちは、ゲームの世界を作り上げた上で、多様性を増長させるために、ゲームエンジンのレンダラー部から抜け道的な使用法を見つけ出しては、これを利用した。レンダラー部のコードを書いたチャーチですら、一見しただけではデザイナー陣が各機能をどうやって実現しているのか分からなかったとのちに振り返っている。しかし、高機能なエンジンの使用により、もともと良いとは言えなかったパフォーマンスは、こうした細部にわたる機能の駆使によりさらに悪化し、開発中、チームはゲームの最適化にずっと苦労することになった。 当初、開発チームはポリゴンを用いた3Dのキャラクターモデルを作りたいと思っていたが、スケジュールの都合上あきらめざるをえなかった。
仮想空間の中でプレイヤーはワイヤーフレームの3DCGで描かれた世界を飛んで行き、情報収集しながらコンピュータの中のセキュリティシステムと戦う。また、仮想空間上でなければ開かない扉など、仮想空間で起きた出来事がゲームの中の現実世界に影響を及ぼす場面も存在する。
プレイヤーは治療ツール、鉛パイプ、ダート銃、皮膚パッチといった様々な武器やアイテムを拾って使用することが可能である。このうち皮膚パッチは、けがの治療や攻撃力の強化に役立つ一方、疲れやすくなったり色覚に異常が出るなどといったデメリットも存在する。また、ポインター、バリア発生装置、ヘッドライトといったマシンなどもゲーム中で手に入れることが可能だが、これらの利用にはプレイヤーの体力が必要となる。
本作では16種類の武器を手にすることができ、うち7つを同時に持ち運ぶことが可能である。発射物を変えることで効果が変わるものもあり、ダート銃の場合、針型爆弾と麻酔弾の2種類の弾が存在する。エネルギー銃は弾薬補充の必要がないが、プレイヤーの体力を消費する。また、ダート銃用針型爆弾以外にも、手榴弾や取り付け式時限爆弾、地雷といった爆発物も手に入る。
敵によってダメージ効果のある武器が異なり、例えば電磁パルスを用いた武器はロボットに有効であってもミュータントには効かない。