My openBVE videos and other comments from users and myself can also be found via my YouTube channel.
Blog and Progress Updates
10th April 2019
14th October 2010
7th April 2010
Updated openBVE developer tools and openBVE v22.214.171.124, upcoming Network West Midlands updates, upcoming Taipei Metro route for openBVE, and server upgradePosted by Anthony Bowden on 7th April 2010 at 6:00 am
openBVE v126.96.36.199 and updated openBVE developer tools
openBVE v188.8.131.52 has been released, which includes a bugfix relating to the Options.UnitOfSpeed command, which could for example, involve an incorrect speed limit being determined when the Route.Limit command is used. Please » download the latest release « if this issue affects you.
Also, when I posted my last blog entry, I forgot to mention that the » openBVE Route Viewer « has been updated. When your route is loaded, you can now simply type in a distance via the main number keys (not the numberpad keys), and hit Enter — the camera will then be moved directly to the location you just entered. This is an immensely useful time-saver.
openBVE Route Viewer screenshot — click to enlarge
Also, when you pass a CSV format route or object file as a command line parameter to either Route Viewer or Object Viewer, the tools will now auto-detect whether the CSV file is a route or an object, and load the appropriate tool automatically. Please see the Tools section within the » Developing for openBVE « pages for more information. For developers who haven’t used the command line for opening routes or objects before, it can be done as follows (obviously replace the path and file names according to your own setup):
Network West Midlands openBVE updates
The » Network West Midlands « (NWM) team have announced some promising updates for the first 2010 release of the route network, which should make some good use of openBVE’s capabilities and features. We can look forward to such delights as random moving traffic on overbridges, moving passing trains similar to what I’ve demonstrated in one of my early YouTube videos, various points of interest, multiple eras, random routing/weather conditions/other features thanks to openBVE’s » $Include directives «, 3D signals, trees and lamp posts similar to those I’ve shown previously, along with the addition of catenary based on my own high detailed Cross-City South OHLE objects throughout the routes, where a very nice job has been done with their implementation. Some excellent new track textures have also been prepared for the route.
openBVE / Network West Midlands screenshots — click to visit the NWM news page
Please visit the » NWM website « for more information and screenshots.
Upcoming Taipei Metro route for openBVE
I noticed some new screenshots of the Taipei Metro Xinbeitou Branch Line, being developed for openBVE by » BVETRT «, and I wanted to mention them as I think they look superb. There’s richly coloured scenery, the detailing of the stations and near-track areas looks fantastic, and the railway infrastructure is very well modelled and convincing. Also take a look at this » YouTube video « of the line as well.
Taipei Metro Xinbeitou Branch Line for openBVE — click to read developer’s blog entry
Lastly, my webhost kindly migrated Railsimroutes to a new, high performance shared server recently, and they also installed the Nginx reverse proxy webserver in conjunction with Apache, which I’ve noticed has increased the responsiveness of the site along with page loading times. The migration went smoothly, but if anyone has had any issues with the site during the last three weeks, please let me know.
15th March 2010
openBVE 2 Renderer Demo released, a new direction for me, some views on openBVE 2, and the release of openBVE v184.108.40.206Posted by Anthony Bowden on 15th March 2010 at 8:00 am
openBVE 2 Renderer Demo released, and a new direction for me
Before I talk about the new openBVE 2 Renderer Demo, I just want to announce that aside from developing my routes, I’m also now working with Michelle as a C# programmer, and I’m actively participating in the development of openBVE 2. So far, apart from various discussions, I’ve worked on adapting openBVE 1’s .X object parser as a loading-stage plugin for the new program. So, while you’re using the program, if you have any problems regarding X format objects created via the BVE Structure Viewer (the output from this tool is what openBVE effectively supports), then you can probably point the finger of blame at me. 😉 Just to remind and reassure readers, I am still developing my routes, and I haven’t abandoned them!
The openBVE 2 Renderer Demo
As many of you will know, openBVE 2 has been in development for some time, and I’m pleased to say that a demo of openBVE 2’s new renderer is now available for download. Unlike it’s predecessor, openBVE 2 is modular — many of the functions which were previously carried out within the program, such as loading and parsing routes or objects, or brake system simulation, is now carried out by plugins instead. This means that openBVE 2 is extensible in a way which openBVE 1 is not. For example, with openBVE 1, adding support for a new 3D object format, would require modification of the core program itself, and a new release. But with openBVE 2’s extensible architecture, support can simply be added via a new plugin, which means the core program need not be modified or recompiled. Clearly, this is a much better design in the long term.
The new renderer demo is intended for advanced users and developers only, and the main purpose of the demo is to test the performance of openBVE 2’s new renderer in comparison with openBVE 1’s, on a variety of computer systems. Indeed, no train simulation features are actually included at this stage, and not all visible features of routes, such as backdrops or animated objects, are accomodated yet.
It would be greatly appreciated if you could download and test the new renderer, and report your experiences; for example, what framerates you see, what viewing distance you find yourself liking to use, and what performance you achieve when equivalent settings are used in both the openBVE 2 Renderer Demo and openBVE 1. Hopefully you’ll find that framerates using openBVE 2’s renderer are far higher.
You can visit the openBVE Renderer Demo page for the download, and please read the information presented there carefully: » http://openbve.trainsimcentral.co.uk/openbve2.html «
Please also consider posting your feedback in » this thread on the openBVE forum «, or send some feedback via e-mail to Michelle. Alternatively, you can leave some feedback in a comment on this blog entry or e-mail me, and I’ll pass your feedback on to Michelle. It would be helpful if you could include certain information, such as the following:
- Your processor model and/or speed (e.g. Intel Core 2 Duo E8400 @ 3GHz, AMD Phenom II X2 545 @ 3.0GHz, etc…)
- Your graphics card model (e.g. NVIDIA GeForce GTS 250, ATI Radeon HD 5670, etc…)
- The amount of RAM you have (e.g. 2GB)
- What operating system you’re using (e.g. Windows 7 64-bit, Ubuntu 9.10 32-bit, etc…)
- The settings within in your settings.cfg file (found in the Binaries subfolder of the openBVE 2 Renderer Demo)
- Your video card driver’s image quality settings (e.g. 16xQ anti-aliasing, 16x anisotropic filtering)
- The framerates you encounter while running the openBVE 2 Renderer Demo, and openBVE 1, with equivalent settings
- Lastly, don’t forget to take into account, the information on the openBVE 2 Renderer Demo download page…
You can find some help regarding identifying your graphics card model on » this page «. Where video driver settings are concerned, you can read » this page «. Windows users can often just press Windows Key + Break to find out CPU model and speed, amount of RAM, and operating system. Michelle is very busy, but if you would like to send some feedback and find yourself unsure as to what to do, then I’d be happy to help you. 🙂
I’m delighted to say that all the routes I’ve tried, benefit greatly from openBVE 2’s new renderer. Not only are framerates higher, but the viewing distance can be increased significantly as well. 🙂 This is also good news for those of you waiting for Watford Junction to Rugby. For example, take the highly detailed Bourne End Junction area, which contains nearly a kilometre of 60mph crossovers between the fast and slow lines, lots of complex overhead line equipment, and plenty of track and lineside detail. With a viewing distance of 3000m (yes, 3 kilometres :)), in openBVE 1, the framerate here is dragged down to a measly » 19 fps « . But with openBVE 2’s renderer, I get an impressive » 155 fps « instead.
Here are some other examples of framerate improvements. For detailed specifications of the computers used in these tests, please » see here «.
Settings in openBVE 1:
Viewing Distance: [3000m]
Resolution: [1920×1200 fullscreen]
Image Quality: [Anti-aliasing: 16xQ, anisotropic filtering: 16x]
Interpolation: [Anisotropic Filtering]
Settings in openBVE 2 Renderer Demo:
Viewing Distance: [3000m]
Resolution: [1920×1200 fullscreen]
Image Quality: [Anti-aliasing: 16xQ, anisotropic filtering: 16x]
All other settings: [Default]
Please note that all framerates were taken with the camera left at it’s initial position and orientation, to produce reliable and consistant results. In openBVE 1, the F3 external camera key was pressed once and left remaining at the start of the route, and the train moved to the end of the route via the Jump to Station menu, to ensure that no external car objects were lowering framerates.
Core 2 Quad Q9650 / GeForce GTX 260 based system:
Athlon64 X2 4200+ / Radeon 2600 Pro based system:
As you can see, on my systems, openBVE 2’s renderer is far superior to openBVE 1’s. Of course over time, more features will be added, and these will use some more of the newly available CPU and GPU resources and reduce peformance a bit. However, for those of you with slow computers, these extra performance reserves could mean that more detailed routes and trains could be usable than would be the case with openBVE 1.
Some more framerate comparisons… openBVE v220.127.116.11 on the left, openBVE 2 Renderer Demo on the right. Remember that we’re interested in the framerate, not the graphical quality, at this early stage! Support for backdrops and smooth transparency will be added to openBVE 2’s renderer in due course. Also note that the viewing distance likely used by many openBVE users is the default 600 metres, but here, the viewing distance is 3000 metres instead.
Community concerns regarding “openBVE 2”
I want to mention briefly the concerns regarding the name “openBVE 2” being changed soon, as architecturally, the new program is entirely different to openBVE 1, let alone BVE Trainsim, and I’ve noted some fears being expressed regarding the name change and widening scope of the project, particularly where add-on compatibility is concerned. However, I think these fears are being blown out of proportion. All openBVE content will still be compatible with the new program, so there’s no need to panic — add-ons aren’t going to suddenly become defunct. If any developers have concerns about this, please feel free to discuss them with either myself or Michelle.
I’ve also noticed people express concerns that openBVE 2 is going to be far more difficult to use and develop add-ons for. From the end-user’s point of view, and with cooperation from add-on developers (like me), it could actually be far easier, because it will be possible to install and uninstall add-ons from within the program itself, via it’s graphical user interface, rather than dealing with archiving utilities, self-extracting archives, different directory structures contained within them depending on which developer packaged them, and so-on. This kind of stuff is not easy for everyone, especially beginners, and it has to be repeated with every add-on. Where add-on creation is concerned, one of the benefits of the modular, plugin-based architecture, is that adding support for new file formats, such as file formats created by 3D modelling applications, becomes easier, not harder. It also means that route building tools, should they be made, can more easily interface with the host program via the new API. Those of us who prefer hand-coding methods, myself included, can still do what we’ve always done as well — it’s all a choice. Of course, with a program capable of rendering a vast world, it does become harder to make add-ons which fully exploit this new potential. Even I’m not exploiting this potential with my add-ons currently, but in future this may be highly desirable (just as I’ve upgraded my routes incrementally in the past), and the ability will be there for anyone who wants it, or who can envisage a use which even we haven’t even thought of yet. Anyway, the modular architecture makes it easier to build content creation tools, or provide support for existing tools and their file formats, which will make the growing possibilities easier to take advantage of. This does however, require some good programmers willing to devote some time to creating such tools, or writing plugins to support existing tools or formats; I recognise this, and I’m sure Michelle does as well. Lets try to be a little more positive about the future.
openBVE v18.104.22.168 released
Lastly, openBVE v22.214.171.124 has also been released. Now is a good time remind ourselves that openBVE is a train simulator first and foremost, and with this latest release, the mass of the train is now affected by boarding passengers, which can slightly affect the performance of the train. A bug has also been fixed in the Jump to Station menu, and the Interior (Look Ahead) camera is now selected by default for 3D cabs (like the » class 323’s 3D cab « for example, or » Roberto Benini’s EM A1 3D cab «). There are various other changes too; please visit the » openBVE homepage « for more. 🙂
12th October 2009
Thankfully I have more time available now, so I should be able to pick up where I left off and resume development for openBVE. I recently upgraded my computer, and I’m rather pleased with how openBVE and various routes including my own are running on the new system, so I want to share a few more screenshots of how openBVE, Cross-City South v1.4 and Watford Junction to Rugby can run on higher-end hardware, as well as to show some progress being made. I’m working on adjusting the dawn lighting to produce some nice visuals on Cross-City South v1.4, and I’m also experimenting with some higher resolution catenary textures particularly suited to openBVE’s smooth transparency mode, as well as adding some 3D trees to Watford Junction to Rugby to see how the extra detail is handled. Here are some WUXGA 1920×1200 resolution screenshots from openBVE v1.2.2, with full 16xQ anti-aliasing, 16x anisotropic filtering, and with smooth transparency enabled; there aren’t many animated objects visible in these scenes however, so framerates on equivalent hardware (see below) will be a bit lower in the final releases. Some other openBVE add-ons are presented, as well as my own:
» openBVE v1.2.2 «, and Birmingham Cross-City South v1.4 with new class 323 and 3D cab (1920×1200)
(London Midland Class 153 externals by » Steve Thomas «)
Amongst the features planned for openBVE 2, are thunder and lightning effects. Early on during the openBVE project I demonstrated rainfall effects and thunder using openBVE 1’s capabilities; while it’s possible to create these effects within a route, I think it would be better to have these effects handled by openBVE rather than the route developer, along with lightning. This is another feature which I’m very much looking forward to, but I wanted to see what kinds of effects could be created anyway, so I did a few experiments. The following screenshots show how I envisage lightning might look on a route like Watford Junction to Rugby in future; the textures require a little refinement as this is just a test, but you get the idea (in full motion, the lightning strikes flicker and the effect looks better):
openBVE v1.2.2, and Watford Junction to Rugby lightning experiment (1920×1200)
Another openBVE project, the excellent » Chashinai Railway « network, was updated again a few days ago; the 1000 and 2000 series trains now have new plugins catering for ATS-SN as well as ATS-P in the case of the 1000 series train (don’t forget to read the train operation manuals on the website before driving with these safety systems), and both feature photo-realistic 2D/panel2.cfg based cabs with fully working ammeters and slightly dirty windscreens. The rivers found on these routes also demonstrate a good way of implementing moving water, and the new passenger textures, and photo-realistic trees and scenery textures enhance the routes as well. Here are some high resolution screenshots of the routes and 1000/2000 series trains; note the fully working ammeters in the in-cab screenshots (requires » openBVE v1.2.2 «):
openBVE v1.2.2, Chashinai Railway (» odakyufan «), and 1000/2000 series trains with working ammeters (1920×1200)
Also, here are a few high resolution screenshots of the recently released » Saijou Line « for openBVE as well, which include various animated objects, night lighting and great atmosphere:
openBVE v1.2.2 and the Saijou Line (» http://tozai.s77.xrea.com «) (1920×1200)
Watford Junction to Rugby, Performance, and *BVE
All of these screenshots were captured on a system with a Core 2 Quad Q9650 CPU (3 GHz), 2GB DDR2-1066 RAM and a GeForce GTX 260 graphics card, running on a motherboard equipped with the P45 Express chipset, and as you can see, even Watford Junction to Rugby runs nicely here, never dropping below about 40 fps in the external view with the class 87 and a 600m drawing distance (achievable with 2 CPU cores in use rather than 4). It will likely run even better with openBVE 2’s renderer, allowing those with slower computers to enjoy some higher framerates too. It’s also important to note, out of openBVE, BVE 2, BVE 4, and the latest pre-release version of BVE 5 (after the route has been converted to it’s new formats), that at the moment, openBVE remains the only simulator that is capable of loading and/or handling Watford Junction to Rugby with the high level of detail and object count it currently has, and openBVE handles the route on a slower Athlon64 X2 4200+ system with a Radeon HD 2600 Pro as well. Incidentally, I can’t assess whether Cross-City South v1.4 would be suitable for BVE 5 yet, as the route is very unfinished and there’s still a lot left to add; of course you’d certainly lose all the dynamic scenery and animation effects, along with the 323’s 3D cab, exterior and passenger views after such a conversion–hence I can say that my priority will remain openBVE. Naturally with Watford Junction to Rugby, I want to focus on openBVE primarily as well, and as the project is taking a long time to complete, BVE 2 and 4 compatibility and detail reduction will now be a lower priority, and I’ll only start on this task after all the openBVE features are finalised and the project is otherwise completed.
Lastly, I’ve been used to using openBVE with a 17″, 5:4 aspect ratio TFT monitor at a resolution of 1280×1024, but now I’ve seen openBVE running on a 24″ TFT with a 16:10 aspect ratio, routes and trains can look magnificent, and I’m highly impressed by the additional immersion which is offered, especially with the 323’s 3D cab. The higher resolution also makes arranging and working with a text editor and openBVE’s development tools much more enjoyable, and it’s also better for working with something like a C# IDE for example, or image editing software. More updates will follow soon.
16th June 2009
openBVE v126.96.36.199 is now available; I’d recommend heading over to the » openBVE homepage « to download the latest stable release, and don’t forget to read the » Changelog « for a full list of alterations and new features.
Update (18th June): openBVE v188.8.131.52 was released yesterday. This version includes a bugfix relating to problems when some objects were loaded, which also resulted in error messages. As far as I’m aware, the objects concerned were those with meshbuilder blocks containing both Cylinder commands and AddFace commands referencing the cylinder’s vertices, which should now be loaded without any problems in v184.108.40.206.
This release can offer some potentially superb performance improvements on some routes. With Cross-City South v1.31.02, and 8x antialiasing/16x anisotropic filtering set via my graphics card drivers, along with bilinear interpolation set via openBVE’s options, I see between 20-35% increases in framerates compared to openBVE v220.127.116.11 with identical settings. With anisotropic filtering and smooth transparency enabled via openBVE’s settings, I also see between around 25-46% increases in framerates with identical settings in both openBVE versions. So for example, where the entrance to Birmingham New Street used to take me down to 15 fps with smooth transparency enabled, now I can reach a much more fluid 21-22 fps. I won’t publish any figures regarding Cross-City South v1.4 yet, as the route is still in development and the performance level changes often as I experiment with it. These results are obtained on an AMD Athlon 64 X2 4200+ @ 2.2GHz, 2GB DDR2-800 CL5-5-5-15, ATi Radeon HD 2600 Pro 256MB DDR2 PCIe equipped system by the way.
The improvement which has most impressed me though, is the performance of openBVE v18.104.22.168 with Watford Junction to Rugby. To say that I’m delighted would be a massive understatement, as I’ve seen between 30-160% increases in framerate compared to v22.214.171.124! Generally though, framerates of around 17-21 fps (on the four track sections between stations, in the external view with those nice AC electric and Mk2 coach objects) are now fairly typical, where around 11-14 fps was a typical range before. Framerates are higher when in the cab view, of course. Certain extremely detailed areas which still need to be simplified for openBVE 1’s renderer, like the Bourne End and New Ledburn Junctions, as well as Tring and Bletchley, are now handled much better as well (10-12 fps rather than 4-6 fps as it was before, with framerates recovering to normal levels after passing through these isolated locations). To put this in perspective, the route loads around 2600 objects of all types with over 72600 .Freeobj commands, which is a lot more than usually found in a BVE route, and this is over a 106 km distance (in comparison, Cross-City South v1.31 loads around 700 objects of all types, with around 5600 .Freeobj commands over around a 25 km distance). In BVE 4, the framerate may be comparable initially, but if I start driving from Watford Junction, it stutters frequently, and BVE 4’s renderer gives up after reaching Kings Langley just a few kilometres into the route, and BVE 4 crashes without even an error message shortly after; WJ-R is a long way past being suitable for BVE 4 now, hence an awful lot of stuff will need to be removed in the BVE Trainsim versions of the route.
These latest openBVE optimisations which give rise to improvements in framerates, may also mean that route loading times increase a little as the object geometry is optimised, although in practice, I’m finding that only 5-6 seconds are added to Cross-City South v1.4 / new class 323 loading times, and 9 seconds added to Watford Junction to Rugby’s loading time, bringing the total loading time to 39 seconds for the latter route. Nevertheless, if this is a problem for you, please read » this thread « for information about the hidden options which enable you to limit what the new object optimiser does, allowing for faster loading times, but naturally at the expense of in-game performance.
If you’re interested in how these performance improvements have been implemented, take a look at » michelle’s blog « where the relevant OpenGL concepts are discussed (the May and June 2009 pages). Essentially, OpenGL’s GL_TRIANGLE_STRIP and GL_QUAD_STRIP structures are now used along with GL_POLYGON structures which were used exclusively in prior versions of openBVE, and using these structures where possible means that fewer vertices need to be transmitted to the rendering pipeline (due to there being fewer effectively duplicated vertices), thereby improving performance. These other structures are generated automatically by the new object optimiser included in v1.0.7, which was written for openBVE 2’s engine but has been added to openBVE 1. Version 2 of openBVE should deliver even greater performance improvements however, thanks to the use of display lists rather than the immediate mode currently used.
This early performance improvement also means that I can capture some higher resolution video of Watford Junction to Rugby now, so come back soon as I’m preparing another of my YouTube videos, in which I’ll also show a couple of other things I’ve been working on. 🙂
New Object Development Features
Two new features have been added which allow developers greater flexibility and functionality where object creation is concerned — the Shear / ShearAll commands, and the ability to specify vertex normals in B3D and CSV objects (previously, vertex normals could only be specified in .X objects, which were awkward to hand edit). Before experimenting, please make sure that you’ve downloaded the latest versions of » openBVE«, » Object Viewer « and » Route Viewer « (if necessary, clear your browser cache first to ensure you aren’t just getting older versions of the downloads from your hard disk cache instead of the webserver).
Shear and ShearAll
Using the Shear / ShearAll commands, we can now skew meshes or entire objects, which makes certain kinds of objects much quicker and easier to create. Take a bridge which crosses a railway at an angle for example; designing the bridge object such that it’s perpendicular to the railway is relatively easy, but creating it at an angle can be more time consuming, especially if the bridge includes an arch. Using the new commands, we can create the bridge in a perpendicular fashion, and then easily perform a shear mapping operation on all the vertices in either a MeshBuilder block or the entire object:
These results are created with the following commands added right at the end of the object file:
ShearAll, 0, 0, 1, 1, 0, 0, 0.75
ShearAll, 0, 0, 1, 1, 0, 0, -0.75
Please see the relevant openBVE documentation » here « for more information about these commands and the parameters.
If you’ve used the Cylinder command in your objects, you’ll probably have noticed that the resulting collection of faces were smoothly shaded. Creating any other mesh however, resulted in flat shading. If the object was converted to the .X format, it was possible to manually hand edit the vertex normals to smoothly shade faces, but due to the nature of the format this wasn’t user friendly, and wasn’t possible at all in B3D or CSV format objects. Now though, what I think is an easy way to apply vertex normals and smooth shading to meshes has been implemented. Take the following screenshots:
On the left, we have a simple mesh with 8 vertices and 3 faces:
AddVertex, 3, 0, 1, ;vertex 0
AddVertex, 3, 0,-1, ;vertex 1
AddVertex, 1, 1, 1, ;vertex 2
AddVertex, 1, 1,-1, ;vertex 3
AddVertex,-1, 1, 1, ;vertex 4
AddVertex,-1, 1,-1, ;vertex 5
AddVertex,-3, 0, 1, ;vertex 6
AddVertex,-3, 0,-1, ;vertex 7
On the right, we have the same mesh, but with vertex normals specified, resulting in the smoothly shaded appearance:
AddVertex, 3, 0, 1, 0.6, 1, 0
AddVertex, 3, 0,-1, 0.6, 1, 0
AddVertex, 1, 1, 1, 0.3, 1, 0
AddVertex, 1, 1,-1, 0.3, 1, 0
AddVertex,-1, 1, 1,-0.3, 1, 0
AddVertex,-1, 1,-1,-0.3, 1, 0
AddVertex,-3, 0, 1,-0.6, 1, 0
AddVertex,-3, 0,-1,-0.6, 1, 0
In the first annotated Object Viewer screenshot, you can see that the automatically generated normals are depicted via the vector lines emanating from the vertices (you can view these by pressing the N key within Object Viewer). Note also the flat shading, and how this relates to the direction of the normal vectors. In the second screenshot however, which shows the same mesh with manually defined normals, smooth shading is now applied, and vertices 2, 3, 4 and 5 now have one normal vector each, affecting all faces that share those vertices. You can see that each normal vector is created relative to the associated vertex coordinates.
To give some examples of where to use this feature, the ability specify normals allows me to, for example, reduce the number of faces on a curved surface to improve performance in some circumstances, or smoothly shade the grass embankments shown in the bridge screenshots above, or the curved surfaces of locomotives and rolling stock:
Finally, for the more technically minded amongst us, openBVE’s debug output layout (viewable via the F10 key) has been revamped and contains some interesting extra data relating to the number of each different face type in use:
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.