Friday, January 10, 2020

Stupid Hobby Collision D&D+Linux

I like Linux and D&D. Rarely do these hobbies collide, but sometimes I can force it. Not that I am a great Linux user. I like Linux. I like Ubuntu with XFCE. It's a great environment for my purposes. I am newbie when it comes to terminal skills. This post assumes you have zero skill.

I wanted a simple way to generate 6 D&D Character Abilities scores using Linux. There are the classic methods of using a spreadsheet, but what if I don't want numbers in a spreadsheet? What if I merely need them displayed on the screen or in a text file?

Well... terminal can do that with the shuf command. Open a terminal and try this command:

shuf -i 3-18 -n6 | paste - -s -d ' '


Breaking it down, shuf will select a seemingly random number. -i is the input of an expected range, in this case 3 to 18 or 3-18. The headcount or the number of numbers generated in this fashion is -n6. Everything after the pipe | is formating. Basically, this part will turn the typical column of numbers into a row of numbers. 

If you play D&D like me, you let players re-roll ones. In this case, your command would need to cover a range of 6 to 18. Two times three dice is 6. Try this line: 

shuf -i 6-18 -n6 | paste - -s -d ' '


Ok. That's great. You get six numbers in a row on your screen. What if you want that in a text file? For sanity, use the cd command to move from wherever you are to the Documents folder. (I lose lots of files and time by NOT doing this...)

cd Documents


Now that you are in a safe place, let's add some information to that line of commands:

shuf -i 3-18 -n6 | paste - -s -d ' ' > Stats.txt


The instruction > Stats.txt at the end will create a file called "Stats.txt" in your current directory.

Go open that file:


Great. That is one character's worth of stats. Let's make more: 

shuf -i 3-18 -n6 | paste - -s -d ' ' >> Stats.txt


Note the double >> symbols. All that does is tell terminal to append the current information to the file described. Note: I clipped my screen to show gedit and terminal in one screen shot for the next step.

Repeat the last command with a small modification, change -i 3-18 to -i 6-18. Since you didn't close gedit, you will get a new button which refreshes the file. Before you do, repeat the shuf command again. This is easily done by pressing the up arrow and then return. Do this twice.


Ok, now hit that refresh command. You have 4 sets of stats, where the first two have a range of 3 and 18 and the second is 6 and 18.


Shuf is not exactly a random number generator, but it's good enough for government work* and character stats. I THINK it is using it's the process id time and doing a computation based on that value. That means if you run a bunch of these commands in rapid succession and that interval is less than a second, then the seemingly random numbers will all be the same or very close to it. This is why I didn't make it generate 6 character at a time. You probably can't hit up arrow + return in less than half a second so the effect is not as noticeable.

Lastly, you could always run info shuf to see the full documentation of this command or to read at your convenience, try info shuf > Infoonshuf.txt

*This is joke. DON'T use this to generate random numbers for government work.

Thursday, January 9, 2020

The Troubleshooting (artwork) Post

I've been messing around with svg art using Inkscape. For whatever reason, when I upload these images they look fine on a desktop device, but are dark grey on a black background on mobile devices. I think I either uploaded some .pngs or perhaps forgot to flatten the image when going to .jpg.

Anyway this a test of 2 Skimmer ground cars.


These are 3 Greek soldiers. 



These figures have been a part of my Strictly (Duke) Springer posts, which I hope to fix soon. 







I'd like to scale them down to 1/4 and 1/2 sizes for counters. 

Strictly (Duke) Springer - Day 009

Dear Diary,

We went back into the ruins again. We found a pair of skimmers. One was intact, while the other was cannibalized for a single repair unit.

Skimmers probably don't have wheels.
Here are today's stats:

1 Antelope starship,
2 Hopper with 15 units of fuel,
1 Stasis pod 2 CU,
24 Repair units.
3 Skimmer,
1 U-bot.
and the ship is fully fueled with 6 hypercharges.

I'd like to circle back and talk about the various "units" in the game. There are repair units, life-support units and fuel units. Life-support or LU, provides air, food and water to all people in a vehicle for a day in a bad air or vacuum environment. On this planet, the air is good and we don't need them.

Fuel units power the hoppers and the skimmers. For a hopper, they provide one movement point, say from the ruins to the spaceport or from the spaceport to orbit. There is a multiplier for gravity.

Skimmers also use fuel units, but one per day. Only a few characters can drive the skimmers. The engineer has that skill, as do skimmer drivers. Skimmer drivers are a quirk, the will not leave the system they were from, so you always need an engineer. Were I to change a rule, it would be this one. I would allow bodyguards and medics to drive, but not starship pilots or navigators.

Obviously, the hopper is faster but the skimmers are more efficient.

#TBT - The One About Character Sheets

Originally published on Jul 15, 2015. It is a #TBT post for Jan 9, 2020. Hard to believe it's been this long since I went to convention.

I played Savage Worlds at a convention a few years ago. The game was adapted to the World of Flash Gordon, you can pick up a copy at DriveThruRPG. Each player chose a pregenerated character from a selection available. There was Flash, Dale, Barin (me), Zarkov, Vultan, Thun plus many others. Having picked our characters, we waited for our eighth player to arrive.
Within a few minutes, we were all chatting and joking. A lot of the humor revolved around radio shows and Flash Gordon in general. Our last player was so late, we started playing without him. We had a good time, playing and making in-character comments all through out. The guy who had Vultan did a pretty good BRAIN BLESSED impersonation. Zarkov’s player used a styrofoam coffee cup to read like a radio announcer.
It was all fine and well until the eighth player showed up. He made some funny faces at the remaining character sheets and eventually picked Dale Arden. He did not engage in any of the humor at the table, even when our “Flash” threw some cheesy lines from the movie at him. After one particularly funny “Flash ‘n Dale” comment, Dale froze for a second and rounded on “Flash”.
“What the f— is your problem?” he demanded.
The table went quiet. It was a bit before we got back to the serious business of playing the game.
After a while, I spoke to our eighth player. He was sort of shy. He stuck to the basics of who he was and what he did for a living. He knew nothing of Flash Gordon. As I explained the story to him, he actually warmed up and was a decent sort of guy. He and I chatted for the whole game. It turns out he wasn’t able to play a game he wanted and just picked anything at random. He was kind of disappointed.
But this wasn’t why he snapped. Oh, lord no.
When were we done, he apologized briefly to “Flash” and left. I chuckled when he was out of earshot. Everyone wanted details. What was his issue with our “Flash”?
Our eighth player’s real name was Dale. He had picked the character sheet with his name on it.

Wednesday, January 8, 2020

Strictly (Duke) Spinger - Day 008 (RRR) Human Error

Ah, human error is a great thing. I rolled poorly and we had a contact, e88. This is an abandon room where Duke found 30 secs. The error in this was nothing needed to be repaired, so I wasted a day on a contact I didn't mean or need to attempt. I happened to get lucky and scored some secs. 

Dear Diary,

We engage in RRR, again. Some parts are literally watching paint dry.

Here is today's stats:

1 Antelope starship,
2 Hopper with 15 units of fuel,
1 Stasis pod 2 CU,
23 Repair units (one used to repair the boat).
2 Skimmer,
1 U-bot.
and the ship is fully fueled with 6 hypercharges.

Crew:
Emily, weekly pay 15 secs. She has a sidearm and 35 secs.
Ratchet, weekly pay 15 secs. He has 30 secs.
Doc, weekly pay 10. He has the 10 secs that I paid him on day one.

Designated Heir: Emily.

I still owe 120,000 secs. in principal on the ship. I have 380 secs.

Now to the promised content.

Yesterday, I mentioned Dwarfstar, which is a part of Reaper Minis now. I also happened to be listening to back catalog of The History of English. Episode 118 is about the history of trade names. While this podcast isn't on science fiction, it explains many of ideas and terms we still use today. I thought it was apt.