Hello Racers,
We have decided not to do a graphics progress report this month.
On Eric's side, things are going well as you have seen in the progress reports. But it does take a while because of the level of detail. There are still two tracks to update after he finishes the one he is currently on. We plan to show you some more pictures in December.
On my side I was working on sharing the lighting between tracks, but recently got diverted onto improving the sharpness of the text for the interface which then led to sharper dashboards and number plates. I was aware that it wasn't really necessary for the release, but I got an idea for a slight improvement that would take "a couple of days" and ended up doing a few weeks' work because of the improvements it led to.
Some people might be interested to know how one thing leads to another and can cause apparent delays in development. Warning: Technical details in the following paragraph! Feel free to skip to the before and after screenshots!
In fact this started from an improvement in the editor. Recently I had removed the software-based render for ambient lighting so now the images for the ambient lighting are rendered on the graphics card. After that update, which was important to help improve the graphics, there were just a few software-based drawing functions remaining. They include the editor text and guide lines, which were drawn by locking the back buffer and setting pixels directly. I converted these functions to use the graphics card's version of line drawing and the texture-based text as used in game. This finally allowed anti-aliasing to be used in the track editor which is helpful for Eric. But it did require some improvements in the accuracy of the in-game text. I decided to go through the font characters, thinning them a little, which took a couple of days once I had been through all the Latin, Greek and Cyrillic characters. Then I realised some of the character drawing wasn't really under control and I went through making sure it all made sense and upgraded the resolution a bit. This included visiting all places in the code where text was drawn, including the dashboards, so I doubled their resolution while I was at it. Also I noticed the number plates were looking quite bad so their resolution has been doubled as well along with more accurate text positioning. One more thing I implemented was "kerning" which is when you move some characters closer together for visual reasons. For example a classic case is A followed by V. The gap looks too big unless the characters are moved together. I had added a small tail onto the small L and this was causing a particularly bad gap between the l and t in "multiplayer" so I finally succumbed to the temptation of implementing kerning which I had wanted to do for years.
Here are some comparison shots to demonstrate some of the improvements.
We have decided not to do a graphics progress report this month.
On Eric's side, things are going well as you have seen in the progress reports. But it does take a while because of the level of detail. There are still two tracks to update after he finishes the one he is currently on. We plan to show you some more pictures in December.
On my side I was working on sharing the lighting between tracks, but recently got diverted onto improving the sharpness of the text for the interface which then led to sharper dashboards and number plates. I was aware that it wasn't really necessary for the release, but I got an idea for a slight improvement that would take "a couple of days" and ended up doing a few weeks' work because of the improvements it led to.
Some people might be interested to know how one thing leads to another and can cause apparent delays in development. Warning: Technical details in the following paragraph! Feel free to skip to the before and after screenshots!
In fact this started from an improvement in the editor. Recently I had removed the software-based render for ambient lighting so now the images for the ambient lighting are rendered on the graphics card. After that update, which was important to help improve the graphics, there were just a few software-based drawing functions remaining. They include the editor text and guide lines, which were drawn by locking the back buffer and setting pixels directly. I converted these functions to use the graphics card's version of line drawing and the texture-based text as used in game. This finally allowed anti-aliasing to be used in the track editor which is helpful for Eric. But it did require some improvements in the accuracy of the in-game text. I decided to go through the font characters, thinning them a little, which took a couple of days once I had been through all the Latin, Greek and Cyrillic characters. Then I realised some of the character drawing wasn't really under control and I went through making sure it all made sense and upgraded the resolution a bit. This included visiting all places in the code where text was drawn, including the dashboards, so I doubled their resolution while I was at it. Also I noticed the number plates were looking quite bad so their resolution has been doubled as well along with more accurate text positioning. One more thing I implemented was "kerning" which is when you move some characters closer together for visual reasons. For example a classic case is A followed by V. The gap looks too big unless the characters are moved together. I had added a small tail onto the small L and this was causing a particularly bad gap between the l and t in "multiplayer" so I finally succumbed to the temptation of implementing kerning which I had wanted to do for years.
Here are some comparison shots to demonstrate some of the improvements.