- [WJ-R]: 1980s object removal (Castlethorpe/Hanslope area)
- [XCS]: Pending
- [UkTrainSys]: v0.3.2.0 released
- [Object Library]: Preparing...
- [Website]: Fifth version of website launched
My openBVE videos and other comments from users and myself can also be found via my YouTube channel.
Blog and Progress Updates
March 12, 2014
Watford Junction to Rugby update, and collaborative project development
Posted by admin on March 12, 2014 at 11:41 pmUpdate on Watford Junction to Rugby project
I’m pleased to say that I resumed development of the Watford Junction to Rugby project recently. Currently I’m working on implementing new .Beacon commands which support the UkTrainSys plugin’s advanced safety system functionality.
Signalling along the entire 66.5 mile / 107.1 km route has been updated, with all aspects now comprised of animated objects with ground night lighting.
All Automatic Warning System (AWS) magnets are now comprised of beacons simulating the permanent magnets and electro-magnets of the real life system, and sections are now aligned with track circuit breaks and axle counter head locations.
All Train Protection and Warning System (TPWS) induction loops are now simulated with beacons emulating the real life system in terms of induction loop spacing and frequencies.
There are four OHLE neutral sections modelled on the route, and all of these are now updated with UkTrainSys compatible beacons for the Automatic Power Control (APC) permanent magnets both before and after the neutral section, as well as denoting the start and end of the dead section of contact wire itself.
New signals awaiting commissioning (note the out-of-use covers), and modular AWS magnet objects [Click to enlarge] |
Collaborative development
The other significant development, is that the project is now open to third party contributions, to speed up development and bring the release date closer. Ben Leahy is the first developer to contribute to the project by building objects, and I’d be more than happy to hear from you, if you think you’d be able to contribute some more high quality, efficiently coded 3D models for the route, leaving me free to concentrate on the systems and permanent way infrastructure.
Currently there’s a list of objects which need to be created and added to the route. These include:
- Station buildings from Kings Langley through to Rugby inclusive;
- A few lineside buildings, such as houses, warehouses and the like, to be positioned at various locations along the route, but especially at Roade, Weedon, and Rugby;
- A few road overbridges for the Weedon Line, as well as retaining walls at Weedon;
- Road vehicles for road bridges, and the section of M1 motorway at Watford Gap;
- Passing train objects.
If you think you can contribute any of the above, please get in touch and we can discuss options, and I’ll draw up an effective collaboration plan. Thanks 🙂
Blisworth pointwork and REBs – can you help by creating a new overbridge object for the site? [Click to enlarge] |
For more information about these ongoing projects:
Watford Junction to Rugby Project |
UK Train System (UkTrainSys) Cross-platform .NET Plugin |
Tags: Animated Objects, Artwork, openBVE, openBVE 2, openBVE Community, Screenshots, Site News, Trackwork, Watford Jn to Rugby
Posted in openBVE, openBVE 2, Site News, Uncategorized | 12 Comments »
November 26, 2010
UkTrainSys plugin update; enhanced simulation of neutral sections and Automatic Power Control, neutral section test route released, and new screenshots showing improved Brecknell Willis Highspeed pantograph models and new sunset backdrops
Posted by admin on November 26, 2010 at 9:25 pmFirstly, I just wanted to say thank you for the positive reception with which the UkTrainSys cross-platform .NET plugin has been received; this was very nice to see! Based on feedback, I’ve now updated the UkTrainSys plugin, so that the AI driver will operate the Driver Reminder Appliance en-route. I’ve also implemented an enhanced neutral section and Automatic Power Control simulation, but first, a little background information might be in order…
Neutral section (phase break) installations
For those who don’t know, a neutral section (or phase break), isolates different phases of the power supply being fed to the overhead electrification system from each other. This is accomplished by inserting a short length of insulated material into the contact wire, which the pantograph head can still slide across at speed. In the UK, I gather these insulated sections are typically comprised of glass-fibre rods with ceramic collars threaded on to them, with the total length of the neutral section itself, being only around 4 metres.
At either side of the neutral section, are a pair of track mounted magnets, called APC (Automatic Power Control) magnets. Whenever an APC receiver on an electric train detects these magnets, the APC system flips the state of the air-blast/vacuum circuit breaker (ACB/VCB) between the pantograph and the on-train traction equipment, interrupting or connecting the supply from the pantograph and overhead line.
Thus, when a train approaches the first pair of magnets prior to a neutral section, the ACB/VCB is commanded open, such that there is no power being drawn from the overhead line when passing through the neutral section (this prevents the pantograph from drawing an arc and accidentally connecting one of the power supply phases to earth – the neutral section cantilever/support tubes are earthed so that the two separated phases aren’t connected in the event of an arc). When the train passes the second pair of APC magnets after the neutral section, the ACB/VCB is commanded closed again, and power from the overhead line can be taken.
See the illustration to the left, for an overview of the installation. The yellow arrow indicates the direction of travel; the red line indicates which parts of the contact wire are still live, even if the Automatic Power Control system has opened the train’s air-blast/vacuum circuit breaker, and finally, the blue line shows the location of the neutral section itself.
Updated UkTrainSys cross-platform .NET plugin (v0.3.1.3), with enhanced neutral section and APC simulation
Anyway, an updated version of the UkTrainSys plugin is now available together with the class 323’s 3D cab (version 0.3.1.3 – downloads can be found further down), and I’ve made some improvements to the simulation of electric trains. Firstly, I’ve modified the pantograph behaviour – when the pantograph is rising or lowering, pressing the Up/Reset or Down button has no effect until either operation is completed. Pressing the Up/Reset button when the pantograph is already raised, will just re-close the air-blast/vacuum circuit breaker (ACB/VCB) if it’s open.
Secondly, and more importantly, I’ve significantly improved the simulation of neutral sections, and Automatic Power Control. Now, the APC magnets and the actual neutral section itself can be declared separately. This means that every time the correctly defined APC magnet beacon is passed, it will flip the current state of the train’s ACB/VCB. This however, does not affect the actual availability of line voltage from the contact wire.
What this means, is that if the ACB/VCB is tripped open by an APC magnet, but your train stalls because you weren’t travelling fast enough, you can now manually re-close the ACB/VCB by pressing the pantograph up/reset button. If the train’s pantograph is not within the separately defined 4 metre long neutral section, you can take power from the overhead supply once again, and move the train backwards or forwards as appropriate, so you can try to build up enough speed in order to coast through the neutral section without stalling, this time. If the train’s pantograph does stop within the neutral section, then line voltage is not available, even if you try to re-close the ACB/VCB. In this case, you have to hope that your train is on a gradient, such that if the brakes are released, the train will roll out of the neutral section due to gravity. If this isn’t possible, then you have some explaining to do!
There is a more interesting aspect to this, though – with UkTrainSys, you can now drive backwards through a neutral section, not just forwards, and still have the full simulation experience. On a unit like the 323, (I think) the APC receiver is located on the bogie beneath the pantograph, on the second coach. The beacon receiver on an openBVE train is located at the front of the train, however – where the driver is (thereabouts). If travelling forwards, then when the front of the train passes an APC magnet beacon, this triggers a point-based event, and a check can then be performed, which will only carry out the ACB/VCB operation when the train is so many metres beyond the beacon; i.e the distance between the front of the train, and the location of where the APC receiver is supposed to be. But what happens if the train is travelling backwards? The location where the APC receiver is supposed to be, will pass the APC beacon before what is now the rear of the train (where the driver and openBVE’s beacon receiver are located), will pass the beacon, and hence trigger a beacon related event. This obviously won’t work properly, as the action triggered by the beacon, won’t happen until it’s beneath the driver’s position, which is too late when travelling backwards.
So, the UkTrainSys plugin now includes what I’m calling the “Offset Beacon Receiver Manager” (OBRM). Whenever the UkTrainSys plugin passes an APC magnet beacon while travelling forwards, the plugin stores information about the beacon in an array. The stored information includes the beacon type, it’s location, it’s optional data, and an offset distance which equates to the distance between the front of the train, and the location of where the APC receiver is supposed to be. The OBRM continually checks whether the train is currently travelling forwards or backwards, and whether the APC receiver location has passed the actual beacon location, taking direction of travel into account. When the trigger point occurs, the OBRM issues a command to the APC system, rather than doing this via the SetBeacon() method. The only other thing to mention, is that jumping to a station clears the encountered beacon history, so you actually have to drive forwards over a beacon for it to be stored by the OBRM.
This means that you can drive an EMU like the 323 through a neutral section backwards, but it also means that a Driving Van Trailer (DVT) with an electric loco pushing a rake of coaches from behind, can respond to the APC magnets at the correct time and location, whether travelling forwards or backwards, too.
- Class 323 3D cab with pre-configured UkTrainSys plugin [v0.3.1.3 – 2.3 MiB]
(The unrefurbished class 323 from Trainsimcentral is required first – the 3D cab and plugin update should OVERWRITE any existing files in the “Cl323 Unrefurb_openbve” folder).
Also, the UkTrainSys changelog can be found here: UkTrainSys project page.
Short neutral section test route, for use with UkTrainSys and the class 323 with 3D cab
I’ve prepared a short test route so that you can try this new feature. The route includes two neutral sections; the first on level track, and the second on an incline. Using the class 323 with the latest version of the 3D cab update and UkTrainSys plugin, you can drive through the neutral sections and play with the new behaviour.
The neutral section test route (the white board gives notice of the neutral section)
|
On the first run, just pass through a neutral section as normal – it should seem pretty much identical to the neutral section experience in Network West Midlands, using Simon Gathercole’s BVE 4 UKMUt plugin.
On the second run, you can do things differently though – approach a neutral section slowly, and let your pantograph (where the APC receiver is located) pass the first pair of APC magnets, such that the VCB is tripped open, and then apply the brakes and come to a halt. You’ll note that the Line Volts indicator extinguishes, the VCB indicator light illuminates, and that you can’t take traction power – your train appears stuck. However, when the 323 has stopped, you can now reset the VCB by placing the reverser to Neutral and pressing the ‘2’ key – you should hear the VCB closing with a thud. Provided your pantograph is in contact with a live section of overhead line, the Line Volts indicator will illuminate again, and the VCB indicator will extinguish. Now you can take traction power. But what happens if your train is so close to the dead section of overhead line, that you can’t accelerate enough to coast through the neutral section, without stalling? You have to go to the external view by pressing ‘F2’, so you can see what side of the neutral section your pantograph is on, and choose whether to move the train forwards or backwards, such that you can take a “run up” at the neutral section, next time.
If you do stop with your pantograph in contact with the neutral section itself, then there is no line voltage, and resetting the VCB or lowering and raising the pantograph won’t change this. If you are on level track, your train is stuck there (you can cheat, and jump to another station, though). If however, you are on a gradient (the second neutral section is on an incline), then you can move the reverser to Neutral, and move the power handle to Off, and then release the brakes. Your train will now begin to roll backwards due to gravity (in reality, you would need permission from the signaller to do this). When your pantograph makes contact with a live section of overhead line again, the Line Volts indicator will light up, and you can take traction power again. If you continue rolling backwards, you’ll pass the APC magnet prior to the neutral section – this will trip open your VCB, despite heading away from the neutral section, and you’ll have to apply the brakes, stop the train, move the reverser to Neutral, and press the ‘2’ key to reset the VCB. Once done, you can take power, and go back as far enough as is required, to build enough speed in the forward direction to successfully coast through the neutral section.
Screenshots showing new sunset backdrops, and improved Brecknell Willis Highspeed pantograph models
Finally, I’ve been busy taking photos of sunsets again this week, and I just wanted to post a few more screenshots of the latest enhancement to the Cross-City South v2.0 and Watford Junction to Rugby routes. I’ve also, finally, got around to improving the Brecknell Willis Highspeed pantograph model, which now includes a full 3D pantograph head, with textures used throughout:
I hope you like the latest developments. 🙂
Tags: Artwork, Cross-City South, openBVE, Screenshots, Site News, Software, Trackwork, Watford Jn to Rugby
Posted in openBVE, Site News | 8 Comments »
November 20, 2010
New cross-platform .NET plugin for UK trains released, class 323 3D cab and Cross-City South v1.31.09 update, openBVE v1.2.9 development branch, .NET plugins and AI support
Posted by admin on November 20, 2010 at 7:30 amNew cross-platform .NET plugin for UK trains (EMUs currently), 323 3D cab / X-City South v1.31.09 updates, and openBVE v1.2.9 AI support
After the latest development branch of openBVE (v1.2.9 series) was released last month, I started work on a new open source, cross-platform plugin written in C#, which I wanted to be a suitable alternative to the plugin currently used by the class 323 EMU. Simon Gathercole’s UKMUt.dll has served me well since BVE Trainsim 4 was released, but after the latest openBVE developments, I knew the time had come to create a new plugin which could be developed to take advantage of the new possibilities which openBVE now provides. I also wanted to create a plugin which could be updated as openBVE develops, either by myself, or with help from other programmers and developers, so that the community doesn’t need to experience plugin-related problems for too long.
This new plugin is called UkTrainSys (short for UK Train System of course); it is modular in design, and aims to simulate a variety of systems that trains which run on the UK’s rail network may be equipped with. Initially, I’m working to recreate as much of the functionality found in Simon Gathercole’s range of BVE 4 plugins as necessary, although some new features are included as well. So far, the plugin features the following:
- Automatic Warning System (AWS);
- Train Protection and Warning System (TPWS);
- Driver Reminder Appliance (DRA);
- Vigilance Device;
- Traction and brake interlocks;
- Battery which can be discharged, recharged and overloaded;
- Overhead supply;
- Pantograph and vacuum circuit breaker;
- Automatic Power Control;
- Power supply and electrical system circuit breakers (more for future use);
- In-cab blower;
- Head and tail lights;
- AI guard for station stop monitoring and buzzer codes;
- AI Support which assists openBVE’s AI human driver in handling systems simulated by the plugin automatically
(including support for visible in-cab driver’s hands and arms).
Note: Wipers, windscreen rain effects and diesel engine simulation are yet to be started. I’m also planning for various other systems to be inlcuded in future, such as TPWS+ (TPWS Plus), RETB, ERTMS, random failures, and a tap changer.
Users of trains which include plugins developed for BVE 4, will likely know that when openBVE’s AI human driver is enabled, the AI driver may not always be able to operate a plugin enabled train correctly, simply because openBVE has no way of knowing what systems are simulated by a plugin, and even if openBVE did know what systems were simulated, it still wouldn’t know what to do with them. Hence, the new UkTrainSys plugin uses openBVE v1.2.9’s AI Support feature, which lets the plugin assist openBVE’s AI human driver with operating the systems which are simulated by the plugin.
When you start a route, and enable openBVE’s AI human driver by pressing Ctrl+A, while using the latest release of the class 323’s 3D cab in combination with the UkTrainSys plugin (see below for the download), you will see the AI driver’s arms and hands reach out for the controls, and interact with them whenever necessary. The AI human driver will run through the startup and self-test procedure for you, pressing the AWS reset button, raising the pantograph if required, and setting the taillights and headlights. The plugin takes the time-of-day into account, so the correct headlight setting is chosen based upon the in-game time (and updated as the day goes on). The AI driver will deactivate the DRA before departure, respond to the guard’s buzzer signal with a buzzer response, cancel AWS warnings as they occur, respond to TPWS brake demands, re-raise the pantograph if it is lowered mid-journey, and so-on. The UkTrainSys plugin’s AI Support will also respond to a new beacon type, which instructs the AI driver to blow the horn at certain locations.
Issues with TPWS Isolation, and the driver’s arms remaining visible after turning off openBVE’s AI driver, are hopefully resolved…
I’ve updated the class 323’s 3D cab with new animations which require the UkTrainSys plugin (now included in the download), and I’ve also equipped Cross-City South v1.31 with the aforementioned new beacon type, so the AI driver can sound the horn automatically.
- The updated 323 3D cab and pre-configured UkTrainSys plugin can be downloaded here [2.3 MiB]
(The unrefurbished class 323 from Trainsimcentral is required first – the 3D cab and plugin update should OVERWRITE any existing files in the “Cl323 Unrefurb_openbve” folder). - If you are already using Cross-City South v1.31.071, you can download a small update to v1.31.09 link out of date [95 KiB]
If you don’t already have the route, aren’t sure which release of Cross-City South v1.31 you already have, or want to see details about the latest changes, please download the full version and visit the Cross-City South v1.31 project page instead.
The UkTrainSys plugin also has it’s own project homepage, where just the plugin, source code, current and planned feature list, changelog and documentation can be found. Train developers with an interest is using the UkTrainSys plugin, now or in future, may wish to visit the following page and read the documentation.
Note: If you have downloaded the updated class 323’s 3D cab with the pre-configured UkTrainSys plugin, remember that you should not overwrite the UkTrainSys.cfg file included with the class 323 3D cab update!
UK Train System (UkTrainSys) Cross-platform .NET Plugin [Alpha release now available] |
I’ve also been working on some new backdrops for both Cross-City South v2.0 and Watford Junction to Rugby. I was happy with the daytime backdrops which you’ve all seen already, but the sky portions of the last set of sunset and sunrise backdrops were entirely hand-made (replacing low resolution BVE4-era images), and I wanted to replace these with photographic textures of a similar quality to the daytime backdrops instead. Fortunately, there as been some favourable weather during the past few days, so I was able to take some nice photographs. Here are the new sunrise and sunset scenes, shown with the 323’s latest 3D cab update, and the openBVE v1.2.9 / UkTrainSys plugin enabled AI support feature in use:
Recent openBVE v1.2.9 development branch updates
Towards the beginning of the November, openBVE v1.2.9.11 was released (now up to v1.2.9.15), and Michelle introduced a new set of experimental preprocessing directives. These take the form of $if(), $else() and $endif(), and obviously, these allow for conditional parsing of blocks of code within a route file. This can be an alternative means of achieving what can be accomplished with the $Include directive, which is handy when only a small block of code needs to be conditional.
Personally, I’m finding this very handy for such features as temporary speed restrictions (TSRs). In this scenario, I can randomly introduce TSRs at different locations, so routes can be rather more fun to drive. At the start of the file, we can declare a variable $Sub(0), which has a random number assigned from within a certain range, and then use the value stored in $Sub(0) as a condition which is used by $if() directives. If the value held by $Sub(0) is zero, then the code within any $if() block which depends upon this variable is not used, but if the value is greater than zero, then it is. By using the $else() directive, we can show something else if the TSR is not to be included, such as discarded sections of old rail, left there by the track workers after they made their repairs and removed the TSR. Spate indicators could be handled in a similar way.
For example:
$Sub(100) = $Rnd(0;1)
With Structure
.FreeObj(0) tsr_warn_20mph.csv
.FreeObj(1) tsr_20mph.csv
.FreeObj(2) tsr_terminate.csv
.FreeObj(3) discarded_rail_sections.csv
.FreeObj(4) track_workers.csv
.Beacon(0) portable_aws_magnet.csv
With Route
; Enclose the route commands related to a TSR within $if()/$else()/$endif() directives…
$if($Sub(100))
3000, .Beacon 44001;0, ; portable AWS magnet
$endif()
$if($Sub(100))
3183, .Freeobj 0;0, ; 20 mph TSR advanced warning board
$endif()
$if($Sub(100))
4200, .Freeobj 0;1, .Limit 33;0, ; commencement of 20 mph TSR
$else()
4305, .Freeobj 0;3;5, ; no TSR so show discarded old rails instead
$endif()
$if($Sub(100))
4400, .Freeobj 0;2, .Limit 97;0, ; termination of TSR
$endif()
It’s also possible to use these new preprocessing directives elsewhere in the route file. For example, a different object could be assigned to a free object index, depending upon a condition being true. You can also nest these new preprocessing directives; i.e. place $if/$else()/$endif() selection statements within other selection statements, for example:
$if($Sub(100))
4200, .Freeobj 0;1, .Limit 33;0, ; commencement of 20 mph TSR
$if($Sub(101))
4205, .Freeobj 0;4;-4, ; track workers shown based upon another $Sub variable but only if the TSR is shown
$endif()
$else()
4305, .Freeobj 0;3;5, ; no TSR so show discarded old rails instead
$endif()
Support for these new preprocessor directives is still experimental, and not guaranteed to be included in the next stable release of openBVE, however I’ve not encountered a problem with the feature thus far, at least with regard to the things I’d like to use the feature for, and it’s really very easy to use. Some more testing would be beneficial, but I hope the feature stays, and I’ll certainly be making use of it if it does.
Other news – Chashinai .NET plugin updated with AI support, new Network West Midlands video, and FEVF railway updates
In case you weren’t aware, the new cross-platform .NET plugin which is used by the trains which run on the Chashinai Railway, was updated earlier this month to include AI support, which is a lot of fun, especially with the Chashinai 9000 series train complete with ATS-Sn, ATS-P, ATC and TASC. As with the new UkTrainSys plugin, the updated Chashinai Railway plugin’s AI support assists openBVE’s AI human driver in operating the safety systems, so you can enable the AI human driver and even watch the startup procedures handled by the AI driver. The plugin source code is available as well, of course.
Chashinai Railway Takahagi Line (9000 series train, ATS-P, AI driver enabled) |
I also wanted to quickly mention that Steve Green has posted a short YouTube video of the upcoming Network West Midlands 2010 update, demonstrating animated level crossing barriers interlocked with the signalling, together with updated objects such as a new AWS magnet, which I thought looked really good:
Several other videos of the upcoming NWM release can also be found on Steve’s YouTube channel, and screenshots can be found on the Network West Midlands website.
Lastly, I wanted to show something a little bit different – Roberto Benini, developer of the FEVF (Ferrovia Elettrica Val di Fiemme) railway, has released an animated Mallet Henschel & Sohn 6036 steam loco for openBVE, which is well worth a look, and I noticed that the FEVF Railway itself now has some moving trains at Cavalese station too. The route and train can be downloaded here:
Roberto Benini has also posted a YouTube video of the new loco:
Tags: Animated Objects, Artwork, Cross-City South, Functions, openBVE, openBVE Community, Screenshots, Site News, Software, Watford Jn to Rugby
Posted in openBVE, Site News | 13 Comments »
October 14, 2010
July 11, 2010
openBVE v1.2.7.0 released, new Railsimroutes.net site design, Cross-City South v1.31.07 and miscellaneous project updates, Watford Junction to Rugby screenshot featured in the UK’s PC Gamer Magazine, Genova Brignole – Recco route (as far as Genova Nervi) released
Posted by admin on July 11, 2010 at 6:00 amopenBVE v1.2.7.0 released
Today sees the release of openBVE v1.2.7.0, and some interesting changes have taken place. To begin with, the handling of key and joystick buttons has been revised, and key repeat is now possible. This means that you can hold a key down, and after a short delay, the keypress will be repeated continuously until the key is released again. I’m glad that openBVE now supports this functionality, and this is great for quickly moving a power handle to the limit of it’s travel without having to keep tapping the key, or for sounding the horn in a long and loud fashion, for example. The fly-by camera has also been improved, and now, the leading vehicle (of the nearest train) is tracked by the camera, which is great for loco-hauled trains in particular. 🙂
Superelevation is now simulated differently as well; in previous versions, when cant was applied, the train would simply rotate around it’s z-axis, but now, the outer wheel is raised instead. Cant is also interpolated better now, leading to smoother transitions between differing levels of cant. I’m currently rebuilding the canted track objects used by my routes to make better use of these openBVE improvements, such that the wheels will remain on the rails when passing along superelevated track, and the cant transitions at either end of such sections:
Screenshot showing superelevation in openBVE v1.2.7.0 and Cross-City South v2.0. Note the wheels touching the rails throughout the transition curve (scenery is not finished yet). |
Cant behaviour can also be adjusted now, via the new 'Options.CantBehavior' command. Previously, cant was always applied towards the curve centre, i.e. banking inwards, and this couldn’t be overidden. Also, it wasn’t possible to have cant on straight track. Now though, cant be in either direction, regardless of the direction of the curve, and cant can be applied on straight track too. How might this be useful for simulating a real railway? Well, on the 11th July last year (exactly a year ago as it happens), I was unexpectedly invited for a visit to the preserved Gloucestershire and Warwickshire Railway, and this line has a curve known as Chicken curve, and one peculiar feature was that the cant at this location leaned outward from the curve rather than inwards. So, openBVE can simulate this too, now. Class 20 “chopper” (20154) was our traction on the day, and here’s a photo for fans of the class 20, which I took before we departed from Toddington:
In the cab of a class 20 loco at Toddington, on the preserved Gloucestershire and Warwickshire Railway. |
The simulation of track inaccuracy has been overhauled, too. Previously, the familiar cab and vehicle sway was achieved with horizontal and vertical movement, but now, cant inaccuracy and bounce is also modelled, and cars rock from side to side as well as moving vertically and horizontally. While we were testing the new inaccuracy model, I found that this was an interesting way to represent the effect of travelling over more poorly maintained jointed rails. I’ve made some adjustments to the track accuracy in the newly udpated Cross-City South v1.31.07 (see below for download), and travelling over pointwork or on the jointed rail sections of the Cross-City South, should be a little more interesting now, especially when the class 323’s 3D cab is used. 🙂
Essentially, I think .Accuracy values of 0 to 2.0 are suitable for continuous welded rail, and values of 2.1 to 4 are suitable for jointed rails. I’m aware that not everyone may be sure about the new inaccuracy model, however I think it works well when used sensibly, and I would also point out that the development release has been publicly available for testing for at least three weeks, so if you don’t like it, you’ve missed your chance to give feedback prior to the latest stable release. Nevertheless, if you have any comments, please let us know. Personally I prefer the new algorithm and enjoy the representation it can give when accompanied by the sounds of jointed rails, but some may prefer the old; please give it a try with the updated Cross-City South v1.31.07 and class 323 3D cab though (see below), as this update shows what the new inaccuracy model can do. Also bear in mind that you may only prefer the old algorithm because you’re used to it, not because it was more realistic; the old algorithm had it’s limitations.
Also, BVE4 style timetable textures can now be displayed when 3D cabs are used, and not just with legacy 2D panels, although this is considered an experimental feature. The timetable texture can be shown as part of the in-game user interface overlay, or as part of a 3D cab (animated object); if the latter is not specifically catered for within the 3D cab, then the former is the default behaviour. Adding BVE4 style timetables to a 3D cab is easy to do; I would recommend simply creating an object with a four-vertex mesh and default texture applied (which is shown if there is no timetable image to display), and add this object to your panel.animated file. Then, make use of the new 'TextureOverride =' command:
CreateMeshBuilder
AddVertex,-0.35,2.9,11.52
AddVertex,-0.06,2.9,11.52
AddVertex,-0.06,2.6,11.52
AddVertex,-0.35,2.6,11.52
AddFace,0,1,2,3
LoadTexture,some_suitable_default_texture.png
SetTextureCoordinates,0, 0, 0
SetTextureCoordinates,1, 1, 0
SetTextureCoordinates,2, 1, 1
SetTextureCoordinates,3, 0, 1
[Object]
States = 3d_cab\timetable.csv
TextureOverride = timetable
I’ve added the aforementioned timetable functionality to the class 323’s 3D cab, but it’s commented out by default, as displaying the timetable images via openBVE’s UI overlay makes more sense where the Cross-City South and class 323 are concerned, plus the feature is still experimental.
You can download the update here, and if you want to experiment with the 'TextureOverride =' command, please see the included ‘Readme_3DCab.txt’ file:
→ 3D cab for unrefurbished class 323 – July 2010 [1.7 MiB]
For more detailed information about the new cant behaviour, and timetable support in .animated objects, please read the official openBVE documentation. For details of all the changes introduced with the v1.2.7.0 release of openBVE, including those not mentioned here, please see the changelog.
Cross-City South v1.31.07 update
As openBVE v1.2.7.0 has been released, I’ve updated Cross-City South v1.31 to remove an obsolete timetable texture, changed some of the timetable images to make them suitable for both openBVE and BVE4, and made adjustments to track inaccuracy to take better advantage of openBVE v1.2.7.0’s new track inaccuracy model. I’ve renamed the route folders to more clearly indicate which sets of routes should be used with openBVE, BVE 4 or BVE 2, as well. I’ve also decided to finally split the openBVE routes away from the BVE 4 routes, as testing every openBVE improvement across numerous route files for 100% backwards compatibility with BVE 4 is somewhat inconvenient, and this also lets me get rid of all those pesky "detail levels" in the openBVE route folder, as these simply aren’t needed with openBVE. The new naming convention is as follows, and should be much clearer (the BVE 2 foldername is as it is, so it’ll fit within the size constraints of BVE 2’s small file selection list):
- <YourPath>\Railway\Route\Bham_XCitySouth_BVE2\
- <YourPath>\Railway\Route\Birmingham_Cross-City_South_BVE4\
- <YourPath>\Railway\Route\Birmingham_Cross-City_South_openBVE\
Cross-City South v1.31.05 users can download a smaller update here, which updates v1.31.05 to v1.31.07:
→ v1.31.07 update for existing Cross-City South v1.31.05 users [1.03 MiB]
If you have an earlier version of Cross-City South installed, or you’re not sure which version you already have, please download the full version instead.
Genova Brignole – Recco route (as far as Genova Nervi thus far) for openBVE released
I wanted to mention that a fantastic new route has been released for openBVE, the Italian Genova Brignole – Recco route (as far as Genova Nervi thus far, and 8.1 Km in length). This is one of the most graphically excellent routes I’ve seen to date, with superb textures, and I’m impressed; the route is beautiful. There are some animated objects to enjoy, and staggered catenary as well, which is great to see; pedantic people like me will note that some registration arms pull in the wrong direction, though. 😉
You’ll likely need to read the included PDF instructions before operating the newly released ALn501 – Minuetto v2 train, but it’s well worth the effort. Incidentally, the train comes with some very detailed exterior car objects. These look very nice, although they would benefit from the addition of custom normals to smoothly shade some of the surfaces. Please note that these exterior car objects may have quite an impact on your framerate; even on my Core 2 Quad Q9650 / GeForce GTX 260 system, I get around 30fps in the external view, which is down from anywhere between 80 – 300 fps in the cab view. If you have a slow PC, you may want to stay in the cab. I’m looking forward to seeing this route develop further. 🙂
The Italian Genova Brignole – Recco route (as far as Genova Nervi thus far), available from BVEMania (Trenomania) (see the Download section) |
Miscellaneous news
I’m officially announcing the Railsimroutes.net UK Railway Infrastructure Object Library today, which will contain all the objects and textures which are shared between my two upcoming openBVE route projects, Birmingham Cross-City South v2.0, and Watford Junction to Rugby v1.0. This library will be maintained by me, and all developers will be welcome to install and use this library with their own projects, without any conditions or requirement to seek permission.
The library will contain all sorts of objects, including track, catenary, signals, lineside objects, some basic scenery, and so-on, which might help to make new routes easier to develop. It will also have the advantage, that whenever I update the library, perhaps with higher quality textures or better objects, any routes which call upon the library, will also get updated. I’ll plan it carefully, to ensure that changes remain backwards compatible. I anticipate that the library will be released along with Cross-City South v2.0 initially, and then it’ll receive it’s first update when Watford Junction to Rugby is ready.
UK Railway Infrastructure Object Library [Now in development] |
Next, as you may have noticed, I’ve decided to increase the version number of my upcoming Cross-City South upgrade for openBVE, from version 1.4, to version 2.0. I think I’m making enough changes and enhancements to the route, to justify a version 2.0 release instead. 🙂
I’ve also updated the openBVE Help and Information section to cover the installation of openBVE in Ubuntu 10.04 (Lucid Lynx). It’s hard to imagine how installing openBVE via the Ubuntu Software Centre could be any easier, and installing openBVE via this method, also makes installing and running the latest official openBVE release with Mono, easier too. I’ve decided to remove the instructions explaining how to run openBVE with Wine, as I’m experiencing problems with the version of Wine available for install with Ubuntu 10.04, relating to GDI+ (and the problem isn’t just occurring with openBVE, either). Perhaps something to do with a Beta release of Wine being supplied rather than a stable release, I don’t know. Running with Mono is much easier though, if you can live without plugin DLLs.
openBVE Help and Information updated for Ubuntu 10.04 users |
I was lucky enough to have one of my screenshots published in the July issue of the UK edition of PC Gamer magazine, where I also gave a brief overview of the work being undertaken on openBVE 2. I will admit that it was nice to handle such a press enquiry! Here’s the screenshot which was chosen for the article, shown amongst screenshots of various simulators, such as Railworks, X-Plane, Sail Simulator, Space Shuttle Mission Simulator, and others:
The Watford Junction to Rugby screenshot chosen to appear in simulation article “The Realists”, in the July 2010 issue of the UK edition of the best selling PC Gamer magazine. |
Incidentally, I also want to apologise for the lack of progress with my routes, and for posting so many screenshots and not delivering anything, which I feel that some of you are not impressed by. This is mainly due to me working on openBVE 2, which means that I don’t have much time to devote to the routes at the moment. openBVE 2 is a priority though, and a fantastic experience for me, so I hope fans of my routes will understand. Besides, both routes will run even better in openBVE 2, anyway. I know that the routes look more-or-less finished already, but they’re not – there are such issues as missing track in places, performance optimisations which still to be carried out, and an entire missing station to deal with at Rugby, to name but a few examples. I don’t make a habit of releasing junk and expecting people to be happy with it, so the projects won’t be released until I’m satisfied that a decent standard of quality has been achieved; that doesn’t mean they have to be perfect in every way, just not a disappointment.
New Railsimroutes.net site design
As regular visitors will have hopefully noticed, I’ve redesigned the website, as I felt it needed an update, and I also wanted to put some updated website design skills into practice. The site was last redesigned in 2007 with a theme called “Modern”, characterised by a metallic grey colour scheme and smoothly shaded backgrounds, where Windows users would have been greeted with the Tahoma font throughout, and it was designed to be XHTML 1.0 and CSS Level 2 compliant. However, the content of the site wasn’t reorganised very much since the time of the previous “Retro Blue” design, and over time it became somewhat cluttered and untidy in my view.
This latest redesign is the fourth incarnation of the site, with a new theme called “Clarity” (hopefully it might live up to it’s name ;)). The new design is meant to be clearer, better organised, and easier to read. The site has been completely rebuilt from scratch; PHP is now used as well as HTML, and much of the site is XHTML 1.1 and CSS Level 3 compliant. I’ve tested the new site using Firefox 3, Internet Explorer 8, Opera 10, Chrome 5, and Safari 5, and everything works well. The site also works just fine in Internet Explorer 7 and earlier too (tested as far back as IE 5.5), but if you use one of those older Microsoft browsers, you might notice a minor rendering issue around the style selector dropdown box in the footer of each page. Essentially, I’m not happy having to devote much time to dealing with the quirks of browsers which aren’t properly compliant with more recent web standards, partly because it’s just annoying, but also because catering for them can lead to such browsers outliving their welcome (IE 6 springs to mind!). So, if you use Internet Explorer 7 or earlier and want perfect rendering, I would recommend upgrading to Internet Explorer 8 if possible, which is just fine.
I’ve also decided to reorganise the content of the site somewhat. The navigation bar has been expanded with the addition of Gallery and Help links, and the Projects and Downloads section has been overhauled to place emphasis on active projects, and non-help related information. Much more background information and history concerning my route projects is provided now, and information and downloads should be easier to find when they’re ready for release. You’ll also find a "What I’m currently working on" infobox at the top right of this page, which you can check to see what I’m up to, between blog posts. 🙂
I’ve taken the decision to remove some old sections of the site which never received much of my attention, and I’ve moved my old BVE 2 and 4 add-ons into their own de-emphasised legacy add-ons section, as they’re not really reflective of the quality of work I’m now producing; the emphasis is now placed on my upcoming openBVE projects instead. I’ve also introduced a sitemap, as a couple of people have indicated that some information was harder to find, previously.
I’ve also used a different selection of fonts this time:
- Windows 7 and Vista users will get the Segoe UI font throughout (along with the rather nice Consolas for code snippets), giving the best appearance.
- Windows XP users will also get the Segoe UI font, if Windows Live Essentials applications have been installed (for example, Messenger, Mail, Photo Gallery or Writer), or if Office 2007/2010 has been installed. XP users will also get the Consolas font with Office 2007/2010, or this can be downloaded free from Microsoft’s website. If neither Windows Live Essentials or Office 2007/2010 have been installed, but the free Microsoft Powerpoint Viewer 2007 is installed, then Candara (along with Consolas) will be seen instead. If none of these have been installed, then Trebuchet MS (along with Courier New for code snippets) will be seen, which are fonts included with Windows XP.
- Others will likely see generic sans serif and monospace fonts (although these look very nice in Ubuntu Linux, for example).
Incidentally, I experimented with CSS3’s @font-face declaration for embedding fonts, so that a consistent text style would be seen regardless of which fonts are installed locally on someone’s computer. This does indeed work fine, but I haven’t yet decided upon a set of fonts which I like, and which are also released with acceptable non-restrictive licencing terms, so that I can host the fonts on my own server without issues. I’ll explore this again in future, however.
More observant visitors will have noticed that I’ve also renamed the site slightly. I’ve dropped the “UK” part of “Rail Sim Routes UK”, and the site is now called “Railsimroutes.net” instead. The site is still available via two domain names, railsimroutes.net and railsimroutes.co.uk; I have no plans to retire the .co.uk domain, although you might want to update your bookmarks if you still use it.
Anyway, I hope you like the new Railsimroutes.net design. 🙂
Tags: Animated Objects, Artwork, Cross-City South, Functions, openBVE, openBVE 2, openBVE Community, Screenshots, Site News, Watford Jn to Rugby
Posted in openBVE, openBVE 2, Site News | 34 Comments »
April 14, 2010
Chashinai Railway April updates
Posted by admin on April 14, 2010 at 12:30 amWhat I would consider to be one of the flagship routes for openBVE due to it’s innovation, and one of the most varied and enjoyable, namely » odakyufan’s Chashinai Railway «, has been updated. The Misaki Line from Tawaramoto to Hitachiomiya can now be driven back and forth in both directions (via seperate route files), which is fun. The ATC system has also been redesigned, such that a gradual, smooth brake curve is now implemented, along with a Rapid Mode which removes the smoothening for use in the rush hour where trains are more frequent and adhering to the timetable is harder. Driving the Chashinai 9000 Series train with ATC, TASC and ATO activated is one of the most enjoyable things which can be done with openBVE, so I’d strongly recommend that you give this a try — it’s well worth it. Instructions can be found » here «. Please also note that the source code for the plugins used by the Chashinai Railway’s trains is included within the train download, and I’d recommend that anyone considering plugin development in future, study the cleanly written, concise source code as well, of course bearing in mind that a move to cross-platform .NET plugins will occur in future. Incidentally, publishing the source code for plugins is something I would like to see more train developers doing in future, and certainly something I will be doing in future (I’ll be writing a new cross-platform .NET plugin for the new class 323 of course), once » openBVE 2 « is in a more advanced stage of development.
Moving road vehicles have also been added together with traffic sounds, shown to best visual effect on overbridges, I think particularly on the Koriyama Line (also bi-directional), Takahagi and Ishinden Lines, and vehicles can be seen travelling parallel to the railway between Shirosato and Motegi on the Misaki Line as well. The use of texture shifting functions here, enables vehicles to appear as though they’re travelling along the road, despite it’s apparent gradient and directional changes. I’ll be doing something similar at Watford Gap and other locations on the Watford Junction to Rugby route, using a technique developed for 3D vehicles by odakyufan, » details of which can be found here «. Other details, such as beacons correctly aligned with sleepers and track are taken care of too, as I’ve tried to do with AWS magnets in my routes. You’ll also find far more variation in the numbers of passengers waiting to board your train, which makes stations pleasing and fun to approach as there’s far more to see now; the recent changes to openBVE regarding the weight of the train increasing with passenger load and the effect this has on performance, can be used to good effect here (don’t forget to download the most recent version 1.2.6.1 of » openBVE « for this to work). Watch out for wheelslip depending on location, environmental or meteorological conditions too!
Developers might also be interested in taking a look at how the Chashinai Railway’s route files have been prepared. openBVE’s $Include directive has been used extensively, with much greater efficiency and flexibility now possible.
Please visit » The Web Presence of Odakyufan « to download the latest release of Chashinai Railway, and also » this thread on the openBVE forum «, where additional screenshots, information, details and benefts of $Include can be found. This is sophisticated, high quality and beautiful work, and I look forward to seeing more in future.
Images captured at 1680×1050, with smooth transparency and 16xQ anti-aliasing and 16x anisotropic filtering (Please hover over any thumbnail image for a description) openBVE / Chashinai Railway screenshots Download from » The Web Presence of Odakyufan « |
Railsimroutes Projects
I know haven’t posted any updates regarding my own projects for some time, about which I can only apologise. I have a couple of features which I want to be working on for » openBVE 2 « first, however when I have time spare I’m also working on implementing another feature for both of my routes, and I’ll post some screenshots of this once I’m happy with how it all looks. More to follow fairly soon…
Tags: Animated Objects, Artwork, openBVE, openBVE Community, Screenshots, Site News, Trackwork, Watford Jn to Rugby
Posted in openBVE, Site News | 1 Comment »
January 31, 2010
October 12, 2009
High resolution openBVE screenshots and updates
Posted by admin on October 12, 2009 at 7:39 amThankfully 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.
Tags: Animated Objects, Artwork, Cross-City South, Hardware, openBVE, openBVE 2, Screenshots, Software, Watford Jn to Rugby
Posted in openBVE | 9 Comments »
July 5, 2009
New Video Uploaded: 3D Cabs (openBVE v1.1 Development Branch), 323 Interior, Watford Junction to Rugby Hi-Res
Posted by admin on July 5, 2009 at 3:50 pmopenBVE v1.1.1.0 (Development Branch), 3D cabs, and other stuff…
The first release (v1.1.0.0) in the development branch of openBVE was made available a few days ago, and now v1.1.1.0 has subsequently been released — the development branch includes support for full 3D cabs with animated objects, and mouse controlled camera rotation. v1.1.1.0 also introduces driver’s head motion, which responds to acceleration and deceleration, as well as inertia.
As many will no doubt have noticed, I’ve not shown much by way of screenshots or video of openBVE’s in-cab experience thus far, as personally, I’ve always viewed the existing 2D panel support as something of a legacy feature which didn’t really demonstrate openBVE’s true potential, so I’ve been waiting for this moment for a long time, and I have to say, it most certainly lives up to expectations and is quite simply fantastic! Applying emergency brakes has never been so much fun. 😉
Firstly, releases in the openBVE development branch are intended for developers who wish to expermiment with new features and offer feedback before these are eventually incorporated into the stable branch. Development releases may contain undetected issues, and features are subject to change, which means the development releases aren’t entirely suitable for regular users and the less technically minded, however I strongly recommend that developers and advanced users take a look at the development releases. If you’re interested in examining the new 3D cab support, you can head over to the » openBVE homepage « to download version 1.1.1.0, along with a demonstration 3D cab update for the 113-1000atccab train (look under Examples via the » Developing for openBVE « menu). Please also read the » Changelog « for a full list of alterations and new features.
Anyway, I’ve spent around a week working on a 3D cab for the new class 323 EMU and Cross-City South v1.4, and I’m really pleased with the results so far. I’ve uploaded a new YouTube video to briefly demonstrate the immersive nature of a 3D cab, the added realism, and some of the animated object possibilities — animated traction/brake controller, reverser and horn lever, working in-cab safety system indicators, simulated working headlights which give the effect of outside illumination (but see caveat below), along with working in-cab illumination. I think the potential of openBVE as a cab based simulator can now be truly realised, and speaking personally, this has forever changed the way I experience openBVE routes, and as long as photo-realism is maintained in new 3D cab environments, I’ll likely not want to go back to 2D cabs now.
This latest video was originally intended to show some other things I’ve been working on, so you’ll find many clips of the new 3D interior for the class 323, which includes seating, working television screens and lights, moving and streaking raindrop effects (inspired by the rain effects from Flight Unlimited 3), and ground illumination from the windows and pantograph sparking at night. The performance improvements which came with openBVE v1.0.7 also enabled me to capture some higher resolution video of Watford Junction to Rugby, of which many shots are included (and it has train sounds rather than my dreadful music this time 😉 ).
I’m also pleased to say that Cross-City South v1.4 now includes a full set of on-train conductor’s announcements, with enormous thanks to voice recording artist Pete Kingwell » http://www.petekingwell.com «. Pete has also recorded a set of alternative Birmingham New Street station announcements, and we agreed that all these sounds could be released into the public domain along with the rest of the Cross-City South v1.4 files once released. Thanks must also go to Paul Sladen (maintainer of the Ubuntu version of openBVE) for intiating this aspect of the project as well. I’m glad to be able to remove another set of copyright files from the route now, while being able to add something new which has been missing from the Cross-City South route for years as well, and an example on-train announcement is included in the video.
While viewing the 323’s cab, please note that I don’t actually know what the non-driver’s side of the cab looks like in any detail at all, so I’ve just had to use my imagination; if anyone can point out inaccuracies, feel free to tell me about them. Other than that, enjoy. 🙂
Video: Demonstration of class 323 3D cab, interior fittings, and Watford Junction to Rugby hi-res (work-in-progress) I strongly recommend viewing this video in full screen due to some night time shots, in which some details might be hard to make out otherwise. By the way, yes, I know 323 EMUs don’t run from Watford Junction — that part of the video is just a bit of fun. 🙂
» Link to YouTube page (HD – *Best Quality*) « |
Here’s a 1280×1024 resolution screenshot of the new 3D cab. The framerate here is 25 fps, with 8x anti-aliasing and 16x anisotropic filtering enabled (on a Radeon HD 2600 Pro graphics card). Smooth transparency and anistropic filtering was also enabled in openBVE’s settings as well:
openBVE / 3D Cab / X-City South v1.4 screenshot–click to enlarge |
3D Cab Features and Animation
For the 323’s 3D cab, I’ve opted for a combination of moderately complex 3D geometry combined with photo-realistic textures, some of which were easily adapted from the existing 2D panel images. Developing the new cab wasn’t really more difficult than developing any other animated object, as that is exactly what the cab is — it just took longer as there are more animated parts. The most difficult tasks I found, were probably the gauges and needles, which needed quite a lot of experimentation before the results were right, partly because the 323’s panel is sloped backwards rather than being vertical, meaning that correctly tilting the axis around which the animated needles rotate took a little while.
As an additional starting point for other train developers, here are the functions I’m using in the panel.animated file for the speedometer, main reservoir and brake cylinder needles, amongst other features, which I’m using.
Note: Some examples include two states, where one specifies an object illuminated by in-cab lighting, and the other specifies a non-emissive version of the object, shown when the power is cut, based on state of the ats31 plugin variable defined in the 323’s panel2.cfg file (when used with Simon Gathercole’s UKMUt.dll).
The Base 3D Cab |
Base 3D Cab Objects:
[object]
states = 3dcab\class323_dmso_cab_interior_lights_on.csv, 3dcab\class323_dmso_cab_interior_lights_off.csv
statefunction = !pluginstate[31]
These two objects contain any non-animated portions of the cab, but one is a duplicate with emissive properties disabled, so in-cab lighting can be turned on and off according to the state of plugin variable ats31 in this case, which simulates the effect of the power being cut, or a cold and dark cab environment.
Speedometer and Brake Gauge |
CreateMeshBuilder
AddVertex,-0.003,0.04,0
AddVertex,0.003,0.04,0
AddVertex,0.003,0.00,0
AddVertex,-0.003,0.00,0
AddFace,0,1,2,3
LoadTexture,speedometer_needle.bmp, speedometer_needle_n.bmp
SetTextureCoordinates,0, 0, 0
SetTextureCoordinates,1, 1, 0
SetTextureCoordinates,2, 1, 1
SetTextureCoordinates,3, 0, 1
SetDecalTransparentColor,0,0,0
SetEmissiveColor,200,200,200
RotateAll,0,1,0,90
[object]
states = 3dcab\gauges\speedometer_needle.csv, 3dcab\gauges\speedometer_needle_dark.csv
statefunction = !pluginstate[31]
position = -0.5505, 2.232, 11.452
rotatexdirection = -1, 0, 0
rotatexfunction = -3.678 + abs[speedometer] * 0.0945
rotateyfunction = -1.11
rotatezfunction = -1.57
The gauge background and cover are included as part of the base 3D geometry of the cab itself, not as seperate objects. The value -3.678 in rotatexfunction rotates the needle to 0 mph on this speedometer (adjust for your own gauge as required, using ObjectViewer to check the results). Where the last value (0.0945) is concerned, you can adjust this, initially, in 0.01 increments and test drive your train in openBVE until your speedometer is calibrated correctly (press Ctrl+V multiple times as required in-game, and compare the actual speed with the speed shown on the speedometer). Alternatively, you can temporarily replace the variable speedometer with a value in m/s (converted from the unit of measurement shown on your speedometer), check the calibration via ObjectViewer, and adjust the last value accordingly. The other rotation commands are there to tilt the axis around which the needle rotates, to match the sloped 323’s panel.
A similar approach applies to the following needles:
[object]
states = 3dcab\gauges\brake_needle.csv, 3dcab\gauges\brake_needle_dark.csv
statefunction = !pluginstate[31]
position = -0.741, 2.263, 11.462
rotatexdirection = -1, 0, 0
rotatexfunction = 1.12 + mainReservoir * 0.0000051
rotateyfunction = -1.11
rotatezfunction = -1.57
Brake Cylinder (range covers around 0-3.5 bar, as per the 2D panel)
[object]
states = 3dcab\controls\brake_needle.csv, 3dcab\controls\brake_needle_dark.csv
statefunction = !pluginstate[31]
position = -0.731, 2.263, 11.462
rotatexdirection = 1, 0, 0
rotatexfunction = -1.52 + brakeCylinder * 0.0000053
rotateyfunction = -1.11
rotatezfunction = -1.57
Combined Traction/Brake Controller |
The reverser is pretty straightforward, however this is what I’m using for the combined power/brake handle:
[object]
states = 3dcab\controls\power_handle.csv, 3dcab\controls\power_handle_dark.csv
position = -0.952, 2.0, 11.173
statefunction = !pluginstate[31]
rotatexfunction = if[powerNotch >= 1, -0.125 * powerNotch, 0.10 * brakeNotchLinear]
rotatexdamping = 20, 0.8
rotatezfunction = if[powerNotch >= 1, 0.05, 0]
rotatezdamping = 20, 1
The rotatexfunction line allows both brake and power notches to be taken into account; adjust the -0.125 value to change the angle of the controller when position P1 or above is chosen, and similarly the value 0.10 for the brake steps. While determining what values to use, you can temporarily replace the above function in rotatexfunction with a simple function in the form of ROTATION_VALUE * x, where the former determines the degree of rotation, and x represents your chosen power/brake setting (for example, in the case of the class 323, a value of 1 to 4 for position P1-P4, and similarly 1 to 4 for position B1 to B3 and EMG as we’re using brakeNotchLinear here).
Also, the class 323’s combined traction/brake controller doesn’t just pivot back and forth; it’s also offset slightly to the left during the P1-P4 steps compared to the B1-B3 steps (you can see this in the screenshot on the left), which is what the rotatezfunction and rotatezdamping commands are for.
Incidentally, you might have noticed that the combined traction/brake handle appears to be a rather rounded, and smoothly sculpted object — this is achieved with a combination of 3D geometry and a good texture which captured some reflected light, further improved with custom normals (as another side note, the spherical object at the end of the horn lever shown in the next section is a pair of simple 2D surfaces arranged in a cruciform fashion; no detailed 3D geometry is needed there). How might one go about creating an object like this power/brake controller, without a 3D modelling tool? What I do, is apply the idea of the computed axial tomography medical imaging technique (CT scan) to object building; I first create a set of flat, 2D polygons or layers with temporary faces to build the basic framework of the mesh (you can draw this on paper first and number the vertices, if it helps — handy when it comes to defining faces and texture mapping later), then I adjust the vertices of the first layer until the shape looks about right, and then create the next layer and adjust and so-on, and then define final faces of the object and delete the temporary faces, followed by the addition of custom normals and texture mapping:
This is also the technique I used for creating the AC electric loco roof sections, by the way:
Horn Lever |
[object]
states = 3dcab\horn_lever.csv, 3dcab\horn_lever_dark.csv
position = -0.07, 2.06, 11.234
statefunction = !pluginstate[31]
rotatexfunction = pluginstate[24] * 0.5
rotatexdamping = 30, 0.8
rotateyfunction = -0.3
The horn lever was straightforward to implement; it’s rotation simply depends on the value of the ats24 plugin variable in this case. rotateyfunction = -0.3 simply rotates the object so it’s perpendicular to the desk panel it’s attached to.
Other indicators |
[object]
states = 3dcab\indicators\tpws_isol.csv
position = 0, 0, 0
statefunction = !pluginstate[10]
This is simple and works fine, and is also recommended. However, if on a state change, you notice that the newly loaded object appears momentarily untextured, and this bothers you, then you can use the following technique instead…
states = 3dcab\controls\dra.csv
position = 0, 0, 0
textureshiftyfunction = pluginstate[13] * 0.5
CreateMeshBuilder
AddVertex,-0.5905,2.0885,11.381
AddVertex,-0.5485,2.0885,11.381
AddVertex,-0.5485,2.0525,11.365
AddVertex,-0.5905,2.0525,11.365
AddFace,0,1,2,3
SetTextureCoordinates,0, 0, 0
SetTextureCoordinates,1, 1, 0
SetTextureCoordinates,2, 1, 0.5
SetTextureCoordinates,3, 0, 0.5
SetDecalTransparentColor,0,0,255
SetEmissiveColor,255,255,255
SetColor,130,130,130
SetBlendMode,Additive
Here, the illuminated DRA image is placed in the bottom half of the texture, while the top half of the image is transparent. By using a texture shifting function, no state change occurs, so you won’t notice any momentarily untextured surface appearing which can happen when a state is changed and the object hasn’t been loaded previously.
If, for example, your ats subject had 4 states rather than 2 as in the above DRA example (with it’s bitmap split into 4 sections), you could use a value of 0.25 (i.e. 1 / 4) in your texture shifting function instead:
Simulated Headlight Effects |
I’m still experimenting with the simulated in-cab headlight effects and some refinements are needed, but here’s what I’ve come up with so far:
[object]
states = 3dcab\ext_headlight_1.csv, 3dcab\ext_headlight_1a.csv, 3dcab\ext_headlight_1b.csv
position = 0, 0, 0
statefunction = if[pluginstate[20] > 0, pluginstate[20] – 1, -1]
The object code I’m using is like the following:
ext_headlight_1.csv
CreateMeshBuilder
AddVertex,-1.3, 3.0, 11.67
AddVertex,0.6, 3.0, 11.67
AddVertex,0.6, 1.5, 11.67
AddVertex,-1.3, 1.5, 11.67
AddFace,0,1,2,3
LoadTexture,transparent.png, headlight_interior.png
SetTextureCoordinates,0, 0, 0
SetTextureCoordinates,1, 1, 0
SetTextureCoordinates,2, 1, 1
SetTextureCoordinates,3, 0, 1
SetBlendMode,Additive
SetColor,150,130,100,120
The three objects are flat, vertical surfaces which load a simple texture with a sunburst gradient fill, representing a glow (similar to the light_xxxxx.png signal glow images included with openBVE’s compatibility signal objects, or the pantograph sparking effects I’ve shown previously). The glow colour in the texture is white, and the SetColor command is used to determine what colour headlight is depicted (a yellowish-white in the example above); this way, only one texture is needed. These objects are positioned just beyond the cab window, and the additive blending mode simulates the effect of illuminating whatever is behind the surface (the track and scenery, in this case). The height of the surface determines whether just the track, or the scenery, appears to be illuminated. The file “transparent.png” is a tiny, completely transparent PNG file loaded as the daytime texture, so the headlight effect is only visible in low light (as it’s loaded as a nighttime texture), or when the .Brightness command is used.
The states are linked to the proving lights in the cab (ats20), and each object has it’s surface repositioned to simulate headlights on the left or right, or centred in the case of the marker lights.
There is one caveat however; while this works well at night, or when in a tunnel during daytime, the effect doesn’t look so good when passing beneath a short overbridge (i.e. where a low .Brightness value is set over a distance of just a few metres), as the headlight glow becomes visible here, when in reality it wouldn’t. As a compromise, what I’ll probably do in the final release, is reserve the headlight effect for the nighttime headlight configuration only, not the daytime configuration (possible with the UKMUt.dll plugin). You’ll have to decide whether this minor issue is worth it or not.
Class 323 Interior
I thought I’d talk a little about the 323’s interior as well. The interior view features the expected things; i.e. seats and partitions, but I’ve also included working TV screens, working carriage lighting, raindrop effects which run down and streak across the windows at varying speeds (depending on the speed of the train), and ground illumination from the windows and sparking pantograph.
Working TV Screens |
The working TV screens use simple texture shifting and translation functions — for the left screen with the car and rolling news ticker, there’s nothing I haven’t described before, apart from applying the functions to a very different set of meshes. Where the static effect is concerned, this is created by using two surfaces with a small texture containing a patchwork of black and white pixels; one of the objects has the texture reversed vertically and horizontally. One object is positioned slightly in front of the other, and both have alpha values set via the SetColor command to soften the appearance of the end result. These objects then have their textures shifted via the same function:
CreateMeshBuilder
AddVertex,0.46, 3.492, 3.597
AddVertex,0.765, 3.492, 3.597
AddVertex,0.765, 3.273, 3.597
AddVertex,0.46, 3.273, 3.597
AddFace,0,1,2,3
LoadTexture,Class323_TV_Texture_2.png
SetTextureCoordinates,0, 2, 0
SetTextureCoordinates,1, -0.001, 0
SetTextureCoordinates,2, -0.001, 2
SetTextureCoordinates,3, 2, 2
SetColor,0,0,0,180
SetEmissiveColor,255,255,255
AddVertex,0.46, 3.492, 3.595
AddVertex,0.765, 3.492, 3.595
AddVertex,0.765, 3.273, 3.595
AddVertex,0.46, 3.273, 3.595
AddFace,0,1,2,3
LoadTexture,Class323_TV_Texture_2.png
SetTextureCoordinates,0, 2, 0
SetTextureCoordinates,1, 2, 2
SetTextureCoordinates,2, -0.001, 2
SetTextureCoordinates,3, -0.001, 0
SetColor,0,0,0,180
SetEmissiveColor,255,255,255
[object]
states = ..\Class323_TV_2.csv, ..\Class323_TV_2a.csv
position = 0, 0, 0
statefunction = if[pluginstate[31] == 0 & pluginstate[33] == 0, -1, value == 0]
textureshiftxfunction = 2 * time
refreshrate = 0.01
The pluginstate[i] variables are there so that the TVs are only switched on when there’s power, and stay on when passing though a neutral section (ats31 is the Line Volts indicator, and ats33 the Vacuum Circuit Breaker indicator). The refreshrate = 0.01 line just adds a slight degree of flickering to the screen.
Window raindrop effects |
The raindrop effects also deserve a little more explanation. These are comprised of two surfaces, the first of which has ordinary raindrops similar to what you’ve seen in BVE 4 cabs, except here, the surface simply has one tiled, transparent texture containing multiple raindrops and the texture is slowly shifted. The second surface, loads a texture depicting several streaking rain drops, and the speed of the streaking is linked to the speed of the train, although they still move slowly down the window when the train is stationary. What I did differently, was to make the surface irregularly shaped, so the raindrops appear to change direction as they travel across the window due to turbulence or inteference:
[Object]
position = 0, 0, 0
states = Class323_DMSO_1_RainDrops_1.csv
statefunction = !pluginstate[200]
textureshiftyfunction = -0.1 * time
textureshiftxdirection = 0, 1
textureshiftxfunction = value – delta * speed / 60
refreshrate = 0.01
ats200 is one of the raindrops you’re familiar with from the 2D BVE 4 cabs…
Pantograph spark and ground lighting effect |
The pantograph sparking and ground illumination effect is a simple additively blended glow effect, which will appear mostly briefly at various times during a journey, but not continuously and not necessarily frequently. When seen for the first time, it might seem as though the effect appears at random, but actually the times at which you’ll see sparking are based on the speed of the train. This is acheived via the following function:
[Object]
states = Class323_Spark_1.csv
position = 0, 0, 0
statefunction = if[mod[speed, 3] > 2.9, value == 0, -1]
refreshrate = 0.03
Flashing Tail Light |
In terms of visual effect, the tail light is implemented just like the signal aspects. The animation code I’m using to achieve a short blink followed by a longer period of extinguishment is as follows:
[Object]
States = TailLamp_1a.csv
Position = 0, 0, 0
StateFunction = if[mod[time, 0.55] > 0.08, -1, 0]
Signal Ground Lighting |
These effects are really easy — the objects are just like the headlight objects mentioned previously, except these extend out behind the signal and are animated objects loaded via .SigF commands instead. The simple animation function I’m now using is as follows:
[Object]
Position = 0, 0, 0
States = Sig_GroundLight_R.csv, Sig_GroundLight_Y.csv, Sig_GroundLight_Y.csv, Sig_GroundLight_G.csv
StateFunction = if[section > 0, section – 1, 0]
Incidentally, I’ve now adopted more or less the same technique developed by michelle for openBVE’s compatibility signal objects where my own signal aspect/lens and glow effects are concerned, as it’s obvious that a lot of care went into these effects, and they look superb when applied to my own signal objects with the lens hoods as well (see the video…).
Updated Pantograph Animation Functions
Lastly, I’ve updated my old Animated Exterior Car Objects blog entry to include some updated unctions which resolve a problem with the code which I hadn’t considered previously. Bascially, the code I used meant that the pantograph animation speed was dependent on the framerate on the user’s computer, which is obviously no good — if slow framerates were encountered, the animation would proceed very slowly, while if high framerates were experienced, the animation speed would be too high. By incorporating the delta variable and a factor into the functions, this problem is solved. Actually this should have occured to me, because I observed this behaviour when I was experimenting with the wheel rotation initially… D’oh. Thanks michelle !
Tags: Animated Objects, Artwork, Cross-City South, Functions, openBVE, Screenshots, Videos, Watford Jn to Rugby
Posted in openBVE | 25 Comments »
June 1, 2009
The innovative Chashinai Railway, RSR-UK route randomisation, hi-res Watford Junction to Rugby screenshots, and server upgrades
Posted by admin on June 1, 2009 at 11:40 pmThe 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…
Server Upgrades
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.
Tags: Artwork, Hardware, openBVE, openBVE Community, Screenshots, Site News, Trackwork, Watford Jn to Rugby
Posted in openBVE, Site News | 1 Comment »