My openBVE videos and other comments from users and myself can also be found via my YouTube channel.
Blog and Progress Updates
1st June 2009
The innovative Chashinai Railway, RSR-UK route randomisation, hi-res Watford Junction to Rugby screenshots, and server upgradesPosted by Anthony Bowden on 1st June 2009 at 11:40 pm
The innovtive Chashinai Railway, randomisation and new development techniques for openBVE
Some of you may remember the Chashinai Railway network which was released way back in 2004, but soon after publication it was withdrawn, after controversy surrounding permissions where certain files were concerned. The fictional Japanese route network has now been significantly updated and is available again, and is now designed exclusively for » openBVE «. The route’s developer, Jens (Odakyufan), has devised some innovative new techniques which take advantage of openBVE’s capabilities, and together they introduce some exciting new possiblities for developers and users, including for example — even within a single route file — randomised time of day selection, randomly selected choice of train and service to drive, determining the probability of certain end results occuring, and more. Using if conditions and casing, it’s possible, for example, to choose which platform or siding is departed from or entered at random, provided code for each of these routing options has been written, specially prepared and added within the route file.
This is clever stuff, which presents all kinds of new possibilities for openBVE developers. Visit » Odakyufan’s website « to download the Chashinai Railway network which includes all the required trains (you need the latest openBVE v1.0.6 release), and take a look at the » development techniques and tips section « to see how randomisation and conditional pre-processing can be applied by developers creating routes for openBVE, along with ideas for improving the handling of tunnel object lighting, cab brightness and time of day. Incidentally, Jens also hopes to model a section of the well known Odakyu Odawara Line starting from Tokyo’s busy Shinjuku station, which should be fascinating due to the railway infrastructure, proximity between the line and the surrounding city and it’s roads and numerous buildings, and the object density to be depicted in such scenes.
Some atmospheric » Chashinai Railway « screenshots:
Incidentally, the situation surrounding the Chashinai Railway presents some issues to consider. It’s a route that was built using a large number of other author’s objects, and was originally made just for personal use — publishing the route wasn’t originally intended, so it’s author didn’t keep track of where each file came from. However, over time, the project evolved into something which was worth publishing, and this creative endeavour was shared with the community. The route was also notable as being one of very few Japanese styled lines developed by a European author (the only other I can recall right now, being Viktor’s fictional » BVE Garden Line «). Unfortunately, because Jens hadn’t kept track of the origin of the many files used, determining the authors of all these files at a later stage became problematic, so some work was uncredited, and not all permissions saught. Upon it’s release, some developers objected to this. Back then, the Western (English speaking) BVE community as it seems to me, was more like a microcosm of the worst aspects of international relations and ideological conflict than an ideal community at times, and soon after it’s release, despite conflicts with developers being resolved, the Chashinai Railway was withdrawn, presumably because of all the controversy it caused, and I guess Jens was put off from releasing anything into the community again for several years. Having seen the innovation, intelligence and artistic excellence which he’s now shared with us some years later–as a community–I think we’re rather lucky that he wasn’t driven away permanently by the awful, polarised atmosphere which used to dominate the community in the past (and I’m certainly not blameless where this state of affairs was concerned either); if he had left for good, then people in another field might be enjoying the fruits of his creativity instead of us, or indeed nobody else at all would be enjoying the results, and we would all be the poorer for it.
Edit: I was going to discuss the community, my own changed attitudes towards copyright, and the role the BVE Developer Guidelines play as a part of this blog entry, and talk about whether for the good of the community in the future, they should be revised or whether they’re even needed any more. However, this entry is primarily about innovation and development techniques, so I’ll save the extended discussion until later.
Randomisation in RSR-UK Routes
Having seen what Jens has achieved, I’m experimenting with these new innovations on my own routes as well. With Watford Junction to Rugby for example, I’m able to use the random pathing feature of » BRR « to create short alternative paths between, for example, Watford Junction and the crossovers to the north of the station, or between Hemel Hempstead and Bourne End Junction. This is the tricky part as it involves carefully setting up the .Rail related commands (or even inserting temporary crossovers) to ensure alternative paths can be selected and generated, followed by replacing .Turn commands with .Curve commands in BRR’s temporary route file output. Then, by referring to the casing technique example which Jens has provided, I can easily add all the $Sub() preprocessing commands to these code fragments via a couple of simple search and replace operations, and then copy and paste these sections into the WJ-R route file making any tweaks necessary, and add the condition and randomisation code, to allow openBVE to randomly choose whether the player starts on the fast or slow lines, or switches between them for short sections en-route. Currently this isn’t practical for longer sections of the Watford Junction to Rugby route; not really because it’s too difficult, but rather because it increases loading times too much due to the sheer number of commands I’ve used in the WJ-R route file, which takes too long to be parsed. I can also randomise the time of day chosen, along with the service and traction, and the optional display of a multitude of objects within the route. The location and types of passing trains shown can all be randomised, along with appropriate sounds, and so-on. All within a single route file and program. 🙂 The » example code « for achieving some of these things may appear complex at first, but actually it’s not so bad once you’ve tried it–naturally something like Watford to Rugby is much harder to work with as it’s so complex, so if you try it with your own route, it shouldn’t be as difficult. I’ll continue to experiment with this as my projects develop… More to come in future.
In the meantime, it occurs to me that I don’t think I’ve ever uploaded many, if any, high resolution images of Watford Junction to Rugby before, so here are a selection showing the aforementioned junctions, and a couple of others (please forgive the mixture of pre 1990s and post 2000 infrastructure at Watford…). This is still very much a work in progress, and neither the lighting or shading is refined yet. The scenery quality has fallen behind that of X-City South v1.4 in some respects now, and 2D trees are still in use at the moment as so much detailed 3D geometry has been applied to the railway infrastructure itself; with openBVE 2’s graphics engine, perhaps more will be possible though…
Lastly, apologies if some of you were unable to access the site for a little while yesterday; my webhost was performing a scheduled hardware upgrade of the server where Rail Sim Routes UK is hosted. I’ve been very happy with the performance and speed of the server since I moved the site to the new host last November, with no problems reported to me, as far as I’m aware. However, it should perform even better and with greater reliability now after this upgrade, which I gather consists of a step up from a single to a dual Quad-Core Intel Xeon processor configuration along with a doubling of the quantity of RAM to 8GB. In the unlikely event that anyone tried to e-mail me while the server was briefly offline (sometime between 23:00 and midnight on 31st May), any messages should have still reached me, however if you think there might have been a problem, please try again just in case.
24th May 2009
New openBVE release–v22.214.171.124
A new version of openBVE is now available, version 126.96.36.199; head over to the » openBVE homepage « to download the latest stable release. One of the three most noticeable improvements in this version (the other two being time acceleration and the ability to mute sound, more below) concerns the Smooth Transparency feature, which has been dramatically improved. If you’ve enabled this option in openBVE previously, you might have noticed that while the quality of the rendered scenes was much better with Smooth transparency enabled, occasionally, unsightly fringes appeared around some transparent textures, where translucent pixels were rendered. This was problem was also more pronounced on Cross-City South v1.4 due to the frequency with which texture transparency is used in the new scenery. This issue concerning texture transparency and the z-buffer is a complex topic which I gather not all OpenGL developers adequately address, however Michelle has found a way of solving the problem, and while the performance is a little lower than with the previous implementation (especially on routes where a very high number of polygons use texture colour transparency), the visual quality is far better, as the following comparison screenshots demonstrate (along with the new X-City South v1.4 screenshots below).
On the left, we have the » ATS-Sn/P Test route « in openBVE v188.8.131.52; click the thumbnail and note the fringes around the catenary gantry texture. On the right, we have v184.108.40.206–no such issue can be observed, and the end result is superb:
Similarly, here we have the » Chashinai Railway «:
For a detailed explanation about this solution, please see michelle’s » Developer’s Blog «
Other welcome enhancements and changes in v220.127.116.11 include:
- A time acceleration feature (Ctrl+J, switches between x1 and x5 speed);
- The ability to mute the sound (Ctrl+M — now you can listen to music via your media player while in-game, which is quite a lot of fun when used with the time acceleration feature! 🙂 );
- A consistent look is now achieved where fog and background images are concerned, regardless of viewing distance;
- And more… Please see the » changelog « on the openBVE site for details.
If you’re still using openBVE v1.0.3 or 1.0.4, then after updating to the latest release, you’ll also benefit from changes which were introduced with v1.0.5, including amongst other things, a bug fix relating to odd behaviour where unwanted roll was initially applied to the external camera view, enhanced AI driver behaviour where cruising is concerned, and additions to the Doors parameter of the .Sta command.
Cross-City South v1.4 scenery improvements
Firstly, apologies for the lack of project updates recently… Unfortunately I’ve not done quite as much as I’d hoped to in the past month. Nevertheless, I’ve been working on updating the scenery objects for Cross-City South v1.4, and this is proceeding quite well now. It’s proving to be quite time consuming, and the bulk of the work involves replacing a fair number of the previously 2D trees and bushes with more realistic partially 3D versions, allowing the scenery to look good even when the camera is panned to the side, such as when looking out of the windows, while also enabling the camera to be moved a little further away from the train in the external view without the scenery looking unrealistic. Hedgerows have also been improved, not just the trees.
I’m currently adding pretty highly detailed vegetation just to test performance and visual quality, but once I’m finished I’ll likely perform a batch search and replace operation on all the scenery files to reduce the number of surfaces to improve framerates a little. I’m relatively happy with how the scenery is turning out, but I have to say, it’s just a little tedious; I’ll be glad when this task is over and I can get back to the animated objects!
Here are some screenshots to show the progress so far; the scenery, lighting and shading isn’t finalised yet, but the images give a general impression of the end result I want to achieve. The trees and hedges still look a little too repetetive to me–I’ll try and improve upon this if I have time… All screenshots depict the route at 1280×1024 resolution with 8x antialiasing, 16x anisotropic filtering, and with openBVE v18.104.22.168’s smooth transparency enabled. A fast graphics card will likely be needed for higher framerates with the latter feature in use, at least with openBVE 1’s renderer:
I’m also experimenting with mixing both 2D and 3D trees to achieve a balance between visual quality and performance; 3D trees are placed near to the lineside, while 2D trees are placed behind these, and the overall effect looks reasonable to me; I hope you agree. It should work well, provided the player doesn’t move the camera beyond the effective scenery edge boundary which the 2D tree surfaces create–openBVE is still primarily a cab view simulator, after all. Here are some examples of the scenery testing location at Longbridge:
I’ve also added shadows beneath the trees and OHLE masts (another feature brought in from Watford Junction to Rugby), as well as beneath hedgerows to improve the appearance of the scenery. The shadows are simply very low resolution textures, which in the interests of performance, don’t use alpha channels, just ordinary texture transparency. The low resolution of the textures provides the necessary blurring:
Lastly, I’m also updating the pointwork so it’ll be up to the standard of Watford Junction to Rugby:
openBVE Help Guide updated
Just in case anyone hasn’t read through the comments on my last blog entry or otherwise noticed, I updated my openBVE Help and Information Guide recently, to include instructions explaining how openBVE can be installed and used by Ubuntu Linux users, either via the Add/Remove option, or by installing and running the program via Wine (which allows BVE 4 plugin DLL equipped trains to be used in Linux). I update the guide regularly as well, so if you need any assistance with openBVE which isn’t covered elsewhere, please visit the updated guide for more information: openBVE Help and Information.
Incidentally, since I replaced the X-City South executable installer with the .7z archive, downloads have been just as frequent as before, and I’ve had no more requests for help with installing the route than usual (and I don’t get many requests for help usually); indeed someone who was a newcomer to train simulation kindly informed me that they’d managed to install openBVE, BVE4, and Cross-City South with help from the guides I’ve prepared. So I’m assuming that most of you are managing fine with the installation process. 🙂
25th January 2009
There aren’t as many progress updates at the moment, partly due to hardware upgrades and operating system re-installations, etc, but that doesn’t mean I haven’t been busy; rather there’s just been quite a bit of work which is either “under the hood”, or merely a continuation of features I’ve already talked about. For example, I’m still implementing transition curves throughout the Cross-City South, however I’ve also updated most of the curve radii after determining the likely values from aerial photographs of the route (thanks to » this thread « at the Trainsimcentral forum). Quite a number of curve radii were too large previously, and the route is looking more accurate now as a result of the changes, but it’s taking time, as changing the curve radii also means the overhead wire object rotations are no longer correct and don’t join up with each other any more, and all these objects need to be re-aligned, which is rather tedious and time consuming.
I’ve also been editing the route file as I proceed through it, re-arranging the code and commands to make the file easier to read and navigate through; not just to make the work tidier and weed out bad code, but also for the benefit of anyone wanting to more easily edit the route after it’s released, create new diagrams/scenarios/activities if so desired, etc. Previously I simply placed all commands at a particular line number on the same line; this meant that scrolling vertically through the route file in a text editor is easier and quicker for me (which I spend more time doing as a rule), however when numerous commands are placed on the same line, despite me usually making some effort to group and order them, this can make it harder to find a command and edit it, and also I gather, makes it harder for others to feel comfortable editing it too, as it seems too complicated. This time, I’ve compromised and placed groups of related commands on their own lines, so for example, catenary related commands are placed together on their own line; scenery, curve and railtype, or pointwork related commands are all placed on their own seperate lines, etc, making it easier to locate a command, without the route file becoming excessively long.
I’ve also now re-introduced the marker images which used to feature in the BVE 2 versions of the route, and it’s nice to have them back again in » openBVE «. One of the main tasks in the immediate future will be taking the animated features I’ve demonstrated so far, and extending them throughout the length of the route, rather than just the test locations which are featured in the videos, along with creating more detailed geometry for the 323’s exterior car objects, and preparing animated components like wheels, wipers, doors, and perhaps other things too.
23rd December 2008
I’ve been continuing with some more cosmetic updates for Cross-City South v1.4, and I’m in the process of adding superelevated track, transition curves and lead-in/lead-out track objects to enable smooth changes from level to canted track. With » Watford Junction to Rugby «, which already includes superelevated track objects and lead in/out objects, I’d adopted a system where curved track objects with 35mm, 70mm and 125mm cants were modelled, with a set of lead-in/out transition objects going from 0-35mm, 35-70mm and 70-125mm at varying curve radii, which enabled a nice, gradual increase or decrease in cant within a curve. These lead in/out objects are placed not as .Rail objects, but as .FreeObjects, and are used in conjunction with one of several invisible null rails which each have a different run sound, such that I don’t need to add too many new railtypes to cover all the possible combinations of run sound and required canted transition curve objects. This technique still results in quite a number of FreeObjects however.
While looking at the » ATS-Sn/P Test Route «, I was impressed by the appearance of the superelevated track and transition curves, which I felt were better than my attempts, and while looking at how the author achieved such a good result, I was pleasantly surprised to find that the technique used is actually more straightforward and efficient than that which I’d adopted, with just a simple pair of straight, left/right lead-in and lead-out objects used. I’ve trialled this on the Cross-City South, and I’m pleased with the results on the sharper curves, although for larger radius, higher speed curves, I’ll retain graduated 0-70mm and 70-125mm canted transition curve objects:
I’ve also been experimenting with the signalling functionality recently introduced into openBVE’s » animated object format «. I’ve now implemented flashing aspects which are used on the approaches to the 60 mph and 70 mph crossovers between the fast and slow lines on the WCML’s New Ledburn and Hanslope Junctions, respectively. I’ve also incorporated lens hoods which become illuminated according to the aspect displayed by these new signal objects, and these look better than the standard flat bitmaps usually used to represent signal aspects in BVE.
Jason Morgan, one of the people we can thank for introducing BVE to Western railsim users several years ago, asked me whether or not it would be possible to have animated points linked to a signal, such that the blades moved to the correct position prior to the signal clearing, for example, while the player’s train is waiting in a passing loop before being cleared to rejoin the main line. Indeed this is possible, either by making the point blade position depend upon the state of a section, or by making the animation functions conditional, for example, by basing them upon the distance from the set of points to the player’s train. When basing the point blade position upon a section state, this can be done simply with the aid of a .Pretrain command, such that the point blades move as the signal changes from red. However, by using a .Section 0;2;3;4;5 command (UK routes with 4 aspect signals usually use .Section 0;2;3;4), and a specially modified animated signal object which displays an aspect sequence of Red > Red > Yellow > Double Yellow > Green, the point blades can move prior to the signal aspect appearing to change from red, which looks more prototypical. This is only suitable when the player arrives at the signal while it’s associated section state is still 0 (red), however.
As part of the experiment, I created some fully animated point objects, which include moving point blades, stretcher bars, backdrive assemblies, linkages and levers. » openBVE’s « rotation damping functions also enable a rather nice motion of the point blades, which looks quite realistic. Both conventional and High Performance Switch System (HPSS) points are modelled.
Important note: Currently, trains in openBVE follow a single path throughout a route as with BVE Trainsim (based on Rail 0), with this one path coded in the route file which cannot be changed en-route. Therefore, these points are cosmetic only!
Video: Demonstration of working 3D bulb and LED signals, flashing apects, and animated pointwork
Note: this video is now included as part of a compilation on YouTube.
Stephen Cross has also kindly created a set of station sign textures for use in Cross-City South v1.4, so I’ll be creating a new set of objects allowing the actual station names to be displayed on signs at each station on the route:
I’ll also create some new lampost objects for the stations, as the existing ones look, well lets be honest, terrible. If I have time, I’ll update the route to include London Midland textures as well, although this isn’t a priority for me at the moment.
Finally, I’d like to wish visitors to Rail Sim Routes UK a very Happy Christmas!
26th November 2008
The Cross-City South v1.4 update has been in progress for the past few days. To start with, I’ve rearranged all the files into a less complicated directory structure, and removed the seasonal variations for the time being, with just Summer remaining for now. I’ve also removed all but two route files from the package, which I’ll work on to create a new foundation on which other route files can be created in future; this makes maintenance much easier and the updated route quicker to check for problems. I’ve also been removing all .X format objects, which I’ll replace with .CSV versions, with surface illumination achieved via openBVE’s new extended commands instead, along with day/night texture transitions achieved using single objects rather than seperate day and night objects, as was the case in Cross-City South v1.3 for BVE4. This helps to save some disk space, along with making the route much easier to maintain.
Along with openBVE’s error reports, I’ve also been using Oskari’s » BRR.NET « utility to check for other issues, to ensure that the new “template” route files are as trouble free as possible. I’ve also been updating the route with new vegetation textures and track objects, taken from the Watford Junction to Rugby route; here’s how it’s looking so far in the openBVE Route Viewer tool (the reported errors are temporary, due to missing textures which I haven’t relocated yet!):
The shadow effect used for the bullhead rails is based on an idea which Simon Gathercole came up with a while ago. The next time consuming task will be updating all the pointwork, which I’ll start work on soon. I’ll also be exchanging the terrain and grass textures for new versions, making the scenery look better when using the external views, adding backfaces to various objects so the route can be viewed in the opposite direction without needing to hit F11 in openBVE, and adding soft shadows to various objects, which together with the new textures shown above, should improve the appearance of the route considerably. Due to popular demand I’ll be creating a new diagram which starts from the Longbridge reversal siding rather than Redditch, and I’ll also be looking into more animated object possibilities; I have a few ideas already.
20th November 2008
I thought I’d show the current state of Rugby station, as I haven’t posted any screenshots of this location yet (due to it being unfinished). I’ve only laid the track and electrified the area so far, but as you can see from the images below, this is a very complex location to model, with numerous tracks, diverging lines, two flyovers, pointwork, curves and so-on. There’s no finished scenery yet, and the supports are missing from beneath the flyover, but once these, and the station buildings and lineside buildings are added, it should look rather good.
Please note that in the overhead shots, a 2400m drawing distance is set with a high level of zoom used, hence the station looks somewhat shorter than it actually is, and the curves sharper than they actually are. The released route will be based on the track layout prior to the recent remodelling work at the real station (I have to draw the line somewhere with a route that’s being constantly upgraded in reality; this way I might actually be able to finish the project!!). The track layout depicted here is a mixture of the layout as it was in the 80s and late 90s, and I’ll remove the relevant tracks in the final route files, depending on the era being depicted in each one: