Monthly Archives: August 2016

Infantry Kit Challenge

So, it’s long been popular to bitch and moan about how much weight our soldiers carry. Okay. Fine. It sucks to carry all that weight, true. But it’s a lot easier to complain than it is to offer solutions. So, lest you think we are cynical grognards who do nothing but complain, let’s try to offer alternatives.

In that spirit, some rules that I’ll abide by when pondering the problem. Hopefully Fishbreath will also take up the challenge. And you, dear reader, can also feel free to write in with your own ideas.

1.) A loadout should be geared towards a standard area of operations.
This is mostly to avoid nonsense like having to worry about hot and cold weather gear. Since Borgundy is a European country (for some fictitious definition of Europe), I’ll keep this kit focused on a temperate climate loadout. I might also talk changes for winter/desert/jungle, but there it is. Remember, you can focus on one area at a time and leave some things home.

2.) Basic uniform and boot weight doesn’t count
This one is another simplifier. It’s also a huge pain to find uniform weights, and is one of the most likely things to change if you’re switching climates. Plus, it varies a lot, more even than armor. And when most people think “load” they don’t count the clothes on their back or the shoes on their feet. It is assumed your soldiers wear boots and a uniform. You needn’t account for it in the table.

Do note, however, that if you choose to issue protective gear integrated into your uniform (e.g. some combat uniforms have integrated elbow/kneepad pockets) that those protective items count. So if you picked Crye’s combat uniform, say, you would need to list the weight of the elbow- and kneepads, if you chose to issue them. Supplemental stuff (poncho, poncho liner, soft shell jacket, greatcoat, etc.) does count for the weight table. This also goes for extras like spare socks. Those count for weight too.

3.) You may stipulate the sort of infantry your loadout is for (e.g. Light infantry, Motorized infantry, Mechanized infantry, etc.)
Your loadout needn’t work for all situations. You can feel free to assume your soldiers in question have to march everywhere (light infantry), get some trucks to move them (motorized infantry), or get APCs/IFVs to move them about (mechanized infantry). If they have some kind of transport, you can feel free to note things that are carried in the vehicle. These don’t count toward your weight limit (duh), but also don’t count towards the things I’m requiring on the person, like food/water/body armor below (also duh).

4.) You must budget for minimum amounts of water (at least one quart) and food (at least one day’s worth) on the soldier’s person
This is mostly to make the motor/mech guys work a little. You might end up away from your vehicle, so you need to keep some minimums at hand. The above (especially for water) are particularly spartan minimums. But you need to have some food and water on your soldiers, even just a canteen and iron rations.

5.) You must provide a minimum standard of protection (some form of ballistic helmet, AND some form of body armor) on the soldier’s person.
Now I’m being mean. Yes, I know body armor is heavy. Get over it. You have the same political considerations as real military officers. Protect your boys in uniform. I’m not telling you what kind of body armor to wear, that’s up to you and your expected threat. A flak jacket with no plates is ok. A plate carrier with rifle plates and no supplemental soft armor is ok. But you gotta take something protective on the chest. And don’t forget that if you choose SAPI/ESAPI plates, they need soft armor backers to function as advertised. Yes, those count too. As does your plate/armor carrier. Similarly, your helmet must offer some amount of ballistic protection. PASGT is fine. A simple bump/climbing helmet isn’t.

You can always pack more, but some level of head/body protection should be standard and worn at all times.

6.) You must standardize on a weapons supplier, (i.e. choose NATO stuff, or Russian stuff, or Chinese stuff, but no mixing)
This one’s just another real world constraint. You likely have a friend you buy all your small arms from. So do so.

You can have plenty of fun making various specialist loadouts, but you should start with the basic rifleman. Have fun!

Glockblaster Range Report

So all the parts for the Glockblaster are in and it’s assembled. I even added a couple more things: the Glock factory extended slide stop and the Glock factory (slightly) extended mag release. More on those below. Anyway, got it to the range.


No really. This thing is amazing. It’s as close as I can get to an actual phaser, blaster, or phased plasma rifle in the 40W range without actually being a fictional character. There’s a bit more flash and noise from the comp, but it’s nothing awful. Once you get used to that, you can actually track the red dot through the recoil arc. It is super cool to keep a target focus and watch the red dot bob a bit in your field of view. So between the comp an the added weight from the weaponlight, the gun doesn’t recoil overmuch. Next to no muzzle flip.

That takes some getting used to. I outran my sights a couple times, simply dealing with a weapon that got ready so quickly. It really, really makes follow up shots a breeze. And with a bit of focus, I could tear a nice ragged hole in the middle of the target faster than ever before.

Will this weapon make you a better shooter? No. Will it give you a whole bunch of advantages and make it easier to shoot fast? Yes, yes it will.

Let’s talk accessories. That covers the comp, the use of the weaponlight as a weight (it’ll probably be great as a weaponlight with the 500 lumens of retina-searing illumination it produces), and the red dot, which you already know I love.

I actually found the Glock factory extended slide stop to be a great choice. It’s just big enough to be noticeably easier to manipulate, but it still won’t get in your way. Gets a thumbs up.

The Glock factory extended magazine catch was made for the FBI. It’s a few millimeters longer than the regular one. Helps with small hands, won’t get pressed accidentally when the gun is holstered. I found it made magazine ejecting a little easier. Fishbreath, who has short thumbs, found it was a significant improvement in being able to easily reach the mag release. So, good choice there.

I haven’t done too much reload practice, but the Freya magwell doesn’t seem to help my time overmuch. I’m probably not quite quick enough yet to notice the equipment improvement being a help.1 But it does help keep my hand nice and high. It will also help prevent your hands from getting pinched by the magazines, if you have big hands.

I also haven’t touched the trigger yet. It’s a stock gen 4 trigger, with the polish of several hundred rounds. I might upgrade this in the future.

There you have it. One of my better pistol projects to date. Even Fishbreath, who doesn’t like Glocks or fancy race gadgets, thought it was great.

1.) See? It’s not just equipment. Duh.

On tafl: variations and puzzles, design goals and approach

The headline feature in OpenTafl v0.4.x is playable variations: that is, when viewing a replay, you’ll be able to say ‘variation a1 a3’ to create a new branch in the history, which can be added to, viewed, navigated, and commented upon like any other branch. It turns out this is, to put it mildly, non-trivial. Before I go into why this is, I’d like to talk for a few hundred words about why this feature excites me.

In short, this feature is the last feature before OpenTafl hits feature-completeness, relative to engines for other abstract strategy game engines. Other engines include it because it’s a useful tool for teaching and review; OpenTafl will be no different. I find teaching, especially, to be important. At present, available tafl commentaries remark only on the principal line of play. If they touch on variations, they do so only in passing. Understanding why a variation is a bad idea is all but a requirement for higher-level play, and providing room for commentators to make those comments is therefore a requirement for OpenTafl.

The usage in which I’m most interested, however, is puzzles. A puzzle is nothing but a branching commentary in which it is impossible to read ahead, and OpenTafl should support that pretty easily. I have a few tafl puzzles in mind already, thanks to interesting situations from my approximately-weekly game, which I hope to package with the first release of v0.4.x. To fulfill the ‘impossible to read ahead’ requirement, I’ll be adding an allowable tag to the saved game file format. When set, OpenTafl will suppress use of the ‘history’ command when viewing a replay.

Both of these usages presuppose a community of OpenTafl-literate commentators and puzzle authors, and the current setup for editing commentaries is not what you would call user-friendly. I plan to stick in a quick-and-dirty comment editor, a big text box you can use to define the comment for a particular state.

There. That covers, approximately, the list of features and their justifications for this release. On to the depressingly practical bits. How?

It turns out to be a tricky problem. I did not write the early versions of OpenTafl with an eye toward a tree structure for game histories. Since the GameState object, the standard representation for a tafl position in OpenTafl, is already a heavy object and already used in the AI, I didn’t want to add anything further to it. OpenTafl already uses a ReplayGame object to overlay the basic Game object during replays, so the natural thing to do was extend GameState to ReplayGameState, and put all the replay-related data and functionality into ReplayGameState. This solved the first problem: where to store the data? It revealed another: how to reference it?

It turns out that the problem of naming branches in a tree is also not altogether trivial, at least as far as the scheme goes. Fortunately for you, OpenTafl user, you won’t have to worry about figuring out how it works; replay mode will name each state for you, and you can specify which one you want to jump to. I, however, had to do the heavy lifting.

In replay mode, each state now has a specific name. The first state (more accurately, the first move) is state 1a. The next move is state 1b. (In berserk tafl, you might see a 1c or a 1d.) Those two (or more) moves compose the first turn. Turn 2 comprises 2a and 2b. Easy so far, right? Let’s dive into a more complicated example. Say you start a game, enter replay mode, and type ‘variation a4 a2’. You’ve now moved off of the beaten path: you’re in a variation. The state you’re in is now called 1a.1.1a.

Whoa. What’s going on?

This is an OpenTafl variation address. We’ll read them from right to left. First, the last element: 1a. That means this is the first turn of a new branch of play, and this is the first move therein. Next, the middle element: 1. That means that this is the first variation off of the state to our right. Finally, the first element: this variation replaces move 1a. A shorter reading is, “the first move of the first variation off of move 1a.” If you make further moves in that variation, they’re called 1a.1.1b, 1a.1.2a, 1a.1.2b, and so forth. For the sake of clarity, we’ll start some of our later examples from 3a, and its first variation: 3a.1.1a. (The first move in the first turn of the first variation off of the first move of the third turn.) Got it? Cool. We’ll try a harder one.

7b.3.1b.2.4a.1.1b. (I said it would be hard.)

Remember, right to left. This is (1b) the second move in the first turn of (1) the first variation off of (4a) the first move of the fourth turn of (2) the second variation off of (1b) the second move in the first turn of (3) the third variation off of (7b) the second move of the seventh turn of the game.

Those of you quicker than me will have noticed something a little odd. Remember how I said the first move following 3a.1.1a is 3a.1.1b? Well, what happens if we make a variation off of 3a.1.1a? It turns out that it’s 3a.1.1a.1.1b1. Remember, 3a refers to the first move. We can replace 3a with a new move, named 3a.1.1a. If we want to branch from 3a.1.1a, though, the next state is not 3a.1.1a.1.1a: we’ve already replaced 3a, the first move in the turn. What we want to do is replace the next move in the turn: 3a.1.1a.1.1b. The perhaps-unwanted side effect is that 3a.1.1a.1.1b and 3a.1.1b are siblings: both occur two moves after 3a. A little odd, but necessary.

That about covers the problem of addressing, which is the first problem I’ve addressed. The hard part isn’t generating variation states: the hard part is storing them and finding them by a human-readable address. (I won’t insult you by saying that it’s easy.)

There are other problems, of course: how to present this functionality to the user. I haven’t done that yet. Nor have I done saving and loading of games with variations. In fact, all of this work, which comes to about a week of evenings and 1000 lines of code, has knocked precisely one item off of my v0.4.x to-do list. Fortunately, I think I’ve done at least one of the hard things first. (Loading variations is, admittedly, going to be a huge pain.)

Anyway, you can expect more posts down the line. For now, I have some tests to write.

1. I use that phrasing—’it turns out’—advisedly. Because OpenTafl stores games as a series of board positions, rather than a series of moves, the indexing is all weird. For instance, the state labeled 1a is the starting position, and ‘1a’ refers to the move which exits the starting position. The entire main line of play is addressed in the same way: a state’s address refers to the move which exits that state. You no doubt see the failing here: a variation is a second way to leave the state, and OpenTafl’s not about that kind of ambiguity2. Therefore, so that we can label every move in the game, addresses on variation states have to refer forward, to the move which enters them. The numbering is different between when you branch from 1a (becomes 1a.1.1a) and when you branch from 1a.1.1a (becomes 1a.1.1a.1.1b). Fun3.
2. Here we attribute to principle what is, in reality, just incompetence.
3. In the process of writing this blog post, I’ve discovered and fixed at least three or four inconsistencies in the naming scheme. Rough.

Australian Land 400 (Wheeled Component) Downselect

The Downselect has happened! Just last week, we saw Australia announce the two preferred bidders for the wheeled component of the Land 400 program. They are Rheinmetall (entering a Boxer MRAV with Puma turret)1 and BAE/Patria (entering a Patria AMV with a CV9035 turret).

Land 400 is designed to replace the Australian LAV IIIs and M113s with a new family of tracked and wheeled vehicles (respectively). The choice of the Rheinmetall and BAE/Patria families represent pretty safe choices. Both of these base vehicles (the Boxer MRAV and the Patria AMV) are in use with armies already, both have already met with some export success, and both have seen some combat in Afghanistan. That’s a laundry list of modern ways to be able to slap a big “PROVEN!” sticker on your vehicle. Someone paid for development already, someone else has already bought one, and some half-starved, uneducated baddies-of-the-year have shot at it with 50 year old hardware. Sigh.

Still, that’s more than can be said for the unselected vehicles. The STK Terrex III out of Singapore had some interesting features but didn’t make the cut. On the one hand, the Terrex had really good networking, an excellent camera system for all-round visibility, and plenty of internal volume. On the other hand, that made it big, heavy, and underprotected. Unlike the Lance turret on the Boxer, the Terrex’s turret can’t make STANAG Level 6 protection, at least not in any version currently fielded, and the turret manufacturer (Elbit) hasn’t challenged this. And a bigger vehicle means more armor weight. That said, it’s a wheeled vehicle, so they all have big, vulnerable tires that everyone seems to be forgetting about. The bigger problem for the Terrex is that it’s completely unproven. No one has bought any. It’s in a USMC competition, but that hasn’t concluded yet. Australia wanted MOTS above all else, and Terrex III isn’t off the shelf by any stretch of the term. Hello development costs, hello inevitable delays, hello griping, hello significant chance of legislative budget kill. So the Terrex III got a ‘no thanks’.

General Dynamics’ LAV3++ also got a rejection letter. There’s not a lot of growth room left in that design, and they would have needed to pull out more stops, or really, really play up the savings to get a nod. It would have likely been better to try to preempt the competition with an upgrade offer direct to the Australian MoD. By this point, they’re looking for something new. The upgraded LAV also failed to meet the desired protection levels. Sorry, GD. You’re out.

Let’s also look at the two competitors. Overall, I’d say the Rheinmetall option is better2. The turret has much better electronics, and the turret and vehicle offer much better protection. It’s also going to be the more expensive option. BAE/Patria have their work cut out for them to upgrade the protection, and/or make a big play for local manufacturing. They’d also probably be wise to play up the price, but it’s not clear what each side can offer, since they’d need to do some work to get protection levels to the desired level.

As for Rheinmetall, they have the best entrant in the pageant. In addition to excellent armor on both the Puma turret and the base Boxer vehicle, they’ve added an active protection system with an estimated 26 countermeasures. They’ve also added a .50 caliber HMG in a remote weapons station that’s slaved to the Commander’s sight. Finally, the Lance turrets, like the ones on the Lynx at Eurosatory, had Spike ATGM launchers installed.3 These are properly shock-isolated, so bumps from plenty of cross-country driving won’t damage the missiles over time.

I wish Rheinmetall, Patria, and BAE the best of luck in the next phase of testing. And, I’m in agreement with the Australian MoD on their downselect choices. Good times all around.

1.) That Lance turret again. Score.
2.) Cf. my APC Procurement selection
3.) Why the Pumas in the Bundeswehr don’t have these fitted yet is beyond me. But it’s clear they can be without much trouble. Which will make IFV procurement fun when I actually get around to making that budget challenge for Fishbreath.