Thanks to visit codestin.com
Credit goes to github.com

Skip to content
Aaron edited this page Oct 1, 2025 · 66 revisions

Project Background

OpenTESArena is an open-source engine re-implementation for "The Elder Scrolls: Arena" by Bethesda Softworks, being developed from scratch in modern C++. It requires a copy of the original game data available for free on Steam, GOG, or the Bethesda website in order to play.

When work started in 2016, technical documentation about Arena was very hard to find, but thanks to the efforts of several contributors, this wiki now contains a valuable library of information regarding all aspects of the game, and continues to be revised from time to time.

Arena's manual is an excellent resource for understanding the game's rules and design. However, not all stated values are accurately reproduced in-game, and as such, the behavior of the executable is preferred for decision-making, and new quality-of-life changes are based off that as well.

This project is motivated by a desire to do good engine programming, avoid ancient APIs like OpenGL, and pursue unusual features like software rendering and ray tracing. The end goal is a complete experience for Arena that runs well on modern PCs.

Progress

Last updated Sep 30 2025

  • File formats: 95%
  • World generation: 100%
  • Collision detection: 80%
  • Combat: 25%
  • Items: 20%
  • Spells: 0%
  • NPC interaction: 25%
  • Quests: 0%
  • Cinematics: 10%
  • Weather effects: 100%
  • Save/load: 0%

Roadmap

Features may come and go from here or be moved around depending on how the project is progressing. This list is not exhaustive.

0.18.0: Combat calculation, loot tables, and NPC services

  • Combat stats, dice rolls, armor, modifiers
  • Enemy AI, approach player and attack
  • Experience from killing enemies
  • Level up and assign bonus points
  • Equip weapons and armor on character
  • Item condition
  • Inventory over-encumbrance and item dropping
  • Player movement speed determined by attribute
  • Loot tables with original items (no magic items yet)
  • NPC merchant services and item tables (no spell making yet)
  • Citizen conversation support (personality, ask directions, rumors, memory of player)
  • Lockpicking containers and building entrances

0.19.0: Crime, random enemy generation, and game saving

  • Guards spawn after committing a crime
  • Random enemy spawning
  • Camping
  • No wandering NPCs at night
  • Pickpocketing
  • Character class generation questions
  • Vehicle support (rowboats)
  • Loading/saving (including classic save support)
  • Automap notes and fog of war

0.20.0: Spells and enchantments

  • Spells
  • Item enchantments
  • Character class traits/specials
  • Diseases
  • Intoxication

0.21.0: Quests and NPC service discounts

  • Quests
  • Main quest cinematics
  • Artifacts
  • Holidays
  • Store entrance messages
  • Logbook
  • Citizens can tell player about work

TBD/Wishlist

  • Automap zoom-in/out
  • Gamepad support
  • Key rebinding
  • Launcher application/better means of setting ArenaPaths in options (imgui?)
  • Localization
  • Occlusion culling to reduce draw calls (evolution of visibility quadtree)
  • Save game versioning support
  • Replace UI panels with more data-driven UI scene manager
  • UI scaling

Project History

Pre-0.12.0

  • Support for all of the original game's major data formats
  • City generation
  • Wild generation
  • Main quest dungeons

0.12.0 - Oct. 10, 2020

  • Initial citizen spawning and color variation support
  • Puddle reflections
  • Voiced cinematic support (CD version only)
  • Music library system (user-defined MIDI filenames in text file)
  • City entrance jingle

0.13.0 - Mar. 28, 2021

  • Chunk system to replace fixed-size game world (#181)
  • Texture system redesign to decouple SDL2 from texture management and allow future support for other image formats (PNG, etc.) (#192)

0.14.0: Weather - Nov. 29, 2021

  • Weather effects (rain, snow, thunderstorms), no screen-space fog
  • Input system redesign (input listener registration, input action definitions, easier to add key rebinding later on) (#219)
  • UI system redesign (add UI texture handle allocation, UI building blocks like image texture functions, vector space geometry, anchoring, draw calls) (#209, #216, #220)

0.15.0: Vanilla+ renderer - Aug. 5, 2024

  • Classic 8-bit software renderer with modern enhancements (true 3D, custom scene graph, any screen resolutions, multi-threaded)

0.16.0: Minimum-playable starting dungeon - May 21, 2025

  • Baseline combat functionality (basic stats, enemy death animations, no AI)
  • Collision detection, jumping, swimming, climbing
  • Baseline inventory functionality (open loot containers, pick up items)
  • Door keys implementation (pick up key and open associated locked door)
  • Movement sounds
  • Citizen name generation

0.17.0: GPU renderer and geometry optimization - Sep. 30, 2025

  • Vulkan renderer
  • Mesh combining
  • Tiled forward lighting to remove lights-per-mesh limit
  • Classic heavy fog
  • Puddle reflection performance fix

Clone this wiki locally