Evochron Legacy SE Announcement...

Official SW3DG related announcements and news.
User avatar
Vice
Administrator
Administrator
Posts: 11557
Joined: Fri Apr 25, 2003 1:38 am

Evochron Legacy SE Announcement...

Post by Vice »

Image
I'm in the process of gauging the viability of potentially migrating Evochron Legacy over to a different development framework using a different rendering API (Vulkan and OpenGL) and a variety of other different systems. I've done this already with Arvoch Alliance and it's been a positive move overall for that game (if you'd like to check that out and test how it works on your system, a free demo is available here: https://www.starwraith.com/arvochalliance/downloads.htm ). But Evochron is a much larger game with far more complexities that inherently carry more challenges with making such a similar move.

It's my goal to have the long term benefits outweigh any short term issues. By switching development languages and rendering API's, it's my expectation and objective that the result will be even fewer operating problems through fewer dependencies (several of which are ungracefully aging) along with expanded long term compatibility. This has already proven to be the case with Arvoch Alliance SE, which should be a reliable indicator of what to expect with any SE version of Evochron Legacy using the same development systems. Rewriting the entire game and using a different rendering API, control system, sound system, etc, will inherently change the way things work. So after a lot of internal testing, I'd like to analyze what the scope and effects of those changes may be on a broader range of systems.

This isn't being done to radically change the game itself, but rather transition it over to a different development framework in an effort to provide additional longevity, reduce quirky/unreliable/inconsistent/aging dependencies, increase compatibility with newer technologies, expand audio capabilities (multi-instance and directional playback for example), and provide a few more visual effects at higher detail settings for higher performance systems. The results of broader public testing will help determine how viable this effort may be and help in the decision to move ahead with it or not.

The move could be scrapped entirely, made as an optional branch of the game installed and managed separately, or provided as a complete update to replace the existing version. Whatever the result though, the existing game can be left 'as-is' to run as it does now as finished an unchanged to retain its existing compatibility and behavior/performance. If testing goes well and an 'SE' version is rolled out as an update, I can continue to provide a separate installer for the original version of the game for those interested.

There could be some mysterious unknown unfixable quirk or incompatibility that could be a show-stopper for this effort. So before I flip the switch on this version as an update, I want to test it on a wider range of system configurations. The early builds have currently been tested on a few dozen different system configurations, but not nearly enough to cover the range needed to go ahead with an update. So for the next step, a test build is available to those interested (please send me a quick e-mail, starwraith.com > contact, for a link to the latest test build). Results will help make the decision on how viable this rebuild of the game may be.


Some important notes on differences and changes for installation and testing the Vulkan/OpenGL version:

A pending changelog is available here: https://www.starwraith.com/evochronlega ... vulkan.htm

Performance:
- Performance may be better with the original DirectX 9 version of the game for some players using certain detail settings and system configurations. The Vulkan version has some higher setting limits, new effects, more advanced lighting, and a few more details that it renders. So those new elements likely somewhat offset the leaner overhead of the original, but in exchange for some new capabilities. While the Vulkan version has been tuned and tweaked to try and optimize things as much as feasible, the DirectX version may still have an edge in terms of resulting performance on some (possibly older) system configurations with similar settings. However, some testers have reported framerates very close to or even significantly higher with the Vulkan version than the DirectX version. A lot will likely depend on system configuration and selected options/settings. Also, 'Shadow' and 'Effects Detail' settings generally have the most significant overall impact on framerate performance.

Screen Resolutions:
- A new flexible full window system was developed for the Vulkan version to provide variable resolution options under a more current approach. The Vulkan version employs a scalable resolution system that allows the user to select different resolutions within the full window rendering format to provide the same kind of flexible display options in older display modes found in the DirectX 9 version. Since certain resources are structured differently in these new modes, this also means the player can now change the screen resolution while the game is still running from the main menu without having to exit and restart it. The game will also default to the detected maximum native resolution available as before, so lower resolution modes are simply optional and not generally recommended unless you need to set up a lower resolution render target for some reason. The 'Optimized' mode will provide the full range of display options at the preferred native resolution of your monitor. Vertical sync and no vertical sync modes are also included.

Rendering API's:
- The game incorporates both OpenGL and Vulkan rendering paths. It will attempt to enable Vulkan by default, but will fall back to OpenGL if it is unable to activate the Vulkan mode for some reason. This way, the same set of GPU's should continue to be able to play the game as they could previously with the DirectX version. Internal tests have been performed going back to the GeForce 300 series from around 2009-2010. One requirement may be to make sure you are simply running a display driver newer than 2015 as problems may surface with older graphics drivers.

System Requirements:
- System requirements are close to the same, with a small increase in needed video memory (although still around the minimums of the DirectX version, some settings may need to be adjusted) and move to 64-bit. The increase in needed video memory is mostly due to changes in texture formatting for higher quality (eliminating the artifacts and pixelation of the originals) as well as more mesh and texture elements as a whole for new entities and effects that the new version renders. The video/GPU part of the system requirements equation is heavily dependent on selected 'Video/Effects' settings in the Options menu, which can be changed to lower the overall video memory needed. Also, while initial video memory consumed may be within certain limited confines of your system, enough needs to be kept in reserve to perform various loading and entity creation operations during gameplay. Listed support for Windows 7 will also likely be phased out since the OS no longer receives support-term updates from Microsoft and no longer has driver support from major GPU vendors as of later this year.

Key, Button, and Axis Controls:
- The test version will attempt to import and convert all key, button, and axis mappings when it is launched for the first time. It is important to make sure that the devices you last used with the DirectX version of the game are plugged in and active the first time you launch the test version to help make sure all key/button/axis mappings are imported and aligned with the configuration you've been using since they are updated for new indexes and save templates during the first launch. Due to differences and possible changes between devices, drivers, and control input systems, axis inputs may be different and may need remapping. If device ID's are misaligned or missing entirely during the update process, then remapping key/button/axis controls may also be required after updating.

Keyboard Entry System:
- The original scancode system has been retired in favor of a key identity type system. This should mean that alternate keyboard layouts should work with little/no modification to text file key values or other changes as was needed previously. Since changes may be necessary in the DirectX version that aren't required in the Vulkan version, this may also impact importing old scancode values when the game attempts to transfer key bindings from the DirectX version to the Vulkan version. If undesired key bindings are applied after that process, you can click on 'Reset Defaults' in the 'Key/Button Controls' menu to assign default key identity values, or you can remap them individually. Another difference to be aware of is how numpad keys work under the new control system. The Vulkan version of the game is Numlock aware, so NumLock must be on in order for certain numpad keys to provide separate input signals. If NumLock is off, then they will register arrow keys, Home, Page Up, Page Down, End, Insert, and Delete inputs rather than their numerical (scancode) signals. So with the Vulkan version, you can toggle those keys between the two separate modes with NumLock. A positive effect of this change will hopefully include better support of different (non-QWERTY) keyboard layouts and their displayed character values, but this hasn't been tested too extensively yet.

Customizing:
- Customizing options are significantly different in the Vulkan version. Some things are no longer available via image modification, some things have changed, new options available, and others now use different formatting, filenames, and/or folders. I plan on developing a dedicated customizing kit for the Vulkan version as time permits, if it's something that becomes official, and once things have settled more and aren't subject to so much potential change. Edit: The first edition of the planned customizing kit is now available for preview here: https://starwraith.com/evochronlegacy/customkitse/readme.htm

Multiplayer:
- The multiplayer systems are completely different between the two versions. So the two are -not- compatible with each other and have their own dependencies and conditions of operation. Players interested in joining together will need to use either the DirectX or the Vulkan version rather than trying to blend the two. Additionally, one of the reasons the new development platform was selected was to provide a new 'headless' server program option, which replaces the '2D' server program in the DirectX version. The 'GUI' version of the server program does also support both a GPU focused rendering mode for graphics and text as well as a text only mode. The multiplayer voice chat system is not available in the Vulkan version. It has gone largely unused in the DirectX version of the game anyway and is not available in the Vulkan version (no recording mechanisms). Most players seem to use TeamSpeak or Discord anyway, so this probably won't effect most if any, but it is something additionally to be aware of. Lastly, the ports used for multiplayer have also been changed to avoid conflicts between the two. The new ports are 29888 for TCP and 29889 for UDP. A public internet server may be available periodically during this testing process, but you are welcome to test on private servers and LAN as desired with family and friends as that's how most seem to prefer to play multiplayer in the game. The server programs are bundled with the game in the \Server folder.

Cockpit Displays:
- The Vulkan version has larger primary cockpit displays. While this was a somewhat impractical change with the original DirectX version, rewriting much of the codebase afforded the opportunity to change this element and also include new custom scaling options for them. There can now also be separate dedicated custom displays added to cockpits. Details on those custom options should be available later on in a customizing kit if this version of the game becomes official.

Importing Save Games:
Due to the changes in the save game formatting, profiles have to be converted, saved in a new location, then loaded under the new framework. Save games/profiles for the test build are kept and managed separately (in the \Documents\EvochronLegacySE folder), so any save games for the existing DirectX version are preserved in the original location (\Documents\EvochronLegacy). While there is no backward compatibility for save games from the new Vulkan version back to the DirectX version, the Vulkan version can import profiles from the DirectX version and will do so on the first launch of the test version. So a change to using the Vulkan test version should be considered permanent for save games/profiles with the new version (the original DirectX version and its save games will still continue to function as normal, the Vulkan version simply runs separately). You can uninstall the test version and continue where you left off in the original DirectX version of the game.

The Vulkan test version of the game utilizes a new save game template format designed to better accommodate the new development system. The 'SE' version includes an automated conversion and importing system that will look for pilot profiles in the original format and then transfer them to the new folder location as well as update them for the new save template. When you launch the Vulkan version of the game for the first time, it will automatically look for pilot profiles in the original save data folder location (\Documents\EvochronLegacy). If that folder doesn't exist (moved or deleted), the game will also check for the Steam cloud save folder for profiles (\Documents\sw3dg\EvochronLegacy). If the game finds any profiles, it will display a message about importing them and begin the process (a small progress indicator will also be displayed). It's important to allow that process to finish, even if it takes several minutes. The time it takes will vary depending on the performance of your system and how many pilot profiles it needs to convert. The updated pilot profiles will be saved in the new folder location (\Documents\EvochronLegacySE). The game will also copy over any engineering templates, flight logs, map logs, and ship templates it finds. Once finished, you should be able to access your original pilot profile(s) in the Vulkan version of the game. The original files will remain in their original location, so you can go back to the DirectX version of the game any time. Again, updated profiles are not backwards compatible with the original format, so be sure to back up any compatible versions you want to keep to use with whichever version of the game you want to play. Updated pilot profiles will contain 'se' characters after their index numbers in their filenames.

Experimental Status:
- At this stage, the Vulkan version should be considered experimental. Only the DirectX version of the game will remain the official and finished version of the game for the time being. The Vulkan version is simply offered as an option to those who already own the DirectX version of the game and want to try this branch to help with compatibility/performance testing and reporting. It's future (or lack thereof) will depend on feedback and test results.

______________________________________________________

Please send your test results, bugs reports, and/or feedback directly to me directly via e-mail ( starwraith.com > contact ) as that is linked to my checklist system I use to prepare for each work day. It helps me more easily manage pending code changes, sort test results, collect error logs/msinfo reports/screenshots, and contact info I can follow up with users directly for potential test builds to check personalized fixes and collect data on changes made for performance and compatibility.

I also need to know what works in addition to what may not. So please also include confirmations if the game is running well on your system as well as what may not be. Basic details on your system's OS, CPU, GPU, audio device, memory capacity, flight control device(s), and monitor/resolution will also be helpful.
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations
User avatar
Vice
Administrator
Administrator
Posts: 11557
Joined: Fri Apr 25, 2003 1:38 am

Re: Evochron Legacy SE Testing...

Post by Vice »

Thank you to those who've helped test and provide feedback. Results have been positive overall, so I plan on rolling out the SE version as an update soon.

Here are a few additional considerations prior to the roll out of the update:

- Before launching the update, make sure to plug in the same control device(s) you previously used with the original version of the game so that the new version can import your control mappings to the new formats on its first start. If things have changed on your system or the process doesn't work as expected, you can use the 'Restore Defaults' option in the key/button configuration menu and remap as may be needed. Axis remapping will just involve first selecting a connected device first from the drop down menu at the top (if more than one), clicking on an axis channel indicator, then selecting the control.

- Since the game is moving to 64-bit with the update, 32-bit will eventually be phased out. I plan to continue to offer the installer for the 'classic' 32-bit version of the game through evochron.com for those interested. I also plan to temporarily offer x86/32-bit files for the Vulkan update that will allow those still running a 32-bit version of Windows to play the game. For the direct download version, these files will be available either by a link on the game's website and/or upon request. Due to limitations in memory addressing, the 32-bit version may not be as reliable with high detail settings and/or customizations that use a lot of memory.

- Some laptops may not properly detect a higher performance dedicated GPU vs an integrated device with Vulkan. As a result, only the integrated device may be initialized for the game which may not have sufficient resources or hardware feature sets to run the game and 'vk' error messages may appear and/or CTD's. If you suspect this is the case with your laptop, you can manually activate the dedicated GPU for the game in Windows 10 by typing 'graphics settings' in the search box, launching the app by the same name, then browse for the game's executable and select it, then click on 'Options', then select the high performance graphics device you want to use with the game. With other configurations, it may involve setting a 'performance' mode in the display device's control panel or optionally enabling the dedicated graphics component in BIOS.

- Only one tester so far over the last 8 months has been unable to launch the 'SE' version of the game. This was due to a 2006 era GPU that does not support the hardware feature set needed for the game. Attempting to target a much older version of OpenGL still wouldn't allow the game to work on the device. This helped confirm that the minimum display device needed for the game will generally be anything made from about 2009/2010 on up running a driver from 2015 or newer that meets the other minimum system requirements (video memory and OpenGL/Vulkan support). The latest driver available for your display device is recommended anyway, but for those running much older systems, current drivers may not be available. So as long as a driver from around 2015 or newer is available for the display device you are using, the game should be able to work.

- If for some reason, there is a major unforeseen problem preventing the game from working properly on a wide enough range of systems that meet the minimum requirements, I'll be keeping the original game files on standby for a rollback. Then if the problem can't be fixed, the original version of the game can continue to be the only official version available.

- If you are using any customizing files, the folders containing those files will need to be moved to the new '\media' folder within the game's install folder. Most options are still available, some with significant changes, and there are some new options as well. The new customizing kit with details is available here: https://www.starwraith.com/evochronlegacy/customkitse/readme.htm
StarWraith 3D Games
www.starwraith.com | www.spacecombat.org
3D Space Flight and Combat Simulations