Buy Stuff!

WoS Tactics
 
Well of Souls:
Home Page
Download It!
Donate

WoS Tactics:
How Do I Host?
How Do I Join?
How Do I Launch?
How Do I Play?
How Do I Fight?
How Do I Win?
Picking My Army
Player Stats?
Rock/Paper?
Level Ups?
Guild Wars?
World Developers

Community:
Guild Hall
About Guilds
WoS Ladders
War Guilds
Bulletin Board
Hall of Heroes
Josh

Developers:
Custom Skins
Other Worlds
Author's_Guidelines
Art_Submission
Cheat Codes
Beta Testers Page
Development_Notes

Synthetic Reality

What is Wos Tactics?

WoS Tactics is an optional mini-game you can play in Well of Souls Worlds. It does not replace any aspects of the world, it is just a mini-game, but it is multiplayer and supports bots to fill in missing roles.

It is a turns-based strategy game played on a move-restricted grid. You will need your WoS window expanded to at least 1024x768 to play the game satisfyingly (and larger is probably better).

The assets (maps, tile images, sound effects, piece definitions..) are all extensible by the world developer, and files can be easily hosted on your web site from which they can be downloaded by the players.

WoS Tactics is available in Well of Souls version A96 and later.

How Do I Host a Game of WoS Tactics?

Start up Well of Souls and incarnate one of your characters into the world. While you are on a map (not in a scene), open the "Book of Tactics" from the BOOKS menu. This will open a dialog something like this.

If you have never downloaded any WoS Tactics Assets for this world, you will be prompted to push the DOWNLOAD TACTICS button first.

Assuming you now have the assets, you will see a button "Host Tactics Battle" in the lower right. If you press that, you will drop into a scene, just as if you had camped. Only the display will be completely different froma normal scene, and you will not see your WoS character anywhere on the screen.

To get out of the tactics scene, use the normal WoS Leave Camp button.

While in a WoS Tactics Scene, as the host, you can use this dialog to pick one of the available maps, and configure your starting army formation. Other players may drop into the scene, just like any other camp scene (they see a special icon on the world map to let them know a WoS Tactics scene exists).

You can close this dialog at any time and re-open it during the battle as needed.

Getting Tactics Assets

The first time you open the Book of Tactics in a WoS world, you will be told you need the 'assets' (that means pictures and sound effects, basically). Press the "Download Tactics" button to fetch a complete set of files from the web site specified by the world developer.

You may also do this from time to time to pick up new maps, pieces, and tiles. You should probably do this once before dropping into someone else's tactics battle. Do it now, I'll wait....

Getting Help

The left-most button will launch the in-game browser which will then display this very web page. Sort of redundant to your needs if you are already reading this.

The Mini Map

A coarse representation of the currently selected map is shown on the dialog. You can see the starting army positions (red, green, blue, and yellow) as well as the current locations of all army pieces. Click in the mini-map to center your main screen view on that location.


How Do I Join a Game of WoS Tactics?

When you see a WoS Tactics camp icon appear on a World Map, just click on some player in that scene to be dropped into it. You will then be a spectator.

If the WoS Tactics battle has not yet started, then your Book of Tactics will offer you a button to join the game. Up to four people may play in the same battle. The battle doesn't begin until the scene host presses the launch button.

When you join the battle, you are assigned one of the remaining player positions *at random* (for fairness). There is no way to pick a particular position. Each player position is identified both by a number and a color (red, green, yellow, blue)

If you enter the scene after battle has started, then you will be just a spectator for that battle.


How Do I Start/Stop a Game of WoS Tactics?

When enough players have joined the battle, the Scene Host will have a "Launch Tactics Battle" button and can launch the game.

One player will be picked at random to get the first turn (a caret appears next to the player name whose turn it is).

Currently there is no way to remove a player (but check in later releases to see what menu you get when you right-click on a player name in the Tactics Hud).

There is also no way to stop a battle, short of the host leaving the scene (which destroys the scene for all players).

Options (Map, and #pieces moved per turn)

As the scene host, before launching the battle you may use the combo boxes to pick a MAP and a "number of pieces which can be moved per turn"

As you will see, a turn consists of a player moving 'some number' of their army pieces. The choices for 'some number' are:

  • 1 - move any one of your remaining army pieces
  • 2 - move any two pieces
  • 3 - move any three pieces
  • 4 - move any four pieces
  • move 'all rested' pieces

Rest

Each piece starts the battle 'fully rested' and uses one unit of 'rest' to move, and another unit of rest to 'attack', thus at the end of your turn the pieces you used in that turn will not be fully rested. In your NEXT turn, only those pieces with a minimum amount of rest (currently 2 units) will be able to take part.

This is only true when using the 'all rested' feature as described above.

Adding Bots

If no humans want to play with you, or you just want a bigger battle, you (the host) may press the Add Bot button to add a computer-controlled army to the battle.

Since you, the host, are always in the battle, you can add up to three bots.

Bot armies are picked randomly from the available pieces. Currently bots use the same pieces as humans, though I might extend the piece definitions to allow some 'bot-only' piece definitions.

The Player List

On the right in the Book of Tactics is a list of the current players. Up to four players may take part in a single battle. Try right-clicking on a player name to get a menu of extra commands.

For each player you can see their color, name, the VERSION of assets they have (ideally you would all have the same version) and their current 'score info' which is depicted as two numbers: the number of pieces left in their army, and the total sum of remaining hit points on all their pieces. When these numbers reach zero, that player is out of the game.


How Do I Play WoS Tactics?

WoS Tactics is a TURNS-BASED strategy game. Each player commands an army of pieces (no more than nine, and possibly less depending on the world developer and the scene host).

A single player's turn consists of commanding some number of their individual army pieces, after which it is the next player's turn to move some number of their pieces.

The maximum number of pieces in a single army is nine, but may be less depending on the host's selection.

A piece's move consists of several parts:

  • movement (walk some distance)
  • attacking (enemy unit in range after walking)
  • suffering counter attack (if any)(someday)

So, first you select the piece you want to move (by clicking on it). You immediately see a purple highlight of all the tiles to which you could legally move that piece (the white tile is just the one you are currently pointing at):

Click on a purple tile and your piece will walk there. Note that some tiles cannot be crossed (and you will have to walk around them) and some tiles can only be crossed by special pieces (fire-walkers, for example).

Each piece has a 'mobility' value which indicates how many steps it may take. (steps are always taken north, south, east or west, so moving 'northwest' requires two steps). You cannot walk to a tile containing another piece, friendly or not.

To help you plan your attack, some orange outlines around the 'white' tile will show you what tiles your piece could attack *after moving to that tile*

Once your piece arrives, a new set of orange highlights will appear showing all the tiles where your piece could legally attack.

In fact, you can only attack a tile with an enemy piece on it! Pieces may have different weapon ranges (both minimum and maximum ranges). If you have no legal attacks, you can cancel the attack phase by clicking on one of the orange squares (otherwise you have to push the cancel attack button).


How Do I Fight?

Once you have walked your piece within range of an enemy piece, you just click on the enemy piece (assuming it is standing on an orange-highlighted tile, of course) and a little battle will play out with some result. The enemy piece may take some damage and may die, being removed from the board.

You can get an idea as to HOW it will play out beforehand, just by pointing at the pieces in question. When you point at a piece, an information window pops up with a description of that piece's stats, as well as an estimated amount of damage you would inflict if you attack it with your currently selected piece.

For example, in this case it estimates we would deliver 3 hit points of damage to the Harpy if we attacked it with our currently selected piece. But we have a 50% chance of missing. We also have a 0% chance of making a critical hit (a larger than normal hit) in which case the hitpoint damage would be about 75% more.

Note there is very little randomness in WoS Tactics (other than the chance of hit and crit, you can pretty much predict exactly how much damage you WILL do, based entirely on the stats of the attacker and victim.) This is, in fact, the point of the game, picking the best pieces to attack and attack with.

Pay particular attention to weapon classes, since a rock/paper/scissors effect may be in place and your piece might be particularly sensitive to attack by an appropriate counter piece.

Piece Stats and their Meaning

  • HP (Hit Points) This is how much life is remaining in the piece, it is what you lose when you are hit. When it reaches zero, the piece is dead. The max (starting) HP is also shown. At present, there is no way to heal in battle.
  • MP (Mana Points) Mana is used to cast spells, which are not currently supported, so therefore hard to document. There will be no way to recharge mana in battle (WoS Tactics games are intended to last only a few minutes, not for hours)
  • STR (Strength) This affects how hard you hit
  • DEF (Defense) This affects how well you resist the other guy's strength
  • AGI (Agility) This controls how likely you are to miss. If the attacker's agility is two (or more) higher than the target, he will not miss. Below that, there is a 10 % increase in missing for each additional difference in agilities (that probably sounds confusing, and I might even be off by 10%. But basically it is completely predictable.. even to the degree that a low enough agiilty piece will ALWAYS miss when attempting to hit a sufficiently higher agility piece)(thought that might be a bad piece design strategy for the world developer who wants balanced gameplay)
  • RST (Rest) This tells you how 'rested' the piece is. It is rendered in red if the piece currently is not rested enough to actually take part in a turn. Your pieces receive one unit of rest at the start of your turn, and lose one unit when they move, and another unit when they attack.
  • RNG (Range) This controls how many 'steps' your weapon can take (how far it can shoot, but using that same NSEW limitation on movement). A minimum range can also be assigned to a piece (kinda rare, one assumes) so that a long range attacker might have to be careful to not get TOO close to its target.
  • MOB (Mobility) This controls how many 'steps' the piece may move during its turn. Steps must always be taken north, south, east, or west. So moving northeast, for example, is two steps.
  • MOV (Movement) This identifies which tile types the piece can cross. Movement types are identified by a single letter meaning (E)arth, (A)ir, (F)ire, and (W)ater. Most pieces can only cross earth (dirt). But the world developer can assign any combination of movement types to any piece (and any tile).
  • LEV (Level) This shows the piece's current level. All pieces currently start the game at level 1, and earn XP (Experience points, not shown) for taking part in fights. A piece's level is used as part of the battle equations.
  • XP (Experience Points) Pieces earn experience when they attack other pieces, and a bonus if they kill the target. When enough XP is attained, the piece levels up (and gets a recharge of its HP, MP, and Rest) The popup info window for one of your own pieces includes an XP meter just below the caption, this fills as your piece approches its next level.

Rolling New Pieces

The world developer is in charge of defining the available pieces for WoS Tactics battles played in their world. They can use any strategy they like for tuning these pieces. In Evergreen, I have chosen to use a basic zero-sum policy in the sense that all pieces have stats that add together to the same value (for the most part)

The idea is that you will be able to pick your army from the available pieces and thus by picking a better army (from the same pieces available to everyone) you will do better.

Note that unlike in WoS itself, at the start of a WoS Tactics battle, *all* players are equal, so the result of the battle should be entirely based on your tactical skill, whether you are a newbie or an oldbie.

World developers can assign 'requirements' to pieces and maps such that unless your WoS character meets those requirements (say, via levels and tokens and such), you will be unable to host that map, or use those pieces in your army.

Battle Equations

Unlike WoS, I intend these to be completely documented (and simple). Note that there are some limits enforced (ratios are generally limited to '20'), and no divide-by-zeroes are allowed. Run-time stats are used (some stats increase during a battle, due to levelups)

  • ChanceOfMiss = (tgtAGI - AGI + 1) * 10 (limited to 0-100). If attacker is at least 1 point higher in agility than target, then it will not miss. Otherwise miss percentage increase 10% per difference in agility.
  • ChanceOfCrit = 12.5 * ( (AGI+STR+RST) / (tgtAGI+tgtSTR+tgtRST) ) Basically if the attacker has TWICE the overall stats (sum of agility, strength, and restedness), they have a 25% chance of a crit. Higher ratio, higher crit chance.
  • DamagePoints = weaponDamage * ( STR / tgtDEF ). If the attacker's weapon dominates the target's (rock/paper/scissors), then the tgtDEF is halved.

use the /tacticsBalance command to get a little report of which pieces are particularly under- or over-powered, if any.


How Do I Win WoS Tactics?

Game ends when... (possible outcomes)

  • loss of all armies, but one.
  • time expires (limit game to N minutes) with high score (not implemented)
  • loss of all 'king' pieces but one (not implemented)
  • alliances (maybe) treated as one army (not implemented)

And as I type this, the only Game Over condition implemented is "all armies dead but one" and the game tracks first, second, and third place. (fourth place is implicit and just referred to loosely as 'the loser') Your army is ashamed of itself, but doesn't blame YOU.


How Do I Know What is Going On?

It's a busy battlefield and you might get a little lost (thank goodness it is turns based so you can catch your breath from time to time). But there are some elements to help you.

Some Buttons along the bottom:

(world developer can change these, but my buttons are so perfect, it would be heresy to do so!)

Generally, pointing to a button will also bring up a line of text telling you what it does. Sometimes play hints appear there as well. The big button on the left toggles the HUD (The "Book of Tactics" in fact) where you can see the minimap and current player status.

The next button over is the 'Skip Move' button which you push when your piece is already where you want it to be and you don't want to move it just because the purple highlights are showing you where else it could be. That's supposed to look like a pair of legs (Thanks, Josh!) under an internation 'no' symbol. This switches to the attack phase of the piece's move.

The next button over is the 'Skip Attack' button (shown dimmed right now because we are still in the 'movement' portion of the piece's move.). This button is for when you choose to not attack. It ends this piece's move, but not your turn (unless this was the last movable piece you had).

The next button (red check mark) is the 'End Turn' button which relinquishes the rest of your turn (and I don't currently ask for confirmation of this, so don't push it by accident!) The game is training you to be thoughtful and deliberate :-)

Some Text along the top

This is where you can see whose turn it is and whether they are in a walking phase or an attacking phase. The main screen will automatically center on the action as pieces are moved and attacks are made. (so much so that you should just give up and wait until it is your turn before clicking around to look at other spots on the map)

Hey, this might be a good time to mention that if you RIGHT-CLICK on a TILE, it centers the view on that tile.

If you have been waiting more than 10 seconds, then the little timer appears (here we have been waiting 22 seconds). There is no automatic time-out yet, but I plan on having something in the right-click player menu to allow the host to dump you if you stop playing.. turn you into a bot probably.

Some Button/Meter Things along the side

When it is your turn, these buttons will appear along the left side of the screen. They are proxies for your remaining pieces (note the blank spots where my pieces 1 and 6 used to be -- they're dead now).

If you POINT to one of these buttons, the info popup will appear just as if you pointed to the piece it represents (which may not be on screen at the moment).

If you CLICK on one of these buttons, it is like clicking on the piece (plus it will center the main screen view on that piece).

The button is wide if the piece could still be moved during this turn, and narrow if the piece has already been moved this turn (or otherwise unavailable this turn - say it is not sufficiently rested from its previous move).

There is a small life meter graphic at the extreme left of each button, showing the percentage of remaining HP in that piece.


How Do I Define my Army and Formation?

There is a small combo box at the bottom of the Book of Tactics dialog which lets you switch between three 'views': map, army, and stats.

When you select the 'army' view, you see something like this:

Here, you are given the opportunity to configure the nine pieces which will be your army. This configuration is remembered as part of your WoS hero files (a separate default army configuration per WoS hero).

To change a piece, right-click on one of the nine tiles and select a new piece from the popup menu. If a piece in the menu is grayed out, it means your army either already has as many of that kind of piece as it can, or your WoS character is lacking some requirement to use that pieces (pieces can be limited by your WoS character level and accomplishments).

Note that you can only select pieces after the Tactics Scene has been created, but before the battle has been launched.

During the battle, the nine tiles on this screen also work as proxies, allowing you to quick-select your pieces. The prominent value ("17/7 Rock") shown here and on the menu, is a short form description of the piece. The 17 (in this case) being the sum of HP, STR, DEF, and AGI values, and the 7 being the sum of MOB and RANGE.


Player Stats?

The Book of Tactics also tracks how well you have done in the past. There is a small combo box at the bottom of the Book of Tactics dialog which lets you switch between three 'views': map, army, and stats.

When you select the 'stats' view, you see something like this:

Here, you get to see your overall performance, as well as information about other players. (Only for other players in the current battle). For example, in this display we see that Bot Blue has lost 2x to me. And I (Cheeta) have won a total of 3 games. By inference, I must have beaten some other unlisted player once (someone who is not around right now.. (in fact, it was Bot Yeller!))

In addition to your win/loss counts and percentages (there is no tie in tactics!), human players are also given a numeric 'rating' (using the chess rating algorithm). While the bots *appear* to have a rating, you never gain or lose rating when playing against a bot, so it isn't 'real'

Note: you cannot see another player's "total" stats, just their stats relative to you, from battles you both fought in. But your OWN line in the table is your total stats.

I suppose that's confusing, oh well.


Rock, Paper, Scissors?

Each piece is assigned a weapon (designed by the world developer) and each weapon is assigned both a weapon class of its own, and the class of a weapon which has no defense against it. Hence your sword might be of class 'rock' and my mace might be of class 'scissors' and thus I have less than normal defense against you. Your rock dominates my scissors.

In such a case, when you attack me, the calculation is made as if I had fewer defense points than normal (see battle equations above).

You will want to factor this into your planning, and get used to the weapon classes in the world where you are playing. To keep it simple, in the world Evergreen the classes are literally "Rock", "Paper" and "Scissors" to make it easy to remember. (this may change, and I apologize if I havent updated the documentation)


Level Up?

Each piece starts the battle at level one, and increases in level with experience earned by attacking. You earn more experience for attacking a higher-level piece than a lower-level one. You earn experience each time you hit your target, and double experience for destroying the target.

When your piece levels up, it also gets a recharge of its HP, MP, and rest, which could be a life-saver.

Levelling up also increases the 'run-time' value of some of your pieces attributes from the base level of the piece at start of game

  • runtime STR = base STR + level - 1
  • runtime AGI = base AGI + level - 1
  • runtime DEF = base DEF + 2 * (level - 1)
  • runtime maxHP = base HP + 2 * (level - 1)
  • runtime maxMP = base MP + 2 * (level - 1)

For various technical reasons, I cannot boost a piece's mobility or attack range as it levels.


Map Elevation?

Not all maps are completely flat. Some may look a bit like this:

The individual tiles bump up and down a little relative to each other. The idea is that units cannot cross from one tile to another if the elevation difference is too great (either up or down) unless the piece has the ability to 'cross air' (in which case it is assumed it could fly).

This elevation information is different from the piece/weapon 'movement' where individual tiles can be assigned a terrain type (earth air fire and water) and only pieces which can cross that terrain type can cross/stand on them.

Map Designers can choose to have a flat map, or provide elevation data by one of two techniques. They can provide a matching 'elevationBitmap' for their map's tile bitmap, or they can provide a random seed and roughness value whereby a random elevation bitmap will be created automatically.

Either way, a elevation bitmap will end up looking something like this (enlarged 4x for clarity):

Where black represents the lowest regions (elevation 0) and white the highest (elevation 255). Elevation bitmaps are also made using the standard WoS Palette so not every since elevation value between 0 and 255 is available.

(Technical explanation: The elevation bitmap has a value of 0-255 for each pixel, which references a color value in the standard WoS palette, and the RED component of that color value is ultimately what is used for the elevation value.)

A flat map would be 'all black'

If you, as a map designer, provided an elevation bitmap, it would probably be because you wanted to add walls and ramps and such.


What About My Guild and Guild Wars?

Lots of potential integration with the WoS guilds system is conceivable, but at present the only option is to award 'war points' to open Guild wars (resulting in advancement/demotion on the war guild ladder for the world in question).

WoS Tactics is an army battle, however, and the technology is based on all pieces of an army being commanded by a single player. Hence it is unlikely there will ever be a version where individual pieces are controlled by individual guild members (plus my general feeling that a turns-based game with *too* many players is unlikely to have a chance of ever completing a turn, what with everyone needing to go to the bathroom, get a drink, and pick up their kids from soccer practice).

If the world developer has enabled it, the winner of the battle will earn War Points to be applied to all open wars with the people who lost the battle. For points to be earned:

  • the winner must have been wearing a guild uniform
  • the loser(s) must have been wearing a guild uniform
  • there must be Open Wars between those guilds at the time the Tactics battle started and ended. (and at the time your character incarnated)

But within those criteria, the first place winner can earn up to 3x the total war points (as individual awards for beating the second, third, and fourth place players if all were taking part in guild wars at the time).

The second place winner can also earn points (1/4 the amount of the winner's) for beating the third and fourth place players.

And the Third place winner can earn a few points (1/16 the amount of the winner's) for beating the fourth place player.

The world developer assigns the base point value. For evergreen that is 1000 points. (you do NOT earn points for beating bots).

 

World Developer Info

What About My World's Quests?

Presently, WoS Tactics is just a mini-game and is mostly 'orthogonal' to the quests in your world. However, it is completely possible that future extensions could include:

  • Scripted Battle starts (QUEST command to start battle with a particular map and set of human/bot players)
  • Results of Battle returned to QUEST via cookies
  • Tactics Battles as an alternate form of FIGHT scene
  • Tactics Maps based on world map locations
  • Pre-populated 'monster' pieces in Tactics Battle
  • Potentially some QUEST scripting within the battle itself (based on QUEST 'events' issued by the Tactics engine)(and QUEST commands to then alter the battlefield in some way - providing a new weapon, adding/removing pieces, crediting tokens/xp/cash to player character...)
  • Tactics Battle 'missions' (like can you get your army to safe spot on Tactics Map within X minutes and battle N monsters along the way?)
  • Specialty Battles (capture the flag, etc.) facilitated by scripting.

Of course, none of that exists as of this writing. What DOES exist is:

  • The ability to host all your world's Tactics assets on your own web site
  • The ability to publish new maps and pieces just by adding them to your tactics_ini.txt control file and updating the assets on your web site
  • The ability to limit access to certain pieces based on a WoS conditional string, like "L3+T23" (needs level 3 and token 23 before you can add this piece to your army)
  • The ability to limit access to certain maps based on a WoS conditional string, like "L34-T12" (needs level 34 and the ABSENCE of token 12 in order to host a battle scene with this map -- but anyone can play in it)

How Do I Add Maps and Pieces to My World?

As a world developer, you control all the assets in your world's 'tactics' folder, and can host assets on your own web site. As a player, you should not be manually fiddling with these files (though there is nothing stopping you from doing so, for example to make new maps and share them with your friends and try to get some world developer amenable to adding them to his or her world. I am very amenable, hint hint)

You can create the following:

  • Maps (each pixel color means one of 255 tiles)
  • Tile Images (what a tile *looks* like)
  • Tile definitions (movement attributes and assignment to map colors)
  • Army Piece Skins (use the WoS "monster" skin format, preferably the 96 pixel high filmstrip format)
  • Army Piece definitions (piece names and stats)
  • Sound effects (.wav files)
  • Sound Sets (which sound effects can be picked at random for a specific 'event' like "piece indicating it is ready to go" can say "ready", "ok", or "leave me alone!"
  • Buttons (my buttons are PERFECT, leave them alone!)(not WoS format)
  • Weapons (defines their class, class sensitivity, damage, and sound effects)

Your maps and available pieces are all defined in your world's "tactics_ini.txt" file, and your tactics-related bitmaps (maps and tiles) are in a world subfolder called 'tactics'

NOTE: each world has its own tactics folder. There is no common tactics folder for all worlds. You must use the Download Tactics button on the Book of Tactics hud to fetch the assets for the world's tactics. This downloads files from the developer's web site and leaves them in the world's tactics folder.

Please see A96 (or later) Evergreen for examples. Read the tactics_ini.txt file in particular for many useful details.

  • Each MAP is defined in its own section
  • Each MAP has an associated bitmap in the tactics folder
  • map bitmaps are 256 color (WoS palette), small, and square (32x32 is suggested, as a 'large' map). they MUST BE SQUARE (as wide as they are tall) or they will just be rejected as unplayable.
  • when you paint your map, each pixel is a 'tile' and the palette color index is the tile ID (1-255, with 0, black, reserved for 'not rendered'). Some additional color indices are reserved for 'starting player positions' (see evergreen tactics_ini.txt for details)
  • your tactics ini file also defines each of the tiles you use, for each tile you provide the name of its own tile bitmap, and its movement attributes ("requires AIR movement for piece to cross it").
  • Each TILE has its own BMP file (128x128 with 'diamond' in top half, and palette index 6 as transparent) which is what is rendered in game. The bottom half 'completes the cube' so that later I can add elevation aspects to the game.
  • Your tactics ini file also defines each of the PIECES available for that map. For each PIECE you specify a WoS monster skin (general or world-specific).
  • The tactics ini file also defines certain numeric attributes for each piece, such as its HP, armor, weapon, range, mobility, etc, which affects how it can move.

Click here to see an: Example Tactics_ini.txt file

As a world developer, your world's config.ini file controls the source of your world's tactics assets (specifies the url from which they can be fetched) (see "tacticsSourceUrl" in the evergreen config.ini file for details)

Example Tactics Monster Skin

You should place your monster skins in your tactics folder (you are allowed to have subfolders, so I put mine in "tactics/skins"). Note that unlike a WoS monster, there are some special colors which will be dynamically recolored with the team color. So the orange colors in the example will actually be turned into shades of red, blue, green and yellow, depending on which army they are in.

Like a WoS monster, the frames are:

  • 0 - credits
  • 1 - standing around
  • 2 - attacking
  • 3 - being hurt
  • 4 - alternate standing around

Idle pieces will tend to change between the two standing frames. During the attack the attacker will toggle between standing 1 and attacking 2 (sort of like repeatedly chopping a tree), while the target will hold the pain 3 pose and flash all red during each hit.

While my example above is a JPG, the REAL file format must be a 256 color BMP file using the standard WoS palette (and must use color index 6 for the background transparent color)

If floating vs standing is implemented someday, it will not be by the top left pixels as in wos, it will be in the piece definition in the tactics ini file

Please continue to obey the WoS Shadow spec (bottom sixth of the cell is shadow area) though I currently am using an oval shadow for all pieces, I might suddenly start using the skin's real shadow information.

My fear is that people will succumb to the desire to use really large skins, which won't actually fit on the tile, or block the view of smaller pieces on adjacent tiles. Please use your own artistic judgement.

I plan to eventually provide a 4 angle camera 'map rotation' once elevation data is included. It also occurs to me I could have a another sort of thing called 'object', placed by yet another map-sized bitmap, which would place trees and fences and castle walls and such, as objects sitting on top of tiles (probably always making that tile impassable to ground movement), but I know this would lead to some additional graphical issues (for example, a flying unit flying 'over' them would actually be drawn 'in' them in a unhappy way). But this could play into my desires for powerups (treasure chests) so I will keep thinking about it.

Example Map Tile Skin

I keep these in "Tactics/Tiles". They are also 256 color (WoS Palette) BMP files. For a completely flat map you would only see the top diamond shape. But once elevation is supported you will see the sides of the cube if the tile is a little higher than its neighbors.

Tile skins have very tight constraints:

  • Must be 256 color BMP files using WoS Palette
  • Must be a single square image, exactly 128 x 128 pixels in size
  • Must use color index 6 of the palette for the transparent background
  • the top half of the image must be a perfect diamond as shown (filling the top 128 x 64 of the image). The map is rendered by drawing tiles next to each other, so they need to align perfectly. Not all of my current tiles are actually perfect, so there is room for you to improve that.
  • The bottom half must 'look nice' *unlike example* when someday elevation pushes it up a little (think Q-Bert)
  • The contents of the diamond should look like a nice surface your pieces can walk on (or fly over).
  • The game WANTs people to see the grid, so you probably want to retain the black line around the diamond
  • You should send me all your cool tiles, so I can add them to the evergreen tactics resources!

Example Map Image

(Shown 4x real size for clarity). I keep these in my "tactics/maps" folder.

Technically your map images could be any size, so long as they are square. (as wide as they are tall, in pixels). However, in practice 32x32 seems like a pretty huge map when you're playing it. You're free to disagree, but it's not a lot of fun to have to march too far a distance before battle can begin.

I cannot stress enough that all these BMP files MUST USE THE WOS PALETTE. Not just ANY 256 colors, but the VERY SPECIFIC WOS PALETTE (documented elsewhere, maybe here,

and available in your wos/art folder as souls.pal)

So, when using the wos palette, each color is identified by its "color index" which is between 0 and 255.

In a map, those indices indicate which TILE will be drawn in that location (thus making the map render 128 times larger than your dinky little map image). in your tactics ini file, you will call out exactly which color index you mean to use for each tile. Like "tile50 = 'tiles\tileLava'" to mean color index 50 is going to use your tileLava.bmp tile image which is in your world's tactics\tiles folder.

Hopefully this drawing adds some clarity

In general you are in full control over which color indices you use, and it's nice if you map a generally orange palette color to your lava tile (if you have one) just so the mini map sort of 'makes sense' when you look at it, but you don't HAVE to do that.

The only color indices which are 100% reserved at the moment are:

  • 0 - black, used as the 'boundary of the map and completely impassable to all pieces' tile. No actual tile is drawn for black pixels.
  • 249, 250, 251, 252 - Your map should have exactly one pixel of each of these colors, to indicate the starting locations of the four armies (red, green, yellow, blue).

How Do I Add Stuff, in Specific?

The above got a little rambly, so here are some more succinct instructions:

Adding a new Map Tile

  • Draw a new tile image (256 color BMP, special WoS palette), following the pattern of the existing examples
  • Add a line to the [Tiles] section of the tactics_ini.txt file which defines which color index represents that tile.

Adding a new Map

  • Draw a new map image (256 color BMP, special WoS palette), using special colors to place tiles where you want them
  • Add a new section [mapNN] to your tactics_ini.txt file (where NN is your map's Id number.) and populate it with the required information
  • Bump the 'numMaps' value in the [general] section to include your new map id number.

Adding a new Piece

  • Draw a new piece skin image (256 color BMP, special WoS palette), using the special golden colors (which will be replaced by team colors at run time), following the example of an existing skin
  • Add a line to the [Pieces] section of your tactics_ini.txt file, and fill in all the properties for your piece.

Adding a new Sound Effect

  • Record your new sound effect as a WAV file (I use 11KHz mono). Keep it short (a second or two)
  • Add a line to the [Sounds] section of your tactics_ini.txt file, to associate it with a sound id number (1-255)

Adding a new Sound Set

  • Add a new line to the [SoundSets] section of your tactics_ini.txt file, to assign a unique sound set id (1-255) to your new set
  • Add some sound Ids to your set, following the examples (sound ids should be for existing sound effects in the [Sounds] section. A Sound Set is just a way of saying 'play any one of these sounds' so some variety occurs.
  • Use your sound set id in one or more of your PIECE or WEAPON items

Adding a new Weapon

  • Add a new line to the [Weapons] section of your tactics_ini.txt file, which gives your weapon an id (1-255), a name, some damage points and assigns it to a weapon class. Also provide a weapon class against which this weapon is super effective (paper dominates rock)
  • Use your new weapon id in one or more of your PIECEs

Specifying Source of WoS Tactics Assets for my world

  • Add a value like "tacticsSourceUrl=http://www.synthetic-reality.com/tactics" to your world's config.ini file.
  • This identifies a web directory where you should maintain an exact copy of your world's "tactics" folder. (remember, do NOT include your world's tactics folder with the world itself, unless you plan to ONLY change it by releasing full world patches.)

Integrating WoS Tactics with my world's War Ladders

  • Add a value like "tacticsWinGivesWarPoints=1000" to your world's config.ini file.
  • This defines the number of points (use 0 to disable the feature) which a first place winner will earn for each gulid warrior s/he defeats. (so if four players took part, all in guilds with open wars, then the first place winner would get a total of 3000 points (1000 in each war) for beating the 2nd, third, and 4th place players.
  • The second place player earns 1/4 the number of points for beating the third and fourth place players (if they exist, and were in a guild with which s/he had an open war on the ladder)
  • The third place player earns 1/16 the number of points for beating the fourth place player (if any)

How Do I Host Tactics Assets on my Web Site?

First you develop your assets inside of your world's tactics folder (being sure to keep backups of your work elsewhere since you will inevitably overwrite the assets in your tactics folder when testing the fetch-from-web functions...)

So, for example, perhaps you added a new piece skin to:

c:\WoS\Worlds\<yourWorldName>\tactics\skins\myNewSkin.bmp

And you added a PIECE definition to your tactics_ini.txt file:

c:\WoS\Worlds\<yourWorldName>\tactics\tactics_ini.txt

Once you have thoroughly tested your work, you then copy your entire world tactics folder to your website, say to:

http://my.website.com/tactics

This assumes you have the ability to create directories on your web site and copy files to them. If not, then you need a different web site. You will probably use 'ftp' to copy these files. Your goal is to have a url which points to a tactics directory on your web site which looks identical to the tactics folder on your PC in your world's directory.

For this reason, you are advised to not use spaces (or any special characters) in your directory names and file names. Try to just use letters, numbers, and underscores, as in "tactics/sfx/animal_sounds/chicken_biting_corn.wav" as opposed to "tactics files/sound effects/>>>>&&&coool xxXXXXxxxplosion!!!@@@.wav" as you will probably find you cannot successfully upload such files. And sorry, rest of the world, you probably want to use just the boring original ASCII character set and leave your cidilles at home...

This means people can download files individually as they need them (and you can upload changes individually). The only reason this is possible is because your main control file (tactics_ini.txt) lists every single asset needed.

config.ini set up

In addition to copying your assets to your web site, you must also set the config.ini file in your world to have an entry which tells users of your world where the assets should come from.

For example:

tacticsSourceUrl = http://www.synthetic-reality.com/tactics

That is the url to the folder/directory containing all the assets. It may be further subdivided by subfolders/directories (but the layout must exactly match the subfolders of your world's tactics folder)

Assuming you don't lose your web site, you should only have to set the config.ini entry once, and thereafter be able to freshen assets on your web site with abandon.

When users press the 'Download Tactics' button on the Book of Tactics, they will first fetch the tactics ini file from your site, and then fetch each of the individual files described in it. It is my naive hope that this fetching methodology will be more free-website-friendly since the individual files are generally very small and should be less likely to lead to bandwidth capacity overruns.

NOTE: Since each world has its own tactics folder, you cannot accidentally overwrite assets in some other world. But you CAN overwrite your OWN work, so be sure to keep backups in a safe place (outside of your WoS folder).

NOTE: I changed the name of "tactics.ini" to "tactics_ini.txt" since some free web hosts refuse to let you host .ini files.


Version Control/Locking

You can set a version number for your WoS tactics, and players can then choose to not download new assets if they have a matching version. (They can also force download if they feel their copy is not a match to your current file set.

Setting the Version

In your tactics_ini.txt file, in the "general" section, add a value like this:

[general]
version = 1.2345

The version is an actual number, not an arbitrary string, so you should have exactly one decimal point with numbers on either side of it. You may have up to 4 digits of precision to the right of the decimal point.

You should change your version number whenever you change an important file (like a map or ini file). Changing an indivdual piece graphic or sound effect might not be 'important enough' to bump the version number, since people can probably play happily with the older version. But mis-matched INI or map files will lead to loss of game sync.

Locking your Assets

As a world developer, an unintended asset download could overwrite your local assets with the copies from your web site (which might obliterate your most recent work). You should always scrupulously keep backups of your tactics folder in a safe place, but you can protect yourself from accidental overwrites by 'locking' your assets.

To do this, add a "locked=1" entry to your wosTacticsSettings.ini file (which is in your world's SAVE folder)

For example, to lock evergreen tactics assets, I would edit this file:

c:\wos\save\evergreen\wosTactics.ini

By adding this to the general section

[general]
locked = 1

Note that the wosTacticsSettings.ini file is created automatically as needed, and may not exist initially (in which case you will have to make it yourself!). This file is where the game keeps settings which are global to the world (shared by all characters in that world), for example the current version information.


Notes
  • A96 will probably not impose tight checking for hacking, since that would also limit 'easy development of new maps.' That will come later. If you feel compelled to cheat in WoS Tactics, then we all pity you.
  • If you want to develop maps but don't want to make your own WoS world, try to work with a world developer. But in the mean time, you can replace assets in an agreed upon world and manually share them with friends while you are developing them. Then, when you're ready, try to con some world developer into including them in their world.
  • Note that for the game to work correctly, all players must have the same assets. But it is the scene host whose assets will be in control. So if you have different assets than the host, the host may alter your turn as needed (for example, force you to skip a turn if your move appears to be illegal from their point of view). The VERSION information tracks the contents of each player's copy of the tactics ini file, but does not track the map files, which can be equally important for the game to make sense.
  • And just to stress that again, the assets are NOT peer to peer in this case (you do NOT fetch assets from the scene host.) Assets come from the world developer's designated web site, and are fetched by using the "Download Tactics" button on the Book of Tactics HUD.

The Future of WoS Tactics

I did this on a lark, during a few hours when I felt well enough to follow my bliss. I made it part of WoS because it was the easiest to do so (yay, code re-use!) (Though my original plan to have your army be your 'WoS character and its pets' sort of went by the wayside due to my desire to have all teams start out equal, and the need to tightly control image sizes and team colors. Still I could see having the King character have a way to 'inherit your wos skin' if not your actual WoS stats.)(though it would be hard to dynamically colorize and colored shadows were a failed experiment)

I fully expect to get various forms of feedback, including the dreaded "I want to make my whole world use this map format, make it so the main map can use this and I can have huge maps!" and I will have to say 'no' to that for a very long time. "Well how about making all scenes like this!" and again, the answer must be 'no.'

Think of this as the first *multiplayer* mini-game in WoS. But fundamentally it is still just a mini-game in WoS and does not replace any part of the main WoS engine. Anyone who has played TurnAbout knows I have a perverse tendency towards games within games within games. (And yes, I thought about doing this in Arcadia, but frankly, I thought it would be more fun for the WoS community)

But personally, I would like to add:

  • More attack styles (magic basically) without getting too complicated
  • Possibly some powerups on the map (to boost your armor, or get a new weapon)
  • Maybe let a bot character play more of a role of random monsters appearing on the map (who could then drop the powerups)
  • Beef up the bot AI as needed. Pretty simple right now, though it seems it actually wins on occasion, which seems pretty magical to me...
  • I am open to the concept of more animation frames, though the psuedo-3D technology I opted for doesn't really allow me to move pieces smoothly across the map (currently they have to 'hop' from tile to tile)
  • Beef up the effects animation.
  • Beef up the right-click player menu so the host can manage the players better (promoting from bots, booting evil players, etc.)

I tried to keep the design as open as possible, so world developers can change the look and feel, as well as providing a large number of maps and pieces. This was the original impetus for not including any Tactics Assets with WoS itself (you HAVE to download them once at least). Otherwise, I would have to release new versions of WoS just to add a new tactics map (and if you changed something on your own, your copy of WoS would be unpatchable when the next release came out).


Dedication

I'd like to dedicate WoS Tactics to my pal, Josh Worts, from whom I haven't heard in several years and who I hope is doing great and enjoying a happy life. I'd like to think this is close to something he asked for many years ago. Everybody think a happy thought for Josh!

 
  Copyright 1998-2014, Synthetic Reality Co. All Rights Reserved