Open-source re-implementation of The Elder Scrolls: Arena.
The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:
This open-source project aims to be a modern engine re-implementation for "The Elder Scrolls: Arena" by Bethesda Softworks. It is written in C++17 and uses SDL2 for cross-platform video, WildMIDI for music, and OpenAL Soft for sound and mixing. There is currently support for Windows, Linux, and macOS.
No actual gameplay yet, but all cities, main quest dungeons, random dungeons, interior locations, and wilderness can be accessed from test options on the main menu.
Doors and transition blocks can be interacted with, and you can enter and exit buildings.
Fast traveling works and you can go to any city or main quest dungeon on the world map.
Collision detection is partially implemented (you can't jump or fall yet).
A few menus work, including some of character creation, and some of the game interface icons work, too. For example, left clicking the map icon goes to the automap, and right clicking it goes to the world map.
Here are some keys in the game world: - WASD - move and turn. Hold LCtrl to strafe with A and D. - Esc - pause menu - Tab - character sheet - F - draw/sheathe weapon - G - hold and click voxel to destroy - L - logbook - M - world map - N - automap - V - status - F2 - player position - F4 - debug profiler - PrintScreen - screenshot
The concept began after I saw the success of other open-source projects like OpenXcom and OpenMW. It really started out more as an experiment than a remake, but now the project is steadily inching closer to something akin to the original.
Note that there are two versions of Arena: the floppy disk version (which Bethesda released for free) and the CD version. The user must acquire their own copy of Arena because OpenTESArena is just an engine and does not contain any content.
OpenTESArena is licensed under the MIT license. See LICENSE.txt for details.
Check out CONTRIBUTING.md for more details on how to assist with development.
If you would like music played in-game, see Music setup below. The engine uses
MidiConfigfrom the options file to find where the game files and MIDI config are.
ArenaPathin the options file to the
If you receive an error about missing MSVCP141.dll, you will need to download and run the Visual C++ 2017 Redistributable installer from here for your desired target (vcredist.x64.exe for 64-bit, vcredist.x86.exe for 32-bit). Similarly, MSVCP140.dll for Visual C++ 2015 is available here.
If you see a warning about
alcOpenDevice()failing, or there is no sound, you will need to download the OpenAL 1.1 Windows Installer from here and run oalinst.exe.
Arena106.exeis a self-extracting RAR file. Use a tool such as The Unarchiver to extract it into a folder of data files.
.dmgand copy OpenTESArena to the
Applicationsfolder or another location
Contents/Resources/dataand copy in the files for Arena that you extracted earlier
Applicationsfolder or wherever you have the app installed and open OpenTESArena. If you have Gatekeeper turned on (the default for macOS), you will need to do the following:
Substitutewith the current version number (
0.#.0), and with the desired architecture (
bash sudo apt-get install wget unzip rar wget https://cdnstatic.bethsoft.com/elderscrolls.com/assets/files/tes/extras/Arena106Setup.zip wget https://github.com/afritz1/OpenTESArena/releases/download/opentesarena-/opentesarena--Linux.tar.gz tar xvzf opentesarena--Linux.tar.gz cd opentesarena-/data unzip ../../Arena106Setup.zip rar x Arena106.exe cd .. ./run.sh
options-default.txtcomes with releases and stores default settings.
options-changes.txtis generated in your user prefs folder and stores user-specific settings, and you can either create it yourself or let the program create it. For now, you can change things like
options-default.txt, but in the future, a wizard will take care of this instead. The prefs folders are: - Windows:
Arena uses MIDI files for music, so the user must have MIDI sound patches in order to have music play in-game.
If you would like to use a different sound patches library (like OPL3), simply edit
MidiConfigin the options file to point to another MIDI
buildfolder in the project's top-level directory.
build. In a Unix terminal, the command might look like:
bash cd build cmake .. make -j4
optionsfolders are in the same folder as the executable.
ArenaPathin the options file point to valid locations on your computer (i.e.,
If there is a bug or technical problem in the program, check out the issues tab!
The Unofficial Elder Scrolls Pages are a great resource for finding information all about Arena. There are various tools available such as WinArena and BSATool for browsing Arena's content, and there is a very detailed manual as well, so you'll probably want to take a look at a copy from here. I also recommend the Lazy Game Review on YouTube for a humorous overview of the game's history and gameplay.
YouTube channel: https://www.youtube.com/channel/UCJpmkgtHRIxR7aOpi909GKw