Skip to content
PORTSNATIVE.
HomeCatalog
Web GamesEmulatorsToolsNews
PORTSNATIVE.

A catalog for discovering ports and related projects. We link to official sources and do not host original game files.

ExploreCatalogMy list
InformationAbout usSuggest a portSupportDonationsLegal notice
© 2026 PortsNative
Back to catalog
OpenTESArena
PORTSNATIVE

OpenTESArena

NATIVE PORTROLE-PLAYING / RPGWINDOWSLINUXMACOSBETA

OpenTESArena

The Elder Scrolls: Arena

OriginMS-DOS

TechnologyNative C/C++ port (engine reimplementation)

Available forWindows, Linux, macOS

View official project

About the project

The Elder Scrolls: Arena es un videojuego de rol desarrollado para PCs que aún lleven el sistema operativo MS-DOS, aunque se puede emular en sistemas más modernos como Microsoft Windows. Es la primera entrega de la serie The Elder Scrolls. El juego fue desarrollado por Bethesda Softworks, y fue lanzado en el año 1994 en Estados Unidos.

Official project information

Author's original READMEOpen on GitHub ↗

OpenTESArena

GitHub release Build Status MIT License Discord YouTube Channel Views

This is a modern open-source engine being written from scratch for the 1994 DOS game The Elder Scrolls: Arena by Bethesda Softworks. The goal is to replicate all aspects of the original game with a clean-room approach while making quality-of-life changes along the way. Details on Arena's inner-workings can be found in the wiki. No game assets are distributed.

<br/>

Preview <br/>

Current status

Enemies attack the player and give loot and experience when defeated. Items can be picked up, equipped, and dropped. Shopkeepers provide services like buying/selling items, renting tavern rooms, and curing diseases. Citizens wander around and can provide directions and talk about rumors. The player can fast travel to any world map location. Character creation is implemented except for class generation questions.

Plate item materials (Dwarven, etc.), potions/on-use items, quests, spells, and loading/saving are not yet implemented.

Controls

  • Move
    • Modern mode - W/A/S/D
    • Classic mode - W/S. Hold LCtrl for A/D
  • Turn
    • Modern mode - mouselook
    • Classic mode - A/D
  • Jump - spacebar
  • Activate
    • Modern mode - E
    • Classic mode - left mouse button
  • Draw weapon - F
  • Attack
    • Modern mode - right mouse button
    • Classic mode - hold right mouse button and move mouse in a direction
  • Inspect
    • Modern mode - left mouse button
    • Classic mode - right mouse button
  • Pause menu - Esc
  • Character sheet - Tab
  • Character status - V
  • World map - M
  • Local map - N
  • Thieving - P
  • Cast Spell (unfinished) - C
  • Camp - R
  • Logbook - L
  • Player position - F2
  • Debug display - F4
  • Screenshot - PrintScreen
  • (debug) Force open locked door / destroy voxel: hold G then Activate

Playing OpenTESArena

<details> <summary>Windows</summary>

Download The Elder Scrolls: Arena on Steam

  • Alternate downloads: GOG, Bethesda website

Download OpenTESArena

  1. Get latest Windows build
  2. Extract the .zip

Music (optional)

  1. Download eawpats
  2. Extract the .zip which creates an uncompressed eawpats folder
  3. Copy and paste the uncompressed eawpats folder into the OpenTESArena data folder
    • You're encouraged to find higher-quality sound patches / soundfonts (.sf2) to use with MidiConfig in options/options-default.txt

Run otesa.exe

Common issues

  • Sudden exit on startup / Missing MSVCP141.dll error
    • Download and run latest Visual C++ Redistributable with "X64" Architecture vc_redist.x64.exe
  • No sound, alcOpenDevice() warnings
    • Download OpenAL 1.1 Windows Installer (zip) and run oalinst.exe
</details> <details> <summary>Linux (Debian-based)</summary> <details> <summary>Steam install</summary>

Download The Elder Scrolls: Arena on Steam

Download OpenTESArena

  1. Get latest Linux build
  2. Extract the .tar.gz
</details> <details> <summary>Manual install</summary>

Download packages

sudo apt-get install wget unzip rar

Download The Elder Scrolls: Arena from Bethesda website

wget https://cdnstatic.bethsoft.com/elderscrolls.com/assets/files/tes/extras/Arena106Setup.zip

Download OpenTESArena

Replace <version> with the latest build number (#.##.#) and <arch> with an architecture (x86-64, rpi4) available on the Releases page.

wget https://github.com/afritz1/OpenTESArena/releases/download/opentesarena-<version>/opentesarena-<version>-linux_<arch>.tar.gz
tar xvzf opentesarena-<version>-linux_<arch>.tar.gz

Extract game assets

cd opentesarena-<version>-linux_<arch>/data
unzip ../../Arena106Setup.zip
rar x Arena106.exe
</details>

Music (optional)

  1. Download eawpats
  2. Extract the .tar.gz which creates an uncompressed eawpats folder
  3. Copy and paste the uncompressed eawpats folder into the OpenTESArena data folder
    • You're encouraged to find higher-quality sound patches / soundfonts (.sf2) to use with MidiConfig in options/options-default.txt

Run OpenTESArena

cd ..
./run.sh

Common issues

  • Vulkan renderer crash on startup
    • You might be missing Vulkan drivers: sudo apt-get install mesa-vulkan-drivers
</details> <details> <summary>macOS</summary> <details> <summary>Steam install</summary>

Download The Elder Scrolls: Arena on Steam

Install OpenTESArena

  1. Get latest macOS build
  2. Open the .dmg and copy otesa.app to the Applications folder or another location you prefer
</details> <details> <summary>Manual install</summary>

Download The Elder Scrolls: Arena

  1. Get the full game from the Bethesda website
  2. Extract Arena106Setup.zip
  3. Arena106.exe is a self-extracting RAR file. Use a tool such as The Unarchiver to extract it into a folder of data files

Install OpenTESArena

  1. Get latest macOS build
  2. Open the .dmg and copy otesa.app to the Applications folder or another location you prefer
  3. Right-click on the .app and choose "Show Package Contents"
  4. Navigate to Contents/Resources/data and copy in the files for Arena that you extracted earlier
</details>

Music (optional)

  1. Download eawpats
  2. Extract the .tar.gz which creates an uncompressed eawpats folder
  3. Copy and paste the uncompressed eawpats folder into the Contents/Resources/data folder in otesa.app
    • You're encouraged to find higher-quality sound patches / soundfonts (.sf2) to use with MidiConfig in options/options-default.txt

Run OpenTESArena

  1. Return to the Applications folder or wherever you have the app installed and open otesa.app. If you have Gatekeeper turned on (the default for macOS), you will need to do the following:
    1. Right-click on the app and choose "Open"
    2. In the warning that appears saying that it is from an unidentified developer, choose "Open"
    3. The app will start. In the future, you can just double-click on the app without having to go through these steps
</details>

For the best experience

  1. Navigate to options menu in pause menu
  2. On Graphics tab:
    • Set Graphics API to Vulkan
    • Set FPS Limit to your monitor's refresh rate
  3. Restart game

Options files

options-changes.txt is created in your user prefs folder the first time OpenTESArena runs and stores values that differ from the ones in options-default.txt.

  • Windows: <username>/AppData/Roaming/OpenTESArena/options/
  • Linux: ~/.config/OpenTESArena/options/
  • macOS: ~/Library/Preferences/OpenTESArena/options/

Building OpenTESArena from source

Install third-party tools and libraries

  • Git
  • CMake
  • SDL 2.0.12
  • OpenAL Soft 1.19.1
  • Vulkan 1.3.280
  • WildMIDI 0.5.0 (required for music)
<details> <summary>Linux (Debian-based)</summary>
sudo apt-get install git g++ cmake libsdl2-dev libopenal-dev libvulkan-dev libwildmidi-dev
</details> <details> <summary>macOS</summary>

MoltenVK

The Vulkan SDK from the LunarG website provides MoltenVK which is necessary for running Vulkan on macOS. Make sure to select System Global Installation in the SDK installer. If you try running without MoltenVK, you may get a VK_KHR_surface error on startup.

</details>

Download source code

git clone https://github.com/afritz1/OpenTESArena
cd OpenTESArena

Build OpenTESArena

  • Navigate to the root of the repository
  • Use CMake to generate your project file. In a Unix terminal, the commands might look like:
    mkdir build
    cd build
    cmake -DCMAKE_BUILD_TYPE=? ..
    make -j8
    
    where CMAKE_BUILD_TYPE is one of:
    • Debug
    • ReleaseGenericNoLTO - typical development/testing
    • ReleaseGeneric - release build for general audience, uses your CPU architecture (x86-64, ARM64)
    • ReleaseNativeNoLTO - ReleaseGenericNoLTO with better CPU instructions
    • ReleaseNative - max performance compatible only with your exact CPU (equivalent to -march=native)
  • Warning: Jolt Physics enables CPU features which may cause illegal instruction errors. You can set these OFF in CMake (more information)
    -DUSE_SSE4_1=OFF -DUSE_SSE4_2=OFF -DUSE_AVX=OFF -DUSE_AVX2=OFF -DUSE_AVX512=OFF -DUSE_LZCNT=OFF -DUSE_TZCNT=OFF -DUSE_F16C=OFF -DUSE_FMADD=OFF
    
  • If your CPU supports AVX-512, you may provide -DUSE_AVX512=ON to CMake for improved performance

Run OpenTESArena

  • Navigate to the directory where the executable was built. When using an IDE like Visual Studio, this is a folder in your build directory named after your CMAKE_BUILD_TYPE
  • Make sure that MidiConfig and ArenaPaths in options/options-default.txt point to valid locations on your computer (i.e., data/eawpats/timidity.cfg and data/ARENA respectively)
  • Run the otesa binary
    • On Windows you may need to copy the .dlls that came with SDL2, OpenAL Soft, and WildMIDI to this directory. OpenAL Soft's soft_oal.dll must be renamed to OpenAL32.dll. A post-build command will fix this eventually

Other options:

  • Automated install & build using Visual Studio/CMake/Git/vcpkg (Windows)
  • Building with Visual Studio (Windows)
  • Building with MSYS2 (Windows)

Contributing

Check out CONTRIBUTING.md for details on how to assist with development.

Resources

  • Unofficial Elder Scrolls Pages - a great resource for information about Arena
  • Various tools like WinArena and BSATool for browsing Arena's assets
  • The Elder Scrolls: Arena manual
Read official guide
CALIFICACIÓN
—
Loading votes…
Advertisement

PROJECT FILE

Project type
NATIVE PORT
Genre
Role-Playing / RPG
Status
beta
Original platform
MS-DOS
Technology
Native C/C++ port (engine reimplementation)
Version
—
Updated
Aug 13, 2026

Target platforms 3

Windows
Linux
macOS
View on GitHub
Advertisement