It should be no secret that I am a MAX developer, I’m trained in it, I worked with it for years and well, it makes sense. So, I tried Blender, like I’ve been doing for years, I did have previous experience, but as in the future , I’d like to go over to Linux and therefore Blender, it would make sense for me to try it. I just wish I could get hold of a PineBook Pro (they look interesting), I would go for the MNT Reform, but the prices are quite “Galactic” for what they are. They have some nice features and nice Right To Repair ideas, but still. Or even Framework would be a choice, despite my laptop of choice is actually a Toughbook.
So I started my first object as a test, this used splines, just splines, this is how it looked.
It was meant to be a Wickham Railbus, downsized to 25% of the screenshot size, which was built out of lines, or spline modelling, using diagrams as a start, then using a surface modifier or Blenders equivalent of, to form the shape. It wouldn’t be out of my comfort zone if it was max as I now do this almost all the time. But as the UI on Blender and the naming of tools is vastly different, its a lot harder. So I left it, wanted another go for something simpler to get the basics of it, so I built this thing.
Now I spent about 3 hours on it, the screenshot is what I started with, however, its not how it looks. I noticed a lot of mistakes and I keep finding them, so I had another go and the model below is how it looks.
Yeah, not much, but there is one bigger twist! So I tried it on my Hyper-V virtual machine which I use in and outside the house. Then found that Hyper-V doesn’t support a feature that Blender requires, meaning it won’t start Oh well, back to the drawing board. Hopefully, this will look more like a 10T or 12T wagon, its slow, but I’m learning how Blender works and my god, the amount of tutorials (and Google) I needed to even get this far.
… Passenger Point Queue Generator, the program that took my site offline once.
Its not often you hear a site taken offline for a program that well, does what its not supposed to. I spent quite a while developing PPQG (Passenger Point Queue Generator – for Trainz) and it’s suppose to help with randomising and creating queues for rolling stock for passenger trains. I might enhance this to include freight queues as well, as some of my projects also have freight queues (parcels) included. Not unusual for Railbuses.
I wrote this about 8 years ago in Visual BASIC 6, yes, really, on the train to and from work and it took quite a while. Across several computers and never finished. The reason why I never considered it finished, is because I left a module unfinished and never went back to it. Yes, I use it a lot, I’ve offered it out with its source code on this site which was fine for a number of years, until suddenly, my site got shut down because of it – because it contained malware. Got it back online, hosted it on Google Drive and it looks like its been deleted again. I have scanned it and some sites saying its clean, some are saying it has malware.
It looks like this, doesn’t actually do any file handling and its only 40KB long. I hope it’s bugless but it can probably be buggy accidently. (If you do find some, let me know please).
So used VirusTotal and it says 3 out of 71 providers consider it to have a virus which isn’t bad news, it just means that there is a way and style of my code writing matches a pattern in a Trojan or Virus. After all, all virus scanners look for is patterns in the code, if it matches that pattern, its a false positive. This could also be related to the VB6 libraries and embedded code to identify it as a VB6 programs but without asking a question to why, I will probably never find an answer. Nor would they tell me how their virus scanners work, because of intellectual property and secrecies that could be used to beat the virus scanner. So with that in mind, I started thinking about completely re-writing from scratch, this time, I used Visual Studio Community edition and the skills I already learnt.
The thing I find is that to understand the language as VB.net is vastly different than VB6 (the language structure is different and its more Object Orientated and its compiled rather than interpreted. I could develop it in C++ which isn’t beyond my capabilities, or C# or Java, just all 3 take a lot longer for me as I rarely program in those languages. When I go over to Linux, I might look at that, but then I may end up using GAMBAS anyway.
So, I started off like this on an old laptop that I was going to get rid of and ended up in use on my desk. (Dell Latitude E6430 ATG).
To get the randomisation to work took…. ages! But I worked it out with little help from the internet, which shows that I understand the basic language structure. When I started programming, I had high expectations of myself, thinking an experience programmer would understand off by heart all the required libraries. C++ is a strictly typed language and my god, it can be hell to work with. (Actually, in the office, that is a point, I wonder if the other 2 capable programmers understand C++?) until one of my tutors at the time pointed out that there is 25,000 libraries from memory, approximately! Yeah, I can’t memorise 25,000 libraries and what they do, that would be nearly impossible. Its bad enough understanding union rules for train crew or understanding the limits what you can do on the infrastructure. I know the other 2 understand VB, but Visual BASIC for Applications (which I avoid due to its flexibility). One has a basic understanding of VBA and had to explain to them how the VBA IDE (integrated Development Environment) window, like debugging features – inserting break points and the intermediate window, which is VERY powerful and you can understand how the program is working. But the code? That’s something else. The other understands VBA to a deeper level than me. (Oh one understands I believe Python that I find it difficult to get on with and understands Blender, whereas I tried Blender and struggled.) I like structured rather than spaghetti code, so all my loops and decisions are always indented to which one I am applying my code to (good programming practise) and I was always taught “Do not use GOTO statements”, its not quite true, but yeah, avoid them. Your code is messy! I always use modules; they allow reuse and small code. Goto statements? Don’t. How to get into a mess quickly and have zero usability of code.
On Err GoTo Hell.
You may not understand that! Anyway, I think I topped out for PPQG VB6 at less than 500 lines of code. I’m waiting to find out how this one is doing, but you will need Windows 10/11 at least as I’m building it for .Net Version 8. I prefer 3.5 as it doesn’t need 8.0 or even 10. No doubt I’ll talk about more of its development over time.
Russ the roofer – does it leak? No it doesn’t!
In other news
You may of noticed I’ve done some changes to the site too, small ones on some pages. I finally found the problem with my templates, so I’ve locked the sidebar, footer and header which resolved most issues on most templates and there is a search bar now. I’ve also put some files up, I had a separate page that just directly linked to a Google Drive as I wanted a publicly accessible drive for all the stuff that I’ve not put onto a page, but that didn’t, so I went the manual way. I’ve got some sources to put up and yes, you can download them and do what you like with them. There will be more in the future. That came from my WIP server and if you are after something that isn’t on my site, just drop me an email, the contact me page should work now and I’ll send it over. I also plan to add some sort of feedback to the side bar, so I’ll see how that goes – more importantly, time. Considering I’m feeling like “Bob the builder” at the moment. “Can I fix it? No I f***ing can’t!” As well as – going around the country on the coldest week on record!
Lets just say a Northern guard had a bit of a shock when I hid under a hood and a scarf covering my face, then presented them with my Southern ITSO card, my Staff ITSO card, my PRIV card and my PRIV rate ticket. – it was blowing a gale at -2°C. I had a good laugh, just the Class 150 I was on, (between Ribblehead and Salford Cresent) went from nice and toasty, to the time we got to Blackburn – (or was it Bolton?), it was bloody freezing.
Yes, that is an Class 805 Evero, yes, that is Ribblehead, Yorkshrie. Unfortunately, I’m not friends with Class 800s now, one took me and a lot of passengers prisoner at Carlisle by refusing to release the doors on 5 out of 10 coaches, with loads of alarms going off in the cab as the train refuses to co-operate with the door release buttons. Considering I was a full fare paying passenger in that I actually brought an advance single on a Disabled Railcard.
EDIT much later (next day in fact!):
A partially wasted Sunday with little to do, I was able to get it working. Well, I say wasted, I did manage to rearrange my desk so it was more usable for my height. But, after a lot of head scratching and finding out why variables weren’t parsing, I managed to fix it:
Only 4 or 5 hours to get back into it and produced something useful. VB6 skills are still relevant. (And I didn’t resort of Xojo – another BASIC IDE!) – hopefully, it’s easy to read. I can add a crap ton of comments if you REALLY want.
This is sort of how the Class 205 is looking at the moment, unfortunately, progress is crawling as it is stuck in development hell. The other problem is how the scaling has affected the model data in GLB and I’ve also removed the textures for the time being, but yes, it appeared in Connex colours (remember them?). Model is a bit of a mess at the moment, but it is just to show you the progress. The bogie however or the trailer one, has been shown on another entry.
However, I also spent a few hours, note not a lot of time on this too:
This is one of these older models I based it on and improved on – well I had some railbuses as in previous posts (here, here and here) and naturally, what would come up? The Class 141 railbus. Its slightly shorter than the original model, which was slightly out of shape. The scale was wrong. In this model however, its not 100% there as believe it or not, there is no textures, its all self coloured materials (And as a result as it has been optimised in 3DS max, exported to FBX and imported into Blender to exported to a GLB file), so because it has been optimized to take up less space and keeping hold of my precious 5GB of web space, its not the final version and some bits of detail have got lost because of the compression and optimisation, like the rubber on the doors, or the way I built them. As it is also one “final model”, it also got optimised as one. Also, you may of noticed it has something at the front.
For those that know a little history about these units, 13 of them went to Iran, as a result, some of the changes they made, one got painted into an interesting livery, a silver, gold and green livery from memory, although most stayed in WYPTE, they gained mirrors, buffers, screw link coupling (which lost their multiple working), an obstacle deflector and mirrors either side. I don’t think as reported elsewhere they got converted to left hand drive (which would have been difficult),
One day, I’ll look through the history and track what is left, all I can say, of the 13 that went to Iran, their history or whereabouts is unknown as Iran is difficult to get photos or even information from at the best of times. 2 went to the Netherlands and I believe they never got used, last known to be still there rusting away. One got scrapped while in the UK before entering preservation, however, 2 more have been scrapped since preservation, which means there is 2 left, 141 113 (which my model was heavily based on) and 141 108. It would be also interesting to track the other pre production and post production units, Lev 1 still exists, Lev 2 sadly bit the dust in 2020, Lev 3 (also known as R3) was in Northern Ireland, its now in the UK in Wales, RB002 is still in (the republic of) Ireland, in its resting place, there is a movement in trying to bring it back to the UK, but last I heard or understood, no one knows the owner. RB004 is happily preserved, but has been around many railways, the 2 car demonstrator which I don’t have a designation for, but I’ve called it RB005 (basically a 2 car version of RB002), the whereabouts is unknown. As it was used on metre gauge railways in the far east, it may of long departed or even rusting somewhere.
The Class 142, 143 and 144s in one way, more difficult to track (there were 96 Class 142s, 14 Class 143’s and about 23 Class 144s, 10 with MS coaches that have a different history to the rest of the unit – I.e. not owned by the ROSCOs) as they are larger fleets, but also easier because there is a LOT of history on them and some even went abroad to try and gain orders from international customers, which is well documented.
I would love to hear of any information about these oddities, if you do, please send me a message.
Edit (a little later):
You may notice at the moment, my work is fluctuating a lot with time I can commit. We are mostly getting ready for Christmas and the London Waterloo block, which as I write this, London Waterloo station is closed from the 25th December to the 29th December. Then the slow lines are open which is 2 out of 8 lines. This is to allow Network Rail to replace the points around Queenstowns Road (Battersea) – see here (navigates away from the site) and a lot of planning went into it. If I am honest, so far, it’s the biggest project I’ve been involved in since I came into my current job. No, I cannot talk a lot about it as there is a social media policy, which I may of fallen foul of.
Ok, I had a bit of a random thought with this one, hence why I had a change of project for the time being. You probably can guess what it will be, but I started as a believe it or not, a Class 416 DTSO model. Unusually, I also spent most of my time developing it in a Virtual Machine – as the item of software I used is soo old, it doesn’t work on my desktop at all. On my laptop, it crashes if it goes to sleep, so a Virtual Machine was seen as a solution – which is running Windows 11. I might stick it in either a Windows 7 Virtual Machine or Windows 10, I’ve not decided, but it will take a while to set up.
Virtual machines also have other uses, but that is not for this blog. And do bear in mind, I’ve only spent a few hours on this model, so it won’t be right straight away. (As mentioned, I built the base in 2006 too!). Theres also a few errors that have appeared in the mesh for some reason, from MAX > FBX > GLB, so you can inspect the model
What was interesting, when I was developing this item, I had a look at a lot of other vehicles (I.e. Class 207, NIR Class 450 – which is tempting to make, NIR Class 80) that have the same engine, which is the English Electric 4SRKT, have a similar layout, but not the Class 73 locos.
They went live on the 01/08/2000 to promote what was Trainz Community Edition. I joined the forums on the 14/08/2000 looking for a train simulator that was more engaging than what I was using, that’s when I discovered after many hours of trawling through search engines (I can’t remember which one I used, Yahoo maybe? Google wasn’t on the horizon). For those in Trainz, if you noticed, my KUID author number (Koolthingz Unique IDentification) is actually a very low 30051. Yep, that low.
Auran as it was back then, had a LOT of big plans for Trainz, digital downloadable content was thought of way back in 2002, but didn’t happen until much later. Despite being in the community for a long time, I’ve also only met 2 employees from Auran, I wonder what they are doing now? Ironically, that was in London Victoria way back in 2004. I should really visit n3v, but getting to Australia is a bit more difficult and possibly requires a long stay.
One other thing, I was actually 14 when I joined, I’m now nearly 40! How time flies.
Of interest, I’ve got a draft blog post as I write this of a very rare version of Trainz that I plan to update in the future, let’s just say this, its rare as it never was released. The NDA has long expired, so I don’t think I’ll come to any disrepute over it. All I will say is, that you will be surprised, it was talked about, it exists but never made it to market, it was abandoned almost just before it was released. I think it’s because the Apple Mac’s were going through their second transitioning stage, I can’t remember the exact reason why the plug was pulled. I also still retain the computer I was testing it on as well, it’s on the shelf of shame in my room, untouched from when I played with it years ago in 2 forms. Again, if I get a chance to talk about it and spend some time in my really packed diary to finish the post, I’ll explain more.
Hopefully, I’ll finish it before Trainz turns 25 and it will be interesting to see if n3v still has the original source code, I don’t think they do.
So latest thing is, I uploaded my EPB unit to my site which if you looked, you’d notice its a pretty old model. In preparing it for Trainz 2019+, which required a lot of changes (I mean a lot!) and plenty of dependency and bug fixing, I noticed a big problem with the cab that I completely forgot about, I took this screenshot in TS2010 as I didn’t think ahead… again! It was build for the JET engine anyway. It works in the E2 engine as well, which suprised me.
The biggest glaringly obvious problem is the brake handle and the power handle, both rotate the wrong way. A few hours of tweaking and it works properly. 4 notch controller doing a 180 degree spin and the brake handle now rotates 90 degrees. At this point, it still has 4 notches and the real thing has between lap and apply, an infinitive amount of notches on the brakes, its EP self lapping. Driving it on “Auto-brake” in Trainz is honest to god – hell (at least to me)! Unpredictable and either you slam on the brakes too much or too little. So I added a ton of notches, the brake handle hated it, test, test, test. Still hates it until I realise I got a tag wrong. If I remove the word “lap”, it functions like a normal EP brake handle.
Then clean up the rest of the controls, some work ok now, some don’t, the AWS button doesn’t work yet properly, but its on the list and I plan to make that a push button anyway.
Then it was the turn of the DTS in the Class 416. The way I done it is that 415 DMBS does both units (in reality, there is little difference between the 2.). Getting them to function like Driving Trailers wasn’t hard, it was easy infact, one tag.
Then the physics, I used TEE (Trainz Engine Editor) which I still have a copy somewhere, installed it, dumbed down the power as 500hp per DMBS and it STILL shoots off like a rocket. But its more playable. Its tempting to then mess with the body, I figured out how to show blanks and tail lamps in TS2019plus, just model a red square and redo the headcode box. If you look at the flying brick, I’ve employed this method for the tail lamp which paves the way for mesh attachments.
At least the Class 416 DTSO (Semi Compartment) has its passenger view back, but I really need to remove the Monkey Bars, which I don’t think they were fitted to BR Designed units, or at least not 3 of them as some may of been fitted for the Oxted Tunnel (that was 2 of them).
On my main blog, WordPress blog, you may have noticed I was making this:
You may of noticed that I’ve actually used the exported model in the model above and not that you can’t see it at all, there is some detail missing, this is deliberate as I managed to split the assets up into individual ones then use the attachment point to clone them. So, the seats are one mesh and reference through a mesh table, likewise for the windows, which using a modular approach, you change these 2 elements quite easily – or add your own.
Theres one other very good upshot – LODs! LOD’s take a LONG time to incorporate into a model and it’s not easy; by going through a more modular approach, it means one seat has one trainz.lm.txt file and the computer does the rest. It also means sub meshes also update instantly with a trade-off being that the text file gets more complex over time. (Hence if you download the file, you will quite quickly find that the model has a lot of weird attachment meshes). It also has a cab view that… is doing my head in! Thats another story for another time as the gauges are a problem now, trying to get the brake gauges to vaguely work has been a mission. Thats not the only problem, getting the brake gauges to read correctly has been a big mission, at least the Speedometer is nearly there, just got to change the texture on the sticker and make it look like something used a “Brother P-Touch 2000” label maker to remind drivers of the maximum speed.