[VB6] FireStrike 20mm Wargaming Software

7 min read

Deviation Actions

yereverluvinuncleber's avatar
Published:
1.8K Views
This is something else I am doing from time to time, it utilises my coding skills as well as some of my graphic design capabilities.


Image 1 Firestrike Quartermaster VB6 Windows

This is a screenshot of my desktop with the software displayed that I originally wrote in the 90s. It was a military simulation tool that was a very early precursor to tank games such as World of Tanks. Some primitive 3D effects but mostly 2D. Firestrike was designed to be a comprehensive tool to support desktop wargaming tabletop figures and vehicles in 15/20mm to 1/300th scale. The PC program was designed to be a tool for the umpire to determine the outcome of a battle between two opposing armies of up to 1,200 vehicles per side. It had a graphical interface in the days when such things were rare. It aimed to be easy to use and fast to operate. I cut my original Photoshop skills on this software.

Originally written in QBasic 4.5, then converted to VBDOS and finally to VB for Win the new versions of basic came quicker than I could code my project... When .NET made the lot obsolete I abandoned it.

This VB6 project was the biggest thing I had ever attempted but just before the turn of the century I abandoned my biggest computing effort of all time solely because Microsoft deprecated the programming environment. They threatened to pull the plug to stop VB6 running on Windows and they provided no possible upgrade path. It was soul-destroying. Instead, I went onto other things and abandoned Firestrike and MS products altogether. If I had known that VB6 would survive as a usable environment despite Microsoft's best efforts to kill it, I might have actually continued the development.

Many years later and the good news (for me) is I have picked it up again!


Image 2 The Inventory of every tank, gun and vehicle used in WWII on the Western Front for the three main protagonist nations. Took me ages to collate the data. There are screens of data.

The program shown above is just part of the whole program. This was an interface to the core databases that stored the vehicle, weapon and gun data allowing you to create an army from any vehicle used during the Normandy campaign of World War II. The work to collate all manner of information on all the combatant's vehicles, to photograph and process all that data and provide it in a usable form was a large amount of work for one man to achieve. Even though I eventually abandoned it, it had one good side effect - it taught me programming and military history in depth.

-oOo-

I am obviously using the VB6 IDE to update and improve the code but I am continuously finding I need capabilities that the VB6 IDE does not have. The VB6 IDE is a nice place to work, however there are limitations, so here is a shout-out to the developer Rickard Johansson who has created a free programmers editor RJTextEd.

[shoutout]
The VB6 IDE allows me to edit files externally, with an add-on named MZ-tools it also has buttons to enable the current document to be edited using any default editor (RJTextEd), the IDE itself is aware of any code-changes made by an external editor, asking if you want to reload the project whenever changes are made. RJTextEd has load of useful stuff, massively enhanced search functionality, you can define key definitions to match your familiar VB6 usage, code is actively colour-highlighted, the syntax highlighter gives you multiple variations in colour. There is useful line numbering so you can jump to a line of numbered code. Another useful feature is that branch Lines are drawn to indicate the start and end of if/then statements and of course you can fold your code. I could not have updated thousands of lines of spaghetti code without using its advanced search and replace functionality.
[/shoutout]


Image 3 View of one of the resulting application windows.

When people ask me why am I coding an old program in an outdated language such as VB6 (and they do ask), well, for a start I am loving the old VB6 IDE, it works very well, it is blisteringly fast. I suppose 'puters are SO much faster these days than they used to be. Each core is 10-15 times what I would have used back in the day, yet now I have more than just one CPU core, drives are many times quicker than they used to be and all modern computers have so much more memory. Start-up and compilation times are now measured in seconds rather than minutes and as a result it is a delight to develop and run my old programs. The fact that a programming environment from 1990s is still usable and capable of building decent apps in 2019 is rather impressive. Why Microsoft gave up on VB6 still astounds me as one of its largest corporate failings over the last 30 years. Microsoft have squandered so much that was good and lost a lot of goodwill in the process. The VB6 IDE was superb in its day and despite some limitations (as described above) is still very usable. The VB6 language is very standard, usable and if you were brought up on BASIC it is the ultimate expression of that language just as VB.NET is definitely NOT. Professional programmers often detract from what VB6 really is, what they don't understand is what VB6 is capable of.


Image 4 The points calculator. This calculates the amount of energy in kJ that a weapon is capable pf projecting, given the rate of fire the weight and explosive power, the weight and speed of the projectile giving kinetic energy.

I think of VB6 as an advanced scripting language with its own IDE which has access to all the facilities of the o/s, through COM/ActiveX and one that is capable of producing compiled binaries. That is a combination that is hard to beat.


This is the launcher that I am working on now

The code is nowhere near ready to release and I'm unsure as to whether I would ever let anyone see my code until I am dead, it is that bad. I am currently working on approximately one third of the code base and getting it into a usable and bugfree condition. I am also filling in the missing data. I have learnt so much since I originally wrote this code and there is a lot to overhaul.

PS. My last series of posts on my steampunk designs weren't well received as I was perceived I was 'spamming' by adding two designs per day. It's not my fault I am so prodigious in output... I like to bang out my designs. Instead, I will post updates here to the screens as I create them. Hopefully not quite so rapidly this time as they take time to build from scratch.

Launcher latest.



This is very much a WIP.

My first attempt at running my VB6 project on anything other than my own Windows 7 laptop. This time a 32 bit installation of Windows 7, each installation throws up different errors and methods of solving them.

Excuse the low quality GIF capture:

This shows the launcher initiating and doing its stuff, then it progresses to a brief run of the Quartermaster.



It just shows it all works without falling to pieces on the very first try. There are still some data issues to resolve but fundamentally it works.
© 2019 - 2024 yereverluvinuncleber
Comments4
Join the community to add your comment. Already a deviant? Log In
Small-Brown-Dog's avatar
A first generation geek that knows his stuff  ;)
All beyond me Uncle and right now I can hardly write my bloody name without screwing up let alone code like you do!