-
Notifications
You must be signed in to change notification settings - Fork 86
Home
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 from either the floppy disk version (available on the official website here) or the CD version in order to play.
Early on, documentation about Arena's technical details was either hard to find or non-existent, but thanks to the efforts of several contributors, this wiki now contains a large collection of information regarding all aspects of the game, and continues to be revised from time to time.
The Arena manual is also an excellent resource for understanding the game's rules and design. However, not all of the stated values are accurately reproduced in-game. Therefore, the behavior of the original executable is preferred for tie-breaking and new quality-of-life changes are based off of it as well.
This is a rough list of features acting as the long-term roadmap. Features may be added, removed, or iterated on as time goes by, so they might come and go from here depending on how the project is progressing. Of course the higher priority items like the renderer, data formats, level data, etc. are to be done first, and the more gameplay-focused items like NPC interaction and spells are to be done afterwards.
- Walls
- Floors and ceilings
- Raised platforms
- Diagonal walls
- Edges
- Chasms
- Doors (swinging, raising, sliding)
- Transparent walls
- Fading walls
- Sprites
- Transparent sprites
- Lights
- Night light textures
- Distant sky (mountains, sun, clouds, stars)
- Water and lava
- Y-shearing
- Back-to-front transparent voxel rendering
- Loop unrolling
- Nearest-neighbor mipmapping
- Occlusion buffer
- Projected vertex reuse
- SSE2
- Struct of arrays format
- Wall texture rotation
- CEL (character question sky animations)
- CFA (entity and spell animations)
- CIF (various textures)
- COL (palettes)
- DAT (font files)
- DFA (static entity animations)
- EXE unpacking
- FLC (cinematics)
- IMG (various textures)
- INF (map info)
- MIF (map data)
- RCI (water/lava)
- RMD (wilderness map data)
- SET (wall textures)
- VOC (sound)
- XMI/XFM (music)
- Voxel data
- Sprite data
- Sound/text triggers
- Miscellaneous (locked doors, spawn locations, loot locations, ...)
- Main quest locations
- Interior locations
- Interior <-> interior transitions
- Interior <-> exterior transitions
- Exterior <-> wilderness transitions
- Premade cities
- City generation
- Dungeon generation
- Wilderness generation
- City building names
- Wilderness building names
- Automap
- Automap notes
- Character creation
- Character classes
- Character stats/traits/specials
- Cinematics
- Cinematic voice (CD version only)
- Clicking in game world
- Collision detection
- Jumping
- Swimming
- Chasm climbing
- Inventory
- Items (equipment, potions, quest items, ...)
- Journal
- Hostile NPCs
- Wandering NPCs
- Periodic creature sounds
- NPC name generation
- NPC conversations
- NPC services (bartender, blacksmith, priest, wizard)
- NPC color variation
- Crime (lockpicking, pickpocketing, guards)
- Melee weapon animations
- Ranged weapon animation
- Main quest
- Random quests
- Holidays
- Camping
- World map locations
- Province map searching
- Fast traveling
- City entrance jingle
- Spells
- Weather (rain, snow)
- Saving/loading
- Modern interface mode
- Options menu
- 3D sound
- Floppy version support
- CD version support
- Original save support
- Key bindings
- Localization