The Struggle

It’s a struggle to find positive things to say right now. But that makes the struggle even more important.

My Unicomp buckling-spring keyboard is frankly incredible. It is better than any other keyboard I have ever used. I can’t use it at work, because it is kinda loud. At home, it is mechanical perfect. This is the keyboard of the Clockwork Gods.

Convergents to rad(2)

I didn’t find anything too interesting.

I’m pretty sure it’s spelled Convergence, but hey, maybe it’s branding.

Q gets to n=21 before hitting the limit. I guess I could look for a most efficient upgrade path for manual buying.
N=zeros(1,100);
D=zeros(1,100);
Q=zeros(1,100);

N(1)=1;
N(2)=3;

D(1)=1;
D(2)=2;

Q(1)=abs(sqrt(2)-N(1)/D(1))^-1;
Q(2)=abs(sqrt(2)-N(2)/D(2))^-1;

for index=3:100
N(index)=2*N(index-1)+N(index-2);
D(index)=2*D(index-1)+D(index-2);
Q(index)=abs(sqrt(2)-N(index)/D(index))^-1;
end

%some random numbers

c1=25;
c2coeff=4;
n=4;

qdot_base=qdotfunc(c1,c2coeff,n,Q);
qdot_C1=qdotfunc(c1+2,c2coeff,n,Q); %note the +2
qdot_C2=qdotfunc(c1,c2coeff+1,n,Q);
qdot_n=qdotfunc(c1,c2coeff,n+1,Q);

%=================================================
%new file
function [qdot] = qdotfunc(c1, c2coeff, n, Q)

m=n*c2coeff;
c2=2^c2coeff;

qdot=c1*c2*Q(m);

%====================================================

I dunno. Am I missing anything?

Cryptic Warnings

The Book of Treacherous Prophecy says, “When you get to the fork in the road, go left.”

Player 1: “That’s confusing.”

Player 2: “It’s a prophecy. You know how they try to mislead you.”

Player 3: “Hey! We’ve come to a fork in the road.”

P1: “Just like the prophecy foretold! What do we do?”

P2: “We go left.”

P3: “But what does ‘left’ mean?”

P2: “I don’t know. You know how those prophecies mislead you.”

P1: “Left is the opposite of right, right?”

P3: “Right.”

P1: “And the book wants us to go left.”

P2: “Right.”

P1: “So we should go the opposite way.”

P3: “Right!”

P2: “To the right!”

P3: “Good thinking all around!”

Players fight a dragon. Truly, the book is treacherous.

Matlabbery

Weierstrass Sine Product, qdot simulator.

%Matthew Miller
%v_4
%2/8/22
%Calculates max qdot for a range of n and c1 values
%to do more I’d have to optimize a time-dependent progression
%I may do it later

%pdot = q1*q2*q
%qdot = m3Factor * s_n(chi)/sin(chi)
%s_n(chi) = chi * PI(k=1:n)(1-(chi/(k*pi))^2)

%==========================================================================
%start fresh

clear all

%==========================================================================
%human entry

%set number of purchases
steps = 1000;

%since the maximum number of purchases of each variable is all of the
%purchases, these can be set to steps
nDimension = steps;
c1Dimension = steps;

%not sure what to do with these yet
q1=1;
q2=1;
c2=1;

m1=4; %Milestone upgrade 1 level (0, 1, 2, 3, or 4)
m2=1; %Milestone upgrade 2 level (0 or 1)
m3=3; %Milestone upgrade 3 level (0, 1, 2, or 3)

%==========================================================================
%prelim calculations

nIndex=1:nDimension; %X axis
c1Index=1:c1Dimension; %Y axis

m1Factor = q1^(1+0.01*m1); %precalculate
m2Factor = c2^m2; %precalculate
m3Factor = 3^m3; %precalculate

chi = zeros(nDimension,c1Dimension); %preallocate for speed
sinterm = zeros(nDimension,c1Dimension); %preallocate for speed
s_n = zeros(nDimension,c1Dimension); %preallocate for speed
qdot = zeros(nDimension,c1Dimension); %preallocate for speed

%==========================================================================
%generate variables
%Normally I’d do all these with functions, but that’s harder to read

%blah blah blah arrays begin at 1 so I’m ignoring c1(0)=0

stepLength = 50;
basePower = 1;
offset = 1;

power=basePower;
c1steps=1;

c1(1)=offset;

for index = 2:c1Dimension
c1(index) = c1(index-1)+power;
c1steps=c1steps+1;
if c1steps > stepLength
power=power*2;
c1steps=1;
end
end

%chi
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
chi(n_index,c1_index) = pi.*c1(c1_index).*nIndex(n_index)./(c1(c1_index)+nIndex(n_index)/m3Factor)+1; %x=n, y=c1
end
end

%sin(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
sinterm(n_index,c1_index) = sin(chi(n_index,c1_index));
end
end

%s_n(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
s_n(n_index,c1_index) = chi(n_index,c1_index);
s_nk(1)=chi(n_index,c1_index)*(1-(chi(n_index,c1_index)/(1*pi))^2);
if n_index>1
for k = 2:n_index %Big Pi
s_nk(k)=s_nk(k-1)*(1-(chi(n_index,c1_index)/(k*pi))^2);
end
end
s_n(n_index,c1_index)=s_nk(end);
end
end

%qdot(chi)
for n_index=1:nDimension %X
for c1_index=1:c1Dimension %Y
qdot(n_index,c1_index)=m2Factor*s_n(n_index,c1_index)/sinterm(n_index,c1_index);
end
end

[M,I] = max(qdot(:));
[n_max, c1_max] = ind2sub(size(qdot),I); %Maximum values
qdot(n_max,c1_max);

%========================================================================================
%plotter
%========================================================================================

clear rows cols

maxSteps = steps;
minSteps = 1;
for stepsIndex=minSteps:maxSteps

nRange=stepsIndex;
c1Range=stepsIndex;

C=max(qdot(1:nRange,1:c1Range));
D=max(C);
[rows(stepsIndex), cols(stepsIndex)] = find(qdot(1:nRange, 1:c1Range) == D);

end

figure(1)
plot(rows, cols)
title(‘Peak Qdot’)
xlabel(‘n’)
ylabel(‘c1’)

EI&WSP

Without cost, the best purchase works out to be linear. There’s no cool backstepping or ommissions worth chasing.

I’m hunting around for typos, but it seems to match up with the game results pretty carefully. Perhaps including a cost function, there will be a way to beat the autobuyer.

The Power of Gun

I played in a D&D game a few years ago, which is rare for me because I usually GM. I also don’t play a lot of D&D. Gurps and Amber Diceless are my usual systems. However I did, and one of the other PCs said something I’ve been thinking about off and on ever since.

She said, ‘The problem with modern fantasy is that no matter the theme or genre, eventually everyone starts using the power of gun.’

I don’t remember the broad context, but the specific context was PC weaponry. Modern fantasy players eventually start shooting. No matter the magic swords or vulnerabilities, eventually everyone shifts over to gun-based weapon systems. This is annoying, because swordfights on motorcycles are cool, but if you just want to kill the bad guy, shoot him. Use silver bullets. Use wooden stakes from a 40mil launcher. In a fantasy setting recognizably close to the modern world, everyone’s going to be using guns eventually.

A few exceptions exist, but she was 90% accurate.

In movies or written fiction, the authors can make sure swords remain effective. GMs can fiat things such that melee weapons are the dominant form of combat. Without such fiats, if guns and swords are intended to be balanced, guns will always win due to range. Thus the only way to maintain swordplay is eliminate gunplay, or nerf it to the same point, and then you’re not really in a modern fantasy world, at least not for combat.

The GM or authors can attempt to set scenes and stages such that swords work better than guns sometimes. The magic to kill Evil Bob might require continuity between caster and target. The PCs could weaken Evil Bob with guns, but to finish him, they need to get close and use blades. The problem is PCs are nigh geniuses at breaking GM plans, and they’ll come up with a way to shoot Evil Bob to death. Plus most rule systems support specialization. If a player has to focus on one, and that’s usually the most efficient build, focusing on gunfighting is more efficient and net superior. Then if the GM forces them to use swords, that’s sort of annoying and not as fun. Games follow fun.

Conversely, in any game that pays lip service to realism, even fantastic realism, will rely on firearms because in the real world, that’s what people use. While exceptions exist, all major militaries use guns, missile weapons, or something similar as their main combat apparatus, and have for hundreds of years. Swords ain’t coming back. Let’s ignore the meaningless exceptions. Yes, some guy at Normandy had a sword. He was an exception. Maybe there were a few. They’re a rounding error compared to gunfighters.

People enjoy fighting in games. In the real real world, we don’t fight and it pisses us off. Someone cut me off today, just being a real jerk, and I backed off and let them go ahead. I did this because I’m a functional adult. But it pissed me off, and I wanted to hit them with my car. One of the fun things about games is the players can hit someone with their car, and a good game is set up to do this. I think this a moral good. It’s a vent system, and the other PCs all agree with you that yeah, in the game you hit the jerk with your car, because in the real world, you don’t. That sets up and reinforces the expectation that games are for shooting and stabbing, and real life is for using bad language while you brake to let the jerk in. No, I am not going to get into a car accident because the jerk was wrong. I know people like that. I don’t want to be one of them.

But with the expectation that there should be fighting in RPGs, and fighting should be fun, if the game is modern fantasy, it’s going to be gunfighting eventually.

That annoys me.

I think it might be overcomeable by giving everyone a huge amount of move, such that range ceases to matter. But I don’t know if that would be fun, because part of the fun of rpg swordfighting is moving your little dude around on a map. This was one of the great problems with Exalted. To do something new, Exalted took away moving your little dude on a map, and people like moving little dudes on maps. It helps immersion. If there’s so much movement that range ceases to be an issue, moving dudes on maps might not be fun anymore.

This is the problem with video games, and I haven’t seen many of them overcome it either.

Even if you time-gated movement, you wouldn’t have overcome firearm superiority because shooters can shoot every turn. For example gratis, imagine your character could move one hex an action for free but lots of hexes with a move action. Move and attack, many hexes and still attacking, would have significant penalties. This is the way Gurps does movement. The problem is the shooter can still shoot every action, and a shooter with absurd movement would just be better than a swordfighter with absurd movement. There’s no reason to use a sword if you can use a gun.

So you say, ‘Fine. Swords give even more super movement.’

But then you’ve nerfed guns to the point where everyone would use swords.

The problem remains you can’t balance ranged and melee weapon systems in an RPG. Not given the real world consequences of game complexity. The rules can’t be so complicated the game bogs down. Everyone should be able to quickly and intuitively grasp the mechanics.

The alternative is nigh pure narrative games, like Amber Diceless and I love Amber Diceless, but it has a host of other problems.

I don’t have a solution. If you’ve got guns and fighting, the power of gun will win the day.

I want to throw one idea out there. I have not play tested this, but it’s been in the slow cooker for almost as many years as the power of gun. Huge, long range combat might work, ala Car-Wars-style ginormous maps. With significant penalties to hit due to distraction and vibration, and openly ignoring those penalties for melee weapons, you might be able to make it work.

Fearless Girl

Outside the NYSE is the Fearless Girl statue. It’s a little girl staring fearlessly, pretty much exactly what it’s named.

Nearby is the Charging Bull

I’m nominally in favor of both, though that may overstate my feelings. I don’t have strong emotions either way, but I’m pro-art and the sculptures are both nifty. Some people have strong feelings toward the Fearless Girl. They identify with her or support people who do. Other people really dislike the Charging Bull, and you can find notes from both Occupy Wall Street and more religious writers. I think the bull is impressively dynamic. Art is supposed to make people feel things, and both of these sculptures do. So they’re a success.

The girl was originally installed right in front of the bull, so that she was staring it down moments before it trampled/gored her to death. Di Modica was not a fan of that. I understand completely. Context isn’t everything, but it is huge, and there’s a wild difference between a bull in isolation, running, and a bull about to trample some kid. Conversely, if she did stare the bull down, that would make the animal much less powerful and fearsome, which influences the way the bull is interpreted.

Now Di Modica just showed up and installed the bull, so he doesn’t have a whole lot of complaining room when Visbal showed up and installed the girl. But I get it. Since the bull is a physical thing and somewhat unique, changing how it is interpreted forever, ie installing another sculpture facing it, would bother me if I was the creator. Yeah, I know there are other copies of the bull, but they’re elsewhere. To me, the uniqueness of the situation is part of the sculpture.