Deviation Actions

yereverluvinuncleber's avatar

Quartermaster VB6 20mm wargaming Desktop

2 Favourites
23 Comments
369 Views
Not quite art but something worth a desktop screenshot!

I'll keep this page as a reference point so when I finish the software I'll update this bit here with the download location - not yet available... but soon perhaps.

This is a screenshot of my desktop with some software that I wrote in the 90s. It was a military simulation tool that was a very early precursor to tank games such as World of Tanks. 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.

Background:

I never finished Firestrike as life intruded, children, life &c got in the way. It was written in Microsoft VB6, one of Microsoft's best products (which they dumped and then deprecated and prevent anyone upgrading/migrating - and so in the progress, removed the chance of any VB6 devs staying loyal to Microsoft). Instead, I gave up on VB6 looking for an alternative and eventually found it in the way of Yahoo widgets using Javascript.

So, it has been twelve years since I even opened any of my old VB6 projects, I was not optimistic that any of them would run. VB6 does not easily install on any modern Windows system. However, I managed it, finding an old visual studio installer on my old drives, installing DirectX 7, creating a dummy 0 byte Java DLL required during every new VB6 installation. I opened a DOS window as administrator, downloading and registering one or two required DLLs, copied the setup files all into one folder, bypassing the standard installation and ran a secondary install routine ACMBOOT.EXE which finally (after several attempts) succeeded in installing and running VB6.

My projects were finally made to run by subsequent manual registration of a variety of required OCXs and DLLs used in the original VB code and changing the environment to use the modern wmp.dll rather than the out-of-date msdxm.ocx for playing music/videos. The result? Well, I am still amazed but they bloody-well ran first time! They look good too. I started to rebuild my toolset and I had the feeling that I was going to resurrect the thing.

I did exactly that - I am loving the old VB6 IDE, it works very well, it is blisteringly fast. I suppose 'puters are SO much faster these days. 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 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 1991 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.

This 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 MS products altogether. If I had known that VB6 would survive as a usable environment despite MS best efforts to kill it, I might have actually continued the development.

Many years later and the good news is I have picked it up again!

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.

-oOo-

I have made progress:

o Added right click menus on two of the main programs
o Added and corrected description data within the gundata file - WIP
o Changed the fonts on all fields in all programs
o Updated the title headers on all programs
o Added improved multiline tooltip functionality
o Rejigged the command screen layout
o Rejigged the battle checklist screen
o Added 'about' windows for two of the main programs
o Changing the method of assigning units to HQs
o Added an infantry section to the expanded detail screen in the inventory
o Updated the data handling tools to allow backups of the data
o Updated the data handling tools to respond to spreadsheet-style commands

o Added an aeroplane section to the expanded detail screen in the inventory.
o improved the logic for handling unit points value calculation.
o Updated the data handling tools adding improved searching.
o Overhauled the points calculation incorporating real-life physical equations for gun power.
kilojoule potential of an AP shot:
kJ = ((0.5 * shellWeightAP) * (shellVelocity ^ 2))/1000

kilojoule potential of an HE shot:
kJ = shellWeightHE * 1.1 ' HEpotential ' 4612kJ per Kg of TNT (1.0)

Amatol TNT * 1.1 ' used as a general HE in WWII
Picratol * 1.16 'Used in armour-piercing shells and bombs as insensitive to shock

o Revised a hundred or so data errors
o Updated the help to reflect the improved look and feel
o Added right click menus to all windows
o Expanded inventory allows drop-down selection of any weapon
o Increased the number of data fields in the vehicle data file
o Added an image view on the inventory expansion window
o Removed the print buttons from all screens - who wants to print these days?
o Added new Points Calculator buttons
o Fixed a few bugs in the data handling tools
o Updated the gun descriptions
o Revised the vehicle data using new fields
o Allowed selection of any mounted weapon
o Default weapon correctly identifies.
o Revised British armoured car images added x 20
o Fixed bug in selection of vehicle numbers
o corrected bug in points calculation in summary mode
o Added revised Cromwell/Sherman images added x 10
o Added more gun descriptions x 10
o Fixed the selection of records in the vhcl data tool
o Fixed handling of minimized windows

o Added/replaced 20 or so new British equipment images
o Revised various data problems
o Added German gun data regarding missing velocities
o Fixed even more minor formatting/display bugs
o Added preliminary code for a slider to allow easier selection of vehicles/weapons
o Added some code to determine the current number of elements and to go to the end of the data file
o Tested sub-class code for allowing VB6 to respond to mouse scroll wheel events
o Fixed the layout of a few vehicle types expanded screens

o Completed a functioning slider to the inventory list, adding slider logic to handle the display of elements in 'pages'.
o Completed adding the images for all British ground elements that can be selected
o fixed a few bugs where the incorrect image was being displayed on next/back
o Renamed all controls from the defaults to appropriate names that properly reflect their function
Image details
Image size
1280x800px 438.01 KB
Published:
© 2019 - 2021 yereverluvinuncleber
Comments23
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In
sed's avatar
Small-Brown-Dog's avatar
You have so many skills Uncle - always impresses me.
Did/does VB6 natively take advantage of all available cores ?

Love the database info - something like that for my stuffs specs would have looked cool on the website ( if I ever do anything with it)
yereverluvinuncleber's avatar
One can create VB6 programs that can support multi-threading but the vb6.exe is not aware of other processors itself and won't take advantage of them when doing what it does best (providing a stable IDE and compiling large programs). The multicore CPUs make life so much easier because there is spare processor to do everything else. When I originally built this program Windows 98 was the norm and the processor might have had only as much as a single core 233mhz cpu. That processor had to do everything that the o/s required and all my stuff to. Probably one fifteenth of the power of my current core2duo. My programs were massively ahead of their time were quite skeumorphic even then and so unlike what the rest of the world was creating. I put so much into them it hurt to abandon them and it feels good to be picking it all up again.
Small-Brown-Dog's avatar
Is there no alternative to VB6 were your stuff can be ported over or similar ?
You have put so much time and effort it these projects its good that you can revisit them.

....I had to look up "skeumorphic" I thought it was some kind of skin complaint ;)
yereverluvinuncleber's avatar
No. MS deliberately cut VB6 off to force people to migrate to a completely new .NET language that they also called visualBasic but in reality was completely different. Similar to renaming MODO to 3Dmax and telling everyone to use the new tool as it now has the same name. Such a lot of work to retrain and re-code that it meant basically starting again from the ground-up. When you have 50,000 lines of code (mine) or millions of lines of code (many companies) then migration to the new tool meant spending the same amount of money again just to get the same functionality as before with no assurance it would work. Everyone said no. VB6 was the world's biggest language and it died almost overnight. VB.NET was so different that the people that did migrate from VB6 did so to c++ or similar as they wanted to be certain MS didn't do exactly the same with VB.NET in a year or three (they did exactly that in the end). Trust lost.

Strangely the MS products of that time were of such high quality and usability that they survived the test of time and are still as usable as the later products. It is only since MS began to break things in order to make more money that the trust has been lost.

I can confirm Skeumorphia is a complaint, I think it is a mental problem that I am affected by that causes design contortion. It certainly affects all my creations.
Small-Brown-Dog's avatar
I wonder if the likes of MS were to make bullet proof desirable products at a fair cost that they might see similar or better sales and a consistent and faithful user base.
yereverluvinuncleber's avatar
Unfortunately the new paradigm is creative destruction, create something new from the old, change the look/interface, make the old stuff fail in order to force adoption of the new and make the new really trendy, the older stuff untrendy, rake in loads of cash. The Apple way.

It is really profitable in the short term and that is what the current CEO of MS wants it to become. Everyone is leaving the MS ship in increasing numbers.
Small-Brown-Dog's avatar
I don't watch the industry any more but none of this surprises me.
Its all rather depressing and going the same with everything.
View all replies
anonymous's avatar
Join the community to add your comment. Already a deviant? Log In