12/31/2010

Dial-a-Scale True Range Efiles

"Dial a Scale" by using efiles with "true" range in yards or meters and applying a multiplier to match an efile to a map scale.

"True" range might be effective range but it would be in yards or meters (or thousands of meters, 1km=1).

An efile 105mm howitzer might have a range of 12,325 meters (or rounded to 12) and you could use that efile's 105mm as 1-hex range on a large map, 3-hex range on a medium map, or 6-hex range on a small map.

A game with this "dial a scale" feature would allow not only the use of a favorite efile in a campaign of certain scale but could enable your core within a campaign to operate in scenarios of different map scale (dispersed for desert battle or concentrated for urban warfare) with properly adjusted weapons ranges.

You could use "true speed" in the same way. Movement is not as important to scale because movement can be a velocity and you could assume that time per turn adjusted according to movement at that map scale.

Update 1/22/11

Pacific General (PacGen) changed battleship range and maybe spotting range in the Guadalcanal scenario.

12/19/2010

Vector Gaphics Maps

Fast, Large, Scalable, Flexible, Layered Maps with Vector Graphics

See the end for "screenshots."

Free programs to view or make SVG files (some browsers can view SVG):

http://www.adobe.com/svg/viewer/install/
http://inkscape.org/

3000x3500 map
Normal BMP = 40MB (might be able to adjust to 4MB)
SVG = 25kb (less than 1 MB)

Vector graphics are basically "connect the dots" lines that scale well and can form roads/rivers/coastlines or create continents and quickly fill the bounded area with colors. Inkscape can import bitmaps and trace outlines of terrain.

Normandy and Cotentin Peninsula 3000x3363

I made an SVG Normandy map in the basic PG field ("clear" terrain) green color. A game could use this as a base layer (all those "clear" and ocean hexes would not have to call any tile) with vector roads/rivers/coastlines over it and a small tile set of PNG for woods, mountain, and a few other items. Replace the PG dry tile sheet's #c3c377 with the pink mask to get an idea of how a few PNG layered over any weather of the Normandy SVG would work. The result effectively makes all the rivers/roads/coasts universal to be used on woods, mountains, etc., instead of only on field ("clear") terrain.

I added the PG beach and lighter-blue coastal water simply by stroking the line and adding a glow filter. I lightened the green and brown to a hex average to account for the original tiles' speckled effect.

The way vector graphics fills bounded areas makes it good for contiguous forest (you could use a repeated forest pattern instead of the field color on the whole land area). It is easy to make features as jagged or as smooth as you like (jagged increases the file size but is often still less than bitmap). Mountains are difficult to do well at a small file size so BMP or PNG might be used too. The nice part of the SVG base layer is you still have the option to do a huge SVG map with smooth coast at a very small file size and then place BMP or PNG costal tiles on top if you prefer.


"Screenshots"

These images show how one universal "all-weather" tile sheet would look on the SVG background map, where the SVG's hexadecimal color is changed for dry, mud, snow/frozen, and desert.

This was a quick test. The PG dry tile sheet's major green became transparent but further clean-up of the tiles to remove speckles and corners would help (and there might be better non-dry colors for the SVG).






Update 12/20/10

I tried a few changes:
  • Erased speckles from bitmap tiles
  • Gray rough/mountains as a neutral color for all-weather tiles, using a variation of Bingo's mountains
  • Transparencies in the rough/mountains so they blend with the background (actually show the background color when it changes)
  • A darker and lighter yellow (#efe3a0) for desert (the snow was and still is lighter than the PG snow color)
Dry, Mud, Snow/Frozen, Desert (PG average), Desert (light):






Update 12/20/10 Part 2

This method is easier because I quickly changed PG mountains' 2 brightest yellows to transparent on the whole dry sheet, so the SVG's basic ground color becomes highlights on rough/mountain (mountains automatically get snowy in winter and green in spring). Replacing some of the green-gray with brown-gray might help. Reduce obvious hexsides by drawing vector shapes for contiguous hexes and filling with pattern of PNG tiles.





12/15/2010

Terrain Layers

A game would need few tiles if it rotated tiles and used a few layers.

See the small tile sheet at the end (Update 12/17/10: See the 1-pixel mud/snow screenshots at the end).


Rotation (Edit: or Flips)

Rotation requires top view of terrain and some features (roads, rivers) "exiting" hexes at standardized points (such as 5 pixels from right hex-side edge, no matter which hex-side). Rotations to hex sides of the same length reduces 6 tiles to 2 and a resize after rotation would allow a single 60x50 hex for all directions. (Edit: Apparently, multiple flips are less of a burden than a rotation and would achieve the intent here).


Color Shifts
  • A single solid white hex (or single pixel) can replace an entire "winter" tile sheet if you layer the 67%-opaque white hex (or pixel) over normal dry tiles (whitening the dry sheet).
  • A single solid brown hex (or single pixel) can replace an entire "mud" tile sheet if you layer the 33%-opaque brown hex (or pixel) over normal dry tiles.
  • A semi-transparent yellow hex over regular dry field ("clear") and rough can create open desert and rough desert.
  • Color shifts of coast hexes and a solid sea hex to river color allow you to create rivers of any width (ground units inching across wide rivers would be assault boats of infantry, pontoon ferries of tanks, or a chain a bridging engineers to create a road across the river for faster movement of other units (although a unit needs enough MP to reach the other end in 1 turn).

Layers

Bottom layer = full ground hex
2nd layer = river
3rd layer = road
Top layer = coast

The important part of this BMP (my variation of McGuba's tiles) is that the second row is not needed on the tile sheet. Only the first row would be on the tile sheet. The second row shows what a game engine can create "on the fly" by layering a few tiles into a great variety of terrain. Place Tile #1 Coast over any full-ground terrain hex to create all of these coastal terrains in the game without a large tile sheet.

Second Row:
  • Field ("clear") coast
  • Hedgerow coast
  • Woods coast
  • Mountain coast
  • Desert coast
  • Hedgerow road
  • Woods road
  • Field crossroads (one road tile over the other road tile)
  • Field road to coast (coast covers part of road tile as well as part of full field tile)
  • Mountain coast road


Update 12/17/10

One Pixel Replaces Whole Tile Sheet

These screenshots use only one tile sheet, the original PG dry sheet, with a semi-opaque solid brown or white sheet over it to show how a game could use 1 brown pixel and 1 white pixel for mud and snow instead of separate tile sheets.

3 Screenshots for Dry, Mud, and Snow/Frozen:
  • Original dry
  • Original dry with 33%-opaque brown (#a52a2a) layer
  • Original dry with 67%-opaque white (#ffffff) layer (could try less opaque)




They might not win art awards but they work well considering it is 1 pixel instead of an entire sheet of tiles.

You could use a lighter green as the primary field ("clear") hex color that is easier to whiten at a lower opacity, making the other features sharper than shown here.

You could exclude ocean but I do not see a need.

Even if you still use separate mud/snow tile sheets, a semi-opaque brown/white layer over a tile sheet and then resetting the mask color back to original is also a quick way to make complete mud/snow tile sheets. The other quick method is to select the exact primary green in field ("clear") terrain (threshhold=1, no antialias or other fuzz) and replace it with brown/white. Either method makes both sheets in about a minute.