Thats pretty cool – thanks for the post. I think you are stumbling upon a really interesting aspect of wargaming there. Keep rolling with it and see what comes up.
I am using a similar setup in my system, since I have been adding the campaign / big battles part to the computer system in the last few weeks.
On each table, the scenario defines a number of objectives / prominent features, which are entered into the computer as part of the scenario. These can be towns, prominent woods, bridges, etc, which are given a grid coordinate, and details of the type of surrounding terrain. Its a simple grid based on 1' wide squares on the tabletop.
I need this so that the computer has a way of working out distances between things, for the calculation of delays in communications. Also makes it easier for players to enter orders into the system, as they can use the names of terrain features as objectives. ie – "4 Division will advance towards Lubrekchtstadt and prepare a defence".
As a side effect of this objective registration, this effectively creates a grid system inside the computer, albeit a sparse array of grid squares.
So with all the other (empty/undefined) grid squares on the table, the computer generates a random terrain type – anything from flat marchfeld, rolling, rough, rocky, light woods, marsh, impassible. Mostly the first 2 .. with some of more horrid terrain being less likely to find, but still possible.
At the start of the game, the table is laid out with a flat / rolling scenic board, and only the registered objectives and their surrounding terrain placed on the table at that point. Everything else is 'undefined / unknown' at the start of the game.
Thing is, the players do not know exactly what any given area contains until they enter an area .. at which point the computer tells them what they find. (and how far they can move / how much disorder they take, etc)
Once a player scouts out an area and discovers what it contains, that information is still hidden from the other player(s). That could be quite an advantage, depending on what they find. Makes unprepared attacks into unknown terrain relatively risky affairs, especially when the defender has had an opportunity to setup the defence around the area. Nasty ! I like.
It is possible also to tell the computer that one side or the other has prior knowledge of all the terrain types, as this is also quite feasible.
Another extension I am playing with is having morphable terrain. For example – If it rains for several turns, some perfectly reasonable grids might start turning to mud, whereas other grids may be just fine. Players wont know unless they are in those grids, or move into those grids.
After a period of bad weather, you wont exactly know where the good lines of approach are to an enemy position, but the enemy occupying that area will have a good idea where the mud is. Interesting.
Using a terrain-grid approach for all orders also tends to put the players in the mindset of dealing with map-based objectives and lines of approach with all communications .. just like a real commander. Battle orders generally relate to geographical directives, relative positions of friendly forces, and strict timetables
they are not focused at all on enemy formations.
I think its quite rare to see orders that use enemy formations as the object of the order. ie – "Attack the French in the woods", "Shoot at the Moscow Musketeer regiment" . etc. You get that sort of feel of engagement with skirmish level actions, but I dont think its all that appropriate for larger operations, especially not in the horse and musket era.
A good mapping / grid system is a great tool for bringing the operational feel of battle to the tabletop – I reckon
PS: Thanks for the encouragement on building the campaign system, your prompts and shared ideas have gone a long way to helping. Its starting to look really really good .. looking foward to getting it out there.
-------------
Re the Knas Randomizer software, for those who dont do Windows.
Not a big problem. If you are on a Mac or other Unix based system, you can produce a similar thing with a small and simple shell script if you like. The built in $RANDOM shell variable is your friend ;)
Here is a trivial example of a shell script that grabs a random line from a text file, that may contain a list of terrain types, weather changes, or events .. whatever you like.
-------------------------------------
#!/bin/bash
len=`wc -l $1 USD | cut -d' ' -f 1`
line=`expr $RANDOM % $len + 1`
cat $1 USD | sed -n "$line"p
-------------------------------------
4 lines of code does the trick !
If you put that in file, call it 'randomizer', or whatever you like, then you can use it from the command line against any text file that contains lists of things you want to randomize.
ie:
$ randomizer my_list_of_commander_calamities
.. will pick out a random calamity and print it to the screen.
Explanation of the script :
$1 USD is the first argument passed in – the filename to randomize.
wc -l = word count command, -l gives the number of lines in the file.
cut -d' ' -f1 = get the 1st word from the result of the wc -l command.
$len at this stage contains the count of lines in the text file.
expr – executes an expression. $RANDOM is a built in shell variable to generate a random number, and '% $len' converts it into the range 1 – number-of-lines. At this stage, the variable $line contains a random line number in the range of the number of lines in the given file.
Finally, the command "sed -n "$line"p gets the Nth line of data from the textfile, and prints it to the screen.
easier to write than explain :)
Like any shell script, this script can be used in a bigger script to do more complex things if you wish. Not too hard.
If you want a more complete example, just ask and I will knock something up to post here if anyone is interested.