Releases: afritz1/OpenTESArena
OpenTESArena 0.15.0
This release overhauls the graphics code to more closely match the look of the original game. The renderer now also uses meshes, shaders, and draw calls normally found in an OpenGL or Vulkan engine.
Overall FPS is below average due to draw calls not being batched yet and the rasterizer being relatively unoptimized (it was very challenging to reliably coax all compilers to output good assembly, so there is still room for improvement). One optimization of interest however is the addition of a voxel quadtree for efficiently testing visibility to the camera.
Release video is here.
New features and changes
- New 3D software renderer
- Closely matches original game's 256 color lighting (special thanks to @Carmina16)
- Improved Arena data files detection (now checks default C: Steam install on Windows)
- Added exclusive fullscreen option
- Added tall pixel correction option
- Initial work on player attributes (@gazorpo)
- Improved screenshot saving
- Minor change to player movement to match original game
- ARM64 macOS support
- Replaced debug collision option with ghost mode that allows flying
- Replaced DebugFast build config with ReleaseGenericNoLTO
- Removed time scale option
Fixes
- Fixed fog color in Elden Grove and Murkwood
- Fixed Ria Silmane voice not continuing in CD version
- Fixed floor replacement texture when deleting voxels
- Upgraded to SDL 2.0.10 to fix periodic lag caused by SDL_PollEvent()
Known issues
- Collision detection is barebones and will be improved in a later release
- Puddles are unusually expensive to render due to naïve draw call synchronization
- Puddles might not reflect entities in an adjacent chunk
- Exterior textures and sky don't update to match weather after entering and exiting an interior
- Screen-space fog is not finished and appears as a low-res cube around the player
- Some building names and interiors don't match original game
For details on how to get OpenTESArena running, follow these instructions. To see what's next, check out the roadmap.
OpenTESArena 0.14.0
The highlight of this release is weather effects. It also redesigns the internal implementation of the UI and input systems, which are big steps towards supporting alternative user interfaces and key rebinding.
Check out the release video to see it in action!
New features and changes
- Weather effects (rain, snow, thunderstorms)
- Screen-space fog is unfinished and should be in a future release.
- UI system redesign (model-view-controller pattern, text rendering redesign, texture allocation redesign)
- Input system redesign (generic input action listeners; easier to add key bindings and more input methods later)
- Updated in-game debug profiler
- DPI-awareness on Windows (allows for native window resolutions on high-DPI monitors)
- CMake build configuration improvements (replaced Debug/Release/RelWithDebInfo/MinSizeRel with Debug/DebugFast/ReleaseGeneric/ReleaseNative)
- Updated OpenAL Soft version to 1.19.1
- Updated SDL version to 2.0.9
- Updated WildMIDI version to 0.4.4
- Fixed "Some intro screens might be using an incorrect palette"
- Fixed "The game will crash during the Ria Silmane cinematic in the CD version if it reaches the end without being skipped (related to chunk system)"
- Fixed "The automap colors voxels outside of city bounds that should not be considered part of the automap"
- Revised release build naming convention
Known issues
- Selecting voxels or objects across a chunk boundary may not always work as intended
- Some building names and interiors don't match original game
- The game world is empty for one frame after fast traveling, especially when arriving at a city with an arrival pop-up message
- Sometimes lights will not be counted as being visible to the camera (related to chunk system)
- The chasm wall texture of a deleted floor voxel might not match the original game
- Translucent entities exhibit vertical line artifacts (related to multi-threading)
- Tavern names in Imperial City don't match original game
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, follow these instructions.
And check out the roadmap to see what's planned for the next release!
OpenTESArena 0.13.0
This release focuses on improving how the game world is simulated in order to more closely match the original game. There is now a set of active chunks that are added and removed as the player moves around. Textures are now loaded into a renderer-independent format before being passed to engine systems that need them, and with the addition of texture asset references, textures are only loaded from the hard drive once they are needed (and are kept in memory afterwards). Future support for formats like PNG should also be easier to add now.
New features and changes in 0.13.0:
- Chunk system
- Interiors "go forever" with default empty chunk
- Cities "go forever" with floor wrapping
- The wilderness loads by chunk IDs and can "go forever" by falling back to a default chunk when outside of the original game's 64x64 chunk area
- Texture system redesign (renderer-independent TextureBuilderID, and TextureAssetReference for deferred loading)
- Support for Raspberry Pi 4 (no release build yet since performance is very poor)
- Fixed citizen animation RAM usage issue (no longer ~2.5 GB)
- Fixed software renderer deadlock (@Alucowie)
- Fixed streetlight activation updating (wilderness streetlights intentionally do not change activation state)
- Citizens now only idle if the player is not moving and their weapon is sheathed, to more closely match the original AI
- Revised sun and moon positions (not sure if they exactly match the original game yet, though)
Known issues:
- Some intro screens might be using an incorrect palette
- Wilderness building names don't match original game
- The game world is empty for one frame after fast travelling, especially when arriving at a city with an arrival pop-up message
- The game will crash during the Ria Silmane cinematic in the CD version if it reaches the end without being skipped (related to chunk system)
- Sometimes lights will not be counted as being visible to the camera (related to chunk system)
- The automap colors voxels outside of city bounds that should not be considered part of the automap
- The chasm wall texture of a deleted floor voxel might not match the original game
- Translucent entities exhibit vertical line artifacts (related to multi-threading)
- Tavern names in Imperial City don't match original game
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.12.0
New features and changes in 0.12.0:
- Wandering citizens in cities and wilderness. They idle if the player's weapon is sheathed
- Puddle reflections
- Voice in cinematics (only available in CD version)
- City entrance jingle
- Music library system supporting custom MIDI filenames in data/audio/MusicDefinitions.txt
- Entity animation system redesign
- Texture manager improvements and initial work on texture instance manager for runtime-generated textures
- Fonts use less memory and are less dependent on SDL2
- Added previously-unused OverSnow music to snow weather playlist
- Fixed final boss display name (was "TODO")
- Removed directional shading from sun to more closely match original game (planning on adding back later in a newer renderer)
Known issues:
- Citizen spawning introduced very high RAM usage (>2.5 GB) due to true color animations, even with animation sharing, preventing 32-bit builds from working as intended
- Some streetlights don't receive on/off signal
- Translucent entities exhibit vertical line artifacts (related to multi-threading)
- The renderer may deadlock and freeze the game. If so, reduce render thread count to very low
- Position of moons is not correct
- Tavern names in Imperial City are incorrect
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.11.0
New features and changes in version 0.11.0:
- Original entity loading (static NPCs, creatures, trees, furniture, palace rulers, etc.)
- Lights
- Water and lava rendering
- Translucent entity rendering
- Ray cast selection with pixel-perfect option (@faha223)
- 3D positional audio (@Plettro)
- Initial work on chunk system for game world
- Periodic creature sounds
- Fading voxels
- Streetlights turn on and off automatically
- Changed in-game day/night clock speed to match original game (R hotkey to fast-forward time)
- Initial work on texture filtering in pixel shaders (nearest/linear mode)
- Fixed incorrect cloud pixels (now using partial transparency)
- Fixed starting dungeon fast travel onVoxelEnter bug
Known issues:
- Some streetlights don't receive on/off signal
- Translucent entities exhibit vertical line artifacts (related to multi-threading)
- The renderer may deadlock and freeze the game. If so, reduce render thread count to very low
- Position of moons is not correct
- Tavern names in Imperial City are incorrect
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.10.0
New features and changes in version 0.10.0:
- Wilderness generation
- Wilderness automap
- City <-> wilderness transitions via city gate
- City placeholder in wilderness
- Player position in wilderness displayed with F2
- CD version support
- Initial work on inventory slots (@MinganMuon)
Notes:
- Original sprites are not being loaded yet
Known issues:
- Position of moons is not correct
- Tavern names in Imperial City are incorrect
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.9.0
New features and changes in version 0.9.0:
- Distant land, sky, and space rendering. Space rendering takes player latitude into account
- Sky gradient
- Palace entrances and gate graphics
- Improved multi-threading in renderer
- Improved thread sleeping on frames that took less than the target frame time
- Improved text wrapping and new line distribution
- Fixed morning star weapon negative height given to renderer
Notes:
- Wilderness is not implemented yet
- Original sprites are not being loaded yet
Known issues:
- Position of moons is not correct
- Tavern names in Imperial City are incorrect
- Diagonal walls have same collision as walls
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.8.0
New features and changes in version 0.8.0:
- Enter and exit buildings
- Interact with doors
- Building names in cities
- Original camera height and ceiling height
- Modern mode free-look now like later games in the series
- Occlusion buffer implementation (greatly reduces overdraw)
- Correct raised platforms for interiors
- Redesigned options menu
- Time scale option (simulate the speed of DOSBox at lower cycles)
- Trailing slash fix for ArenaPath
- Improved WildMIDI error reporting on init failure
Notes:
- Wilderness is not implemented yet
- Original sprites are not being loaded yet
Known issues:
- Tavern names in Imperial City are incorrect
- Some palace gate graphics are incorrect
- Diagonal walls have same collision as walls
- Deserts occasionally play snow music
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.7.0
New features in version 0.7.0:
- City generation
- Dungeon generation
- Wilderness generation (early stages)
- Fast traveling
- City arrival messages
- Main quest staff dungeon splashes
- Original climates for locations (temperate, mountain, desert)
- Interior level transitions (via level up/down voxels)
- Province map current location highlight
- Automap improvements (location name, level up/down colors, building entrance colors)
- Character generation progress (more pop-up messages)
- Preliminary tests for original save support (see
ArenaSavePath
in options) - Voxel improvements (hedge collision, hanging laundry, store signs)
- Case-sensitive filename improvements (i.e.,
Arrows.cif
for in-game arrow cursors on Unix-based systems) - Better exception handling and messages
- Executable data loading improvements (via
ExeData
class)
Notes:
- Clicking in the game world is not implemented yet
- Can't enter or exit buildings yet
- Doors don't work yet, and their collision has been disabled
- Original sprites are not being loaded yet
- Removed test city
Known issues:
- Some raised platforms have incorrect size or offset
- Some palace gate graphics are incorrect
- Diagonal walls have same collision as walls
- Deserts occasionally play snow music
For details on how to get OpenTESArena running, see the Installation section in the Readme.
OpenTESArena 0.6.0
New features in version 0.6.0:
- Several locations are now available for testing from the main menu
- Currently just voxel data. Entities and objects are planned for a future release.
- Sound and text triggers (drums, drips, etc., and lore text)
- Night light textures on buildings
- More voxel types supported by renderer (diagonals, chasms, edges)
- Performance improvements for UI and software rendering
- More options in options menu (collision, skip intro, fullscreen)
Notes:
- Level transitions are not implemented yet, so you can only explore the first level of interiors
- Doors don't work yet, and their collision has been disabled
Known issues:
- Some raised platforms have incorrect size or height
- The Imperial City palace graphic is incorrect
Update (12/29/2017): Added fix to Win64 build for alcOpenDevice() errors. It will attempt to continue running even if audio initialization fails.
Update (1/21/2018): Added macOS build (without MIDI support, so no music yet).
For details on how to get OpenTESArena running, see the Installation section in the Readme.