Week 38/2012: Finishing touches
Last week we were putting some finishing touches on the upcoming stable 1.9.9.
When doing QA with the candidate builds, I noticed that multiplayer clients will get stuck in the Help/Info screen if it is opened from the main menu. The only way to dismiss the screen was to disconnect from the game. This is a bit too complex to fix properly for 1.9.9 (clients running InFine scripts "privately"), so for now I've just disabled the Help/Info screen for MP clients. (It is unlikely that the info screen is of any value in MP games.)
During the QA I also noticed that the "center window" option in the frontend was not functional. The command line options for controlling the window have changed somewhat since we switched to Qt, and the launcher's configuration had not been updated accordingly. It was trivial to fix this by updating the launcher's config files.
I fixed a couple of visual glitches related to the busy mode transition animation ("screen wipe") when starting a game or loading a map. If there was an InFine animation scripted to begin when entering a map, a HOM would be visible briefly while the menu transition animation plays. Another issue was that with some graphics cards (e.g., on my Mac), when starting a game from the main menu, the menu would flicker off for one frame and then reappear as the busy mode background while the map was being loaded.
DaniJ has been hard at work with optimizations and bug fixing. After we discovered the inefficiencies in the current implementation of the GridMap data structure, he set out to revise the code for faster performance. However, it turned out this is too big a task for 1.9.9: it involves a lot of code changes and including it in 1.9.9 would delay the release for several weeks as the code is finalized to stable release quality. Thus we are postponing this optimization to 1.9.10. However, we will be including several of DaniJ's map loading and BSP builder optimizations in 1.9.9. Load times should be significantly shorter for very large maps (we've been introducing these optimizations over several recent candidate builds).
The plan is to release the stable 1.9.9 this week, probably around Friday or Saturday. On my to-do list there's still one more Windows issue related to window positioning when switching between fullscreen and windowed mode that I will hopefully have time to fix during the week.
When doing QA with the candidate builds, I noticed that multiplayer clients will get stuck in the Help/Info screen if it is opened from the main menu. The only way to dismiss the screen was to disconnect from the game. This is a bit too complex to fix properly for 1.9.9 (clients running InFine scripts "privately"), so for now I've just disabled the Help/Info screen for MP clients. (It is unlikely that the info screen is of any value in MP games.)
During the QA I also noticed that the "center window" option in the frontend was not functional. The command line options for controlling the window have changed somewhat since we switched to Qt, and the launcher's configuration had not been updated accordingly. It was trivial to fix this by updating the launcher's config files.
I fixed a couple of visual glitches related to the busy mode transition animation ("screen wipe") when starting a game or loading a map. If there was an InFine animation scripted to begin when entering a map, a HOM would be visible briefly while the menu transition animation plays. Another issue was that with some graphics cards (e.g., on my Mac), when starting a game from the main menu, the menu would flicker off for one frame and then reappear as the busy mode background while the map was being loaded.
DaniJ has been hard at work with optimizations and bug fixing. After we discovered the inefficiencies in the current implementation of the GridMap data structure, he set out to revise the code for faster performance. However, it turned out this is too big a task for 1.9.9: it involves a lot of code changes and including it in 1.9.9 would delay the release for several weeks as the code is finalized to stable release quality. Thus we are postponing this optimization to 1.9.10. However, we will be including several of DaniJ's map loading and BSP builder optimizations in 1.9.9. Load times should be significantly shorter for very large maps (we've been introducing these optimizations over several recent candidate builds).
The plan is to release the stable 1.9.9 this week, probably around Friday or Saturday. On my to-do list there's still one more Windows issue related to window positioning when switching between fullscreen and windowed mode that I will hopefully have time to fix during the week.
Comments
I wonder if there will be any noticeable differences between recent builds and the stable release. Maybe some slight performance increases at the least. I wonder when graphical differences will start occuring, or maybe that requires people to make new packs and these engine upgrades are just to add support for certain graphical features that will be added if people make newer packs with these added graphics. Or will the release of these future builds actually improve graphics without new packs or addons, like lighting and stuff?
There was even an area in one of the maps I created that caused a big performance drop when you were waiting for a set of bars to lower to unblock the door. I don't get that performance drop anymore.
The recent builds of Doomsday run very smooth on my computer, which is pretty impressive considering my computer is almost 8 years old without any significant upgrades in years to it.
So kudos to the deng team.
Other than some minor issues at the moment, these recent builds are great.
If I were to speculate on the future, I would expect that the graphics quality without any addons will improve. At least that's one of my personal goals with the new renderer. However, when we start enhancing the rendering subsystem, it will undoubtedly open doors to much more sophisticated addons, too (e.g., through GL shaders).
The news release however is one of the few remaining parts of the process which must be done manually. Usually this follows on later, as you noted, to give us time to check everything went smoothly before we formally announce the release (the news is syndicated out through RSS, Twitter and Facebook so its got to be right first time).