Musings on the Starcraft II AI Test …

February 22, 2019

So, today I’m going to muse on the Alpha Star AI playing Starcraft II that I kinda talked about here. These are just musings on the topic and so might be a bit inaccurate, and I’m not doing any extra research and so am just relying on what Shamus and the commenters said about it (links to the posts are in the post I linked above).

As best I can understand it, the system was essentially a neural net that was trained using what were in my day called Genetic Algorithms and potentially have evolved a much more “cool” name, where there were a number of agents that played the game against each other and the best ones were kept to play against each other again and so on and so forth. What I did way back in university — as part of my Honours Project I did a GA simulating a “Diplomacy Problem”, with various countries getting advantages or disadvantages based on whether or not they agreed with the others — was create a set number of agents — 50? — and rank them by score, and then drop the bottom 10, double the top 10 for the next run, and leave the rest. I hope they did something similar, but at any rate the overall idea is the same: run the agents, see which ones get the best score, keep those, keep or introduce some new agents so that they can learn new behaviour, rinse, repeat.

What this meant is that they needed to have agents that could play each other in order to generate the massive data sets that you need to train a neural net, which led them to limit the agents to being able to play as Protoss against players that are playing as Protoss. Right away, this is a little unimpressive, as humans can learn to play as pretty much any combination of the races a lot faster than the agents learned to play as Protoss against Protoss. This also led me to comment on the posts that there’s a risk with trying to get it to learn to play as other races or against other races because of the nature of neural nets. The big advantage of neural nets is that you don’t need to program any rules or semantics into it to get it to solve the problems. There aren’t really any rules or semantics in a neural net. Sure, there may be some in there somewhere, and it often acts like it has rules or semantics, but internally to the system there aren’t any. The system learns by semi-randomly adding and removing nodes and connections and adjusting the weights of connections, but the system doing that, at least in a pure neural net (supposedly Deep Learning systems combine the semantics of inference engines and the flexibility of neural nets, but I haven’t looked at them yet) doesn’t have any idea what actual rules or decisions those things are involved in. Thus, a common problem with early neural nets was that when you decided to train it to do something different or learn anything there was always a risk that you’d break existing behaviour unless you also trained it on the old functionality at the same time, which is not how things seem to work in humans. You can limit that by restricting how much it can change the original net, but then it has a harder time learning anything new. Make it static and the machine can’t learn, but make it random and it will forget lots of things it used to know.

What this means for our agents is that teaching them to play as another race or against another race might cause them to forget important details about how to play as a Protoss against a Protoss. I opined that what they’d probably do instead is build separate agents for each case and then have a front-end — which could be an inference engine since this is all deterministic — pick which agent to use. After all, while there are nine different combinations — the AI playing each race potentially against all other races — that’s set at the beginning of the game and so it’s a pretty straightforward decision of which agent to use, and there’s no real reason to try to teach the AI to try to find the ideal match-up given who they’re playing against. So this seems to me to be the easier way to go than trying to build a generic agent that can play all combinations, and it’s actually even less artificial than some of the other things that the agents were already committed to.

So, after the AI beat all the players the first round, how did the one player get a rematch and beat it rather handily? What he did was adopt a strategy that the AI was vulnerable to, which was harassment. The player waited until the AI had built a big army and sent it off towards his base, and then sent a few units in to attack the base. The AI turned its army around to meet the threat, and he moved the units away. After they were chased off and/or destroyed, the AI started out again … and the player repeated the harassing attack. Rinse, repeat, and eventually win the game.

One issue with neural net type AIs is that since they learn through repetition over massive data sets, they don’t really have the ability to learn or adapt on the fly. They don’t really learn much from one event or run. Inference engines actually can learn on the fly because their actions are driven by the premises and logic of their systems, and so if one event doesn’t turn out right they can immediately try to reassess their inferences. In this case, for example, the AI was probably bringing the army back because it anticipated that it was a mass invasion that it needed to repel. A neural net won’t store this explicitly, but an inference engine will. So there’s a chance that after a few repetitions it concludes that this doesn’t indicate a mass invasion and will learn to ignore it. Which, then, would leave it vulnerable to a “Cry Wolf” strategy: harass it until it learns to ignore the harassment, and then launch a full-scale attack to catch it napping. Which it could then learn to defend against as well, and so on and so forth.

People in the comments asked if you could just teach it to ignore the harassment, but the problem with neural nets is that you can’t really teach them anything, at least by explaining it or adding it as an explicit rule. Inference engines can be tweaked that way because they encode explicit rules, but neural nets don’t. To add a rule to the system you have to train it on data sets aimed at establishing that rule until they learn them. There are approaches that allow for feedback and training of that sort from what I’ve seen (mostly through short presentations at work) but either those will establish explicit rules which the system has to follow — even if wrong — or else they can be overridden by the training and so would need to be trained and retrained. In short, you can explain things to an inference engine, but not really to a neural net. You can only either let the net learn it itself or flat-out tell it the answer.

Neural nets, I think, excite people for two reasons. First, because they don’t generally have explicit rules they can come up with unique correct answers that we, ourselves, can’t figure out, or that at least are extremely difficult for us to figure out. This makes them look more intelligent than we are for coming up with answers that we couldn’t see. Inference engines and expert systems can come up with novel solutions as well, but all of those systems can explain how they came to that conclusion and so seem less “mysterious”, in much the same way as when we see Sherlock Holmes explain his reasoning it seems less mysterious and, often, more of a “Why didn’t we see that?”. We aren’t that impressed by computers having access to all the data and never forgetting or forgetting to consider any of it since that’s kinda what they do, but we are impressed by what seem like leaps of intuition that we can’t match. The other reason is that they loosely resemble the structure of the human brain — although anyone doing AI will tell you that they aren’t really that close, but as they are designed to model that in at least some ways the point still stands — and so people impressed by neuroscience will think that it’s closer to what we really do. Personally, I’m more interested in the reasoning aspects of intelligence and am more interested in finding the algorithm we use rather than emulating the hardware, so I’m less impressed by them. Still, they do manage to do the pattern-matching aspects of intelligence well and far better than more reasoning based systems, which has led me to opine that the ideal AI has an inference engine front-end and a neural net back-end. The inference engine answers what it can and passes off anything else to the neural net, assess the answer, adopts it if it seems to work and retrains the net if it doesn’t. Again, some people commented that this seems like what Deep Learning does.

All of this starts to tie back into the heart of questions about AI leading all the way back to Searle: does the Alpha Star agent actually understand how to play Starcraft II? There’s no semantics to a neural net. You could take those agents and hook them up to something that is, say, trying to run a factory and if the weights were correct the system could do that just as well (and people have indeed taken neural nets trained for one specific task and had them perform entirely different tasks and noted that they can more or less work). So what does the agent actually understand about Starcraft II itself? Does it know what the units are and what they mean? It doesn’t have to, as it doesn’t really encode that information in the neural net itself? If you don’t have the semantics, do you really understand anything at all? With Searle’s Chinese Room, most will agree, at least, that the person inside the room is not doing anything intelligent by simply taking in a symbol, looking up the answer, and passing it back out. That person doesn’t understand Chinese. What people say the error is with the thought experiment is assuming that the room itself can’t understand, or couldn’t if it had the right context and information. But all of that is semantic information about meaning. Does a neural net in and of itself ever have meanings? Does the Alpha Star agent store any semantic information at all, even to the extent that an inference engine does? Having the right output doesn’t guarantee meaning, especially if it can be used for things that mean things that are completely different. So does it have meaning? And if it doesn’t, does it really understand?

These may not be questions that the creators are worried about. They may simply want to build an AI to beat humans at a video game. But these questions will obviously be raised by these things, and the answers — and attempts to answer them — are of great interest to fields like Philosophy of Mind, Cognitive Science and Psychology.


Thoughts on the Scotties Round Robin

February 21, 2019

So, the round robin at the Scotties has just ended, with one final tiebreaker determining the eight teams that will go on into the Championship Round. To remind everyone, the format of the Scotties is a one game play-in to determine the sixteenth and final team, then those teams are divided up into two pools of eight for the round robin, and the top four teams from each pool advance to the Championship Round, taking their records with them, and after each have played all four teams from the other pool then the top four teams from that advance to the playoffs.

For the most part, the teams that we would have expected to make it through did, including pretty much all of the teams that play regularly on the Tour … with one glaring exception. That tiebreaker that I mentioned above was between Tracy Fleury’s team out of Manitoba and Sarah Wark’s team from BC, with Tracey Fleury obviously being the team that was well-known on the Tour with Sarah Wark being a rookie to the Scotties. Wark stole a glaring six points to pull off an 8 – 5 win, a loss that has to be especially bitter for Fleury because if you take the steals out Fleury outscored Wark 5 – 2. Since all of those six points came from two ends where Wark stole three apiece, if Fleury had even limited her to steals of 1 she likely wins the game or at least has a good shot at it.

Fleury struggled early in the draw, losing her first two, winning four straight, and then losing her last two including the tiebreaker. But she wasn’t the only top team to struggle a bit. Jennifer Jones went 4 – 3 herself and only avoided a tiebreaker because Kerry Galusha lost her last game to drop to 3 – 4 (she was blown out by a team that hadn’t won a game before then, to show how close that was for Jones). Rachel Homan dropped two games, which still left her comfortably in the Championship Round but leaves her a bit behind and having to win quite a bit to ensure her spot in the top four, and makes getting into the top two — a big advantage in the Page Playoff system that the Scotties uses where the top two teams can lose a game and get another shot at making the finals — quite a bit harder. Chelsea Carey, on the other hand, had a surprisingly good round robin going undefeated at 7 – 0, and after winning the play-in game Casey Scheidegger did well at 6 – 1. The other teams to make it in are the Tour teams of Krista McCarville and Robyn Silvernagle (both at 5 – 2) and the last non-tour team to make it in is Suzanne Birt who doesn’t play on Tour but has quite a bit of experience playing in the Scotties, and she’s also at 5 – 2.

The ice seemed to be a real problem the entire week so far. I haven’t seen as many clear misses as I saw in the round robin, and they were coming from the good teams and not just the weaker teams. Note that when I say “Clear misses” I don’t mean that the shot itself was missed, but that literally they were trying to hit a rock and missed it completely. Normally they don’t hit it hard enough or hit it too hard, but in the round robin there were a lot of times where they went right past it (called a “flash” in curling parlance). And a lot more draws than I expected were missed, and missed badly, stopping way short or sliding right through the house. This probably had an impact on the records, but honestly other than Wark the teams that you’d expect to be there are there, and there are always surprises in a Scotties because you have teams that are actually really good who can’t or don’t play much on Tour and so can surprise some people.

One incident that I want to mention happened in an early game for Nunavut. Jennifer Blaney throws the fourth stones for that team — but isn’t the skip — and was trying to make a shot against a couple. She slipped coming out of the hack and gave up on the shot herself … but her sweepers didn’t. The swept it all the way and managed to get it far enough into the rings to take one and avoid a steal, despite the stones rather inauspicious beginnings. I probably shouldn’t like it when shots that look like complete misses have really good results, but it’s kinda fun regardless.

The Championship Round starts this afternoon.

Thoughts on “The Aftermath”

February 21, 2019

Of the Ben Bova novels that I’ve read, “The Aftermath” is by far the worst.

The book is seemingly a continuation of previous works of his, covering what was called “The Asteroid Wars”. As usual, Bova creates an interesting world of asteroid mining and various colonies and the political situation between them that led to the wars. “The Aftermath” covers the, well, aftermath of the wars, which I suppose places it behind the 8-ball a bit for someone who hasn’t read any of the previous works covering it. The emotional connections won’t be there and so what’s in the book will have to carry things more than normal and than expected. However, it seems to me that the book’s flaws would still hold for people who have read the previous works.

The problem is that the book has too little plot for people who aren’t already invested in the world but too much for those who just wanted to see a resolution to hanging plot threads from the previous works. The book starts by following a family that is caught in the war itself, with their huge mining spaceship being damaged, the father separated from his wife and relatively young (teenage) family, and the ship itself being sent off into an orbit that will take years for them to return. And while showing the effects of growing up in such a desperate situation could be interesting — Piers Anthony’s “Bio of a Space Tyrant” does this in the first book to show how that impacts our budding space tyrant — the book doesn’t actually follow that at all. Instead, it flips between that plot and the father’s attempts to find them, as well as the attempt of the person responsible for that massacre to atone, as well as the influence of the strange artifact that was clearly introduced in an earlier work, the story of the commander tasked with killing the atoner and how a member of his crew works for the person who wants to kill the atoner and not for him, space pirates, and the son of the person who wants to kill the atoner who wants to take over. There are far too many threads here that seem be being developed mostly new to just be the resolution of dangling threads, especially in how they are presented.

All of these threads come together later, but in a way that doesn’t seem like a natural or destined arrangement but instead completely by chance, which weakens them and makes the arrangement of them far too convenient. But most damningly, they aren’t particularly interesting. There are interesting aspects to every thread, but none of them get properly developed and most of them don’t even get resolved, which is definitely a no-no if he wanted to resolve plot threads. And when they are brought together pointless conflict is created that gets resolved in an uninteresting manner.

So, overall, the book just isn’t very interesting. The characters aren’t developed enough to make them interesting but too much time is spent on their development to just treat them as characters brought forward from the other works in the series. The plot threads aren’t developed enough to be interesting but, again, too much time is spent on developing them for me to think that I’m just missing things from not having read the previous works. For the most part, the book just isn’t very interesting.

Thanks, Shamus!

February 20, 2019

So, Shamus Young made two posts talking about Alpha Star’s attempts to create an AI that can play Starcraft II, and how it managed to beat human players and then where a human player exploited a tendency in it to beat it. There was a lot of discussions about that in the comments, and that made me want to do AI again after it being a … few years since my last attempt. And, of course, I clearly have lots of time to spare and no other projects that I want to look at that I could be doing instead of that. Thanks, Shamus!

Anyway, I went out and bought some books on the subject, two of which are detailed books about how to do AI in general and how to do Deep Learning in Python (the last is a technical book on Deep Learning that I would have already started reading except that it starts with Linear Algebra, which is not something I want to review while watching curling …). So I have that to get to, but in pondering it and reading the comments another idea percolated in me.

The AI there focuses a lot on neural nets, as far as I can tell. Now, neural nets have been around for ages, and have waxed and waned in their popularity for AI due to their rather well-known weaknesses (I’ll talk more about that in general in a later post). But one thing that kept coming up, especially when the exploit was revealed was “Can’t you just explain to it or make a rule in it to deal with that exploit?” And the answer is that you can’t really do that with neural nets, because they don’t explicitly encode rules and don’t really have an “Explain this to me” interface. What you can do is train them on various training sets until they get the right answers, and what often makes them appealing is that they can come to right answers that you can’t figure out the reasoning behind, which makes them look smarter even though they can’t figure out the reasoning behind them either. So, perhaps, they can be very intuitive but they cannot learn by someone carefully explaining the situation to them.

But inference engines, in theory, can.

There’s also a potential issue with using a game like Starcraft II for this, because as people have pointed out the intelligent parts of it — the strategy — can get swamped by simple speed of movement or, in the vernacular, “clicking”. As is the case in curling, the best strategy in the world doesn’t matter if you can’t make the shots, and in this case while you’re working out that grand strategy someone who builds units faster and maneuvers them better will wipe you out. A Zerg rush isn’t a particularly good strategy, but if you build them fast enough and can adjust their attack faster than your opponent can you might win, even if your opponent is a better strategist than you are. In short, Starcraft II privileges tactical reasoning over broad strategic reasoning, and while tactical reasoning is important — and arguably even more so in an actual battlefield situation — broad strategic reasoning seems more intelligent … especially when some of those tactical considerations are just how quickly you can get orders to your units.

So what we’d want, if we really wanted intelligence, is a game where you have lots of time to think about it and reason out situations. There’s a reason that chess is or at least was the paradigm for artificial intelligence (with Go recently making waves). But that game can be solved by look-ahead algorithms, and look-ahead algorithms are a form of reasoning that humans can really use because we just can’t remember that much (although it has been said that chess grandmasters do, in fact, employ a greater look-ahead strategy than most people are capable of. And now I want to start playing chess again and learning how to play it better, in my obviously copious spare time). There’s also an issue that it and Go are fairly static games (as far as I can tell because I’m not a Go expert) and so things proceed pretty orderly from move to move, and so aren’t very chaotic or diverse.

Which got me thinking about the board games I have that have chaotic or random elements to them, like Battlestar Galactica or Arkham Horror. These games let you develop grand strategies, but are generally random enough that those grand strategies won’t necessarily work and you have to adjust on the fly to new situations. They’re also games that have set rules and strategies that you can explain to someone … or to an AI. So my general musings led me to a desire to build an inference engine type system that could play one of those sorts of games but that I could explain what the system did wrong to it, and see how things go. Ideally, I could have multiple agents running and explain more or less to them and see how they work out. But the main components are games where you have set overall strategies that the agents can start with, and yet the agent also has to react to situations that call for deviations, and most importantly will try to predict the actions of other players so that it can hopefully learn to adjust that when they don’t do what is expected.

Now, other than picking a game to try to implement this way — Battlestar Galactica’s traitor mechanism is a bit much to start with, while Arkham Horror being co-operative means that you don’t have to predict other players much — the problem for me is that, well, I’m pretty sure that this sort of stuff has been done before. I’m not doing anything that unique other than with the games I’m choosing. So, if I did some research, I’d find all of these and get a leg up on doing it, at least. But a quick search on books didn’t give me anything for that specifically, a search of Google will make it difficult to sort the dreck from the good stuff, and the more up-front research I try to do the less actual work I’ll be doing, and I want to do some work. Simple research is just plain boring to me when I’m doing it as a hobby. So my choices are to reinvent the wheel or else spend lots of time looking for things that might not be there or might not be what I want.

So, I’ll have to see.

Anyway, thanks Shamus for adding more things to my already overflowing list of things I want to do!

Thoughts on “Agents of SHIELD”

February 19, 2019

So, I did it. I made it through all five seasons of “Agents of SHIELD”. I had originally made it part-way through Season 3 before dropping it, likely because of the hiatus. I’ve noticed in the past — most notably with a season of “Survivor” that took a break for March Madness — that if I am trying to watch something on a regular basis and it stops for a while I find other things to do and so am not likely to return. Aside from “Survivor”, I also did that for “Heroes” and probably a couple of other things.

The other thing is that I own the DVDs for Season 1 of “Agents of SHIELD”, and noted that it was much better to watch after having already watched it because I wasn’t speculating on the storylines and so could just watch and enjoy it for what it was. That seemed to hold for this one as well, although I do think that the later season did have more flaws or at least exaggerated the flaws that the series already had.

As I explained to a friend who was commenting on why he stopped watching the show and wasn’t going to buy the DVDs of the first season after borrowing them from someone and enjoying watching them to some degree, the reason I am interested in the show despite not really watching it anymore — which is what drove my choosing to watch it when I got Crave and the show was on there — was because of the characters. I like Coulson and May, I like FitzSimmons, and I can tolerate Skye/Daisy/Quake when the focus isn’t too much on her and her relationships, especially with Ward. Of the later characters, Hunter was generally annoying but got more tolerable later, Bobbi was interesting, and Mack is okay. I disliked Ward and Yo-Yo, however, and felt that both were too prominent for their somewhat annoying personalities, although when Yo-Yo faded a bit due to her uncertainties over the prophecies that she had given herself she was more tolerable. I mostly just found her too arrogant and aggressive for a character that was a latecomer to the team.

This leads me, though, to one of the areas where I think AoS stumbled: too much focus on Skye/Daisy and Ward and their relationship. I think of Ward in the same way as Corran Horn thought of Gara Petothel/Lara Notsil/Kirney Slane in Michael Stackpole’s Wraith Squadron books: a situational conformist with a few screws loose. This could, of course, have been used as an interesting idea, as I did believe that Ward, when he was with SHIELD was committed to them and was equally committed to Hydra when he was with them, and this could have been played up more. And it was handwaved at at times, but too often simply pushed aside so we could have the drama of his interest in Skye/Daisy and her having been interested in the past and now seemingly incredibly angry with him and seeking revenge.

The problem is that both my impression and my impression from reading some forum reactions on the show is that these plotlines were somewhat divisive, and the show didn’t properly handle those divisions. Don’t get me wrong; Skye and Ward were no Neelix, where the audience loathed them but the writers seemed, at least, to love them. There were certainly people who loved them and their relationship and wanted to see more of it. But there was also a significant portion of the audience that disliked them and liked other characters more, and so the show had to advance their plot while ensuring that they didn’t take too much time away from the characters that others liked more. For me, I always felt that Skye/Daisy worked a lot better when she was in the background, as she was the one character that everyone could relate to: the parental-type relationship with Coulson and May, the technical side with Fitz and Simmons and even the attraction with Ward. But the show kept putting the two of them into the limelight, and it got kinda annoying. Ward has to be Coulson’s biggest target, which makes sense but puts him front and centre again. He gets the entity inside him which makes him, again, the big villain in season 3, despite being a big villain in the other seasons (despite there being far more interesting antagonists out there most of the time). And he gets a “good death” at the end of season 3, at least as the mysterious entity, with him going out as someone potentially partially reformed and going out with a literal bang, when the best death for a character like Ward would be to show that while he desperately wanted to be important he really, really wasn’t, and so going out killed by a random mook, preferably completely by accident. In my opinion, Ward really needed to get the “Lindsey” treatment and go out like that character went out in “Angel”: not killed by Coulson out of revenge, nor by Daisy, but instead saying “You don’t get to kill me! Coulson, Daisy, May, they get to kill me! Or even Fitz and Simmons! Not a nobody like you!”

Bringing Ward back only half a season later as an actual hero in the Framework didn’t help either. They really could have let him be dead longer before making him front and centre again.

Another flaw in the show related to this is that while Ward overstayed his welcome, other interesting antagonists were treated as disposable. Victoria Hand was a potentially interesting character and could have easily worked as a “good-aligned” antagonist due to the clashes between her philosophy and Coulson’s, and she’s killed off simply to further the less interesting character Ward’s storyline. Gonzalez also worked as that, and he’s killed just to make Daisy’s mother evil and so increase the drama in her storyline. Whitehall had some interesting premises, and he’s disposed of rather quickly with Ward, again, a key part of that. Rosalind Price worked well either as an antagonist or as a relationship interest for Coulson, and she’s killed off by Ward to drive the revenge plot. Too many good antagonists are lost because the main antagonist seemed to be Ward, and they didn’t seem able to recover from Disposable Antagonist Syndrome even after Ward was killed, losing Aida and even General Talbot as Graviton — even down to having the same beard as the comics version — far too quickly and before all their potential was explored.

Which gets into another flaw: AoS continually fails to realize its potential. Very often, more interesting plots are sacrificed for less interesting but more “dramatic” or convoluted ones, to the show’s detriment. Which is one reason why the show is better the second time around, as you don’t have to speculate about where the plots are going and so be disappointed when their answer is worse than yours. In the first season, given their ages and Chloe Bennett being half-Chinese I posited that her mother might well have been May, which would explain a lot and drive home the maternal instinct that May seemed to have for her. This was less dramatic but potentially more interesting than her mother being a genocidal Inhuman. When Ward killed Hand, the potential was laid for that to be him playing Garrett, which would have preserved an interesting character and led to an interesting payoff, but instead he really was just a traitor. Aida was a particular disappointment, as they teased the more interesting idea that she had been given sentience by the Darkhold, but, no, she was just following her creator’s orders. An AI being given sentience by an evil book is more interesting than her just being a technological innovation, and it would have worked so much better to explain her more aggressive and evil actions later instead of falling back on the “overinterpreting her creator’s commands” trope, and would have filled in some plot holes. If she was just following her creator’s orders to make a world where the people inside it are cured of their traumas, why didn’t she realize that it wasn’t working when for most of them their trauma increased? This wasn’t even handwaved with the idea that she’d been trying to do so over and over again and this world, the one where Hydra ran everything, was the best one she’d built so far (which would have had a callback to constantly resetting May to make her try to escape over and over again). But as a Darkhold entity, she might have an underlying corruption that makes her partial to more evil worlds. Also, it would have help explain her going insane later, rather than having to rely on Fitz’s rejection — and a rather pathetic ploy where she seems to accept it and then it is revealed that she thought he was choosing her and not Simmons — and the standard broken heart trope to pull that off. Over and over and over again, AoS misses new and more interesting takes to fall back on more standard and less interesting ones, and this got worse in the later seasons.

Another way in which the later seasons were worse was that the show became very, very dark. The early seasons had a lot of light humour, particularly on Coulson’s part, but this seemed to fall by the wayside as things got more and more serious and more and more dramatic. The light banter disappeared, for the most part. They tried to bring it back at the end of season 5, but since that was dealing with the end of the world, potentially at Daisy’s hands, it came across far more as “Dude, not funny” than the light banter of the previous seasons.

And I didn’t like pairing Coulson and May romantically. They worked far better as platonic life partner’s and it forces a reexamination of a lot of things, like her relationship with Andrew.

So, after all of that, what’s my overall impression of Agents of SHIELD. First, I think that the end of season 5 was a perfect way to end the series, and that it will carry on may hurt it. Yes, there’s lots more stories that you can tell, but the actual end sequence with the goodbye and with Coulson’s potential death struck the perfect tone for ending a series. Second, there were too many times where I was crying that the show and plots were stupid. However, I still like Coulson and May, and FitzSimmons, and can tolerate Daisy and Mack. So I’m pretty likely to watch it again at some point. The characters are just interesting enough to carry things through the lackluster at best plots, and even the plots are interesting at times to help with that.

Right now I’m watching Agent Carter, and then it’s on to Voyager.

Does Great Power Bring Great Responsibility?

February 18, 2019

So the fifth essay in “Spider-Man and Philosophy” is “Does Great Power Bring Great Responsibility?” by J. Keeping. This essay examines whether Spider-Man and Uncle Ben are right when they say that “With great power comes great responsibility” and in what sense that is true, using the example of the Good Samaritan as a framework to, essentially, ask if we are morally obliged to be the Good Samaritan if we are capable of doing so.

I’m going to start in a little bit, and start by examining why Peter Parker and Uncle Ben at least seem to think that the statement is true. Keeping points out that we already know that “Ought implies can” and so perhaps we can argue that “Can implies ought”. This does seem, at least in part, to be the reasoning that the Parkers are employing: the more power you have, the more you can do, and so the more you are obligated to do. However, it seems more reasonable given at least some interpretations of the origin story is that Uncle Ben really means that the more power you have, the more you are obligated to not misuse it, to use it to help people instead of to harm them or for your own selfish reasons. This is actually fairly well-established in the Sam Raimi Spider-Man movie, where Uncle Ben gives that advice explicitly in response to Peter getting into a fight at school, and in fact explicitly saying that just because you can do something doesn’t mean that you should. It can even be argued that Peter’s failing in that movie and in the later movies was entirely about putting selfish interests ahead of what is right or reasonable, as he lets the criminal go because the manager screwed him over — rather than apathy as the original comic portrays it — and chases after Sandman and the original criminal just to get revenge. So perhaps all it really means is that we always have to use whatever power we have to help others and not just ourselves, and the more power we have the more careful we have to be to not abuse that power.

Peter Parker, however, seems to believe otherwise. He sees his refusing to stop the burglar as a moral failing in and of itself, even if he only failed to act out of the apathetic “It’s not my responsibility” motive that is more common to his origin. He definitely seems to be holding himself to the principle that if he could prevent a harm and chooses not to then he has done something wrong, and has not lived up to his genuine responsibilities. Later, Keeping talks about causes and how causation is complicated, but Peter doesn’t seem to be claiming that if he didn’t prevent the harm he’d be the cause of it, but instead that he would make himself, in some sense, at least partly responsible for that harm. This, of course, seems to follow from Peter’s interpretation of Uncle Ben’s death: he could have stopped the event by stopping the criminal, he didn’t, Uncle Ben was then killed by the criminal, and so Peter is partly responsible for his uncle being killed. The cause of his uncle’s death was always the actions of the criminal, but Peter, through his inaction, is at least partly responsible for that because it was his actions that allowed that situation to come about. Again, this is clearer in the Raimi movie because Uncle Ben was only even there because of Peter: Peter lied that he was going to the library to study when he was really going to participate in a wrestling match for money, and so when Uncle Ben gave him a ride and returned to pick him up he had to park in that area where the attack happened. Moreover, he only chose to give Peter a ride because he wanted to talk to Peter about Peter’s change in behaviour after getting his powers, including that fight. Uncle Ben was placed into that position in large part because of Peter’s selfish decisions, with disastrous, though unintended, consequences.

Which, then, leads to what I think the driving force behind Peter’s adoption of the strong form of “With great power comes great responsibility”: consequentialism. He takes on an equally strong form of consequentialism that argues that you are responsible for the consequences of your actions regardless of what your intentions were. Peter didn’t intend for Uncle Ben to die when he chose not to stop the criminal, but that is precisely what happened. Thus, he has to intervene to prevent harm when there’s even the slightest possibility that there will be because otherwise he would be partly responsible for that harm if those end up being the consequences. Sure, others might prevent those consequences or there may be other reasons why they won’t happen, but Peter can’t take that chance. To map that to the Good Samaritan story, if the Good Samaritan had simply walked on by as well, someone else might well have stopped and helped the victim. But if no one did, or especially if no one else came along and the victim had died, then the Good Samaritan would clearly have been at least partly responsible for his death. To Peter, the Good Samaritan would have been responsible in part, but so would the others who passed by. And so Peter refuses to ever pass by.

This fits into the main discussion underlying most of Keeping’s essay: the distinction between positive and negative duties. Roughly, positive duties are duties to take specific actions, while negative duties are duties to not take specific actions. Keeping ends up arguing that we aren’t morally obliged to do our positive duties as those generally are things that help people, while we are obligated to do our negative duties as those harm others. The problem is that while early in the essay Keeping properly excludes duties that we have accepted, like being a parent, because they don’t map to what either Peter or the Good Samaritan were doing — as neither have any particular responsibility to help those they are trying to help — nevertheless those responsibilities are, in fact, positive duties, and in fact can only be claimed to not be so if one takes the tack that Keeping later takes and argue that if not doing them would cause harm then we have to do them, but harm is what Keeping used to define negative duties. In short, taking this tack means claiming that taking the other action would cause harm and so would end up being a negative duty. But this move seems to prove too much; it’s way too easy to redefine any positive duty as being one that might cause someone some kind of harm and thus turn it into a negative duty. We can still avoid obligating us to do them by appealing to how reasonable the demand is — as Keeping does later — but at that point the distinction isn’t doing much for poor Peter … especially since he would disagree that we don’t have an obligation to perform our positive duties.

The issue here is that we all think that there are times when helping someone is a duty and where not harming someone is not a duty, so to divide our duties into positive and negative duties and then claim that our positive duties are optional and our negative duties mandatory seems, at a minimum, to be too shallow an analysis. What we need to do is focus in on those cases and see when we think that we are obligated to do something or not do something and when we don’t think that. This seems to have two components. The first ties directly into what Peter and Uncle Ben hold: what we are capable of doing. But the second component is the more important one, which is what it is reasonable for others to demand of us. Every time we consider what our moral duties are, we not only have to consider what we can do for others but what claims others legitimately have to our efforts. No one can demand that we sacrifice our lives for theirs, for example, unless we were directly responsible for placing them in that situation … and, perhaps, not even then. But people can indeed legitimately demand that we not kill them just because they’re in the way and we’d have to walk two more feet if we didn’t. Yes, these are extreme positions, and there’s a lot of room in-between them, but I think they get the point across: some demands are unreasonable and so can never rise to the level of duties, while some are indeed reasonable and would rise to that level.

It’s pretty easy to show that directly harming someone else without exceptionally good reason falls into the “obligation” category because it is trivial to show — or at least claim in a way that seems reasonable — that asking someone else to not harm you is a pretty reasonable request. It’s also pretty easy to show that no one has an obligation to put their lives and health on the line again and again for no recompense and, to tie it back to Spider-Man, to be demonized for doing that, even if we can consider someone heroic who does so and wish that we could be that self-sacrificing. And, in fact, it’s that it isn’t really an obligation is precisely why we find it so admirable: living up to ones obligations to help others is admirable, but helping others even when one isn’t obligated to do so is even more admirable.

So for the Good Samaritan, a case can be made that the demand is so minor — an inconvenience and a little bit of money — and the consequences so extreme that the Good Samaritan really should be morally obligated to help the victim. This, however, doesn’t really seem to be the case for Spider-Man. As Green Arrow commented to the original Justice League members in the Justice League cartoon, if Spider-Man wanted to quit and focus on his own life, no one could say that he hadn’t done enough to justify the move. We cannot demand that he keep sacrificing his life and his body and his relationships to help others, especially as there are other heroes out there who can take up the slack … even if we might admire him for doing so. He’s neither uniquely positioned to stop those harms nor has he taken any action that would obligate him to do so.

Peter has great power, but has merely accepted great responsibility. His great power doesn’t obligate him to accept the responsibilities that he has accepted, but it is, in fact, that fact that makes him the admirable superhero that he is.

Thoughts on the Scotties Wild Card Game

February 16, 2019

The Scotties started last night, with the Wild Card game, which is a win-and-you’re-win game to set the last team in the Scotties field. The Scotties is a national tournament and so in general has representation of each province and territory in Canada. The old format had a number of provinces with automatic representation — as well as the returning champion representing “Team Canada” — but some of the provinces that had weaker teams had to play themselves into the field ahead of the actual start. This had a couple of issues. First, this meant that not all provinces were represented in the tournament, which looked a bit odd and lost an opportunity to draw attention to the sport in those provinces, which would stunt the growth of the game there and leave them as perennial also-rans. The second issue was the other end of the scale, as stronger provinces would be incredibly difficult to get out of leaving some of the best teams in the country out of tournament. In order to preserve the province and territory requirement but add some better teams and have a focus on the stronger teams, they decided to include all the provinces and territories and add one Wild Card team to bring the total number of teams to 16 in the initial round, and then have a second round with a reduced field of eight about half-way through the week, leading to the playoff rounds later. The “Championship Round” obviously should contain the better teams, but every province and territory gets a shot at the main draw.

Hence, the Wild Card game, between the two teams that have collected the most ranking points on the curling circuit that aren’t already in the tournament. These were Kerri Einarson and Casey Scheidegger. Einarson’s team was the inaugural Wild Card team and were the runners-up, while Casey Scheidegger had been the Alberta Scotties representative last year. However, both teams came in struggling a bit, with Einarson having a good provincials but losing in a heartbreaking way to Tracy Fleury in the finals and then losing to her again in the Skins Game, while Scheidegger had a very disappointing Alberta provincials.

It turns out that it was more a game of struggles and capitalizing on them than a classic game.

Part of this can be blamed on the fact that they were the first ones to play on this ice, and no matter how good the icemakers are every sheet of ice has its own peculiarities that they have to learn, and also interacts differently with the stones as the stones are prepared for every tournament. So there’s always a feeling-out period at the start of every tournament, but when you only have one game and don’t have a chance to watch anyone else play on the ice you have to figure that out in a hurry. Also, from what the commentators said the ice was particularly erratic, probably due to them having less time than they’d like to get it set-up. However, that isn’t the only explanation for the relatively weak play in the game, as both teams clearly had weaknesses that could be exploited. What this resulted in was a game of struggles but one that was tense and competitive.

Casey Scheidegger went down 3 – 1, but then took 2 and stole 3 more points in the next two ends to go up 6 – 3 with only three ends left. This was mostly driven by the fact that Einarson, as is typical for her, struggled mightily with draws and hits weren’t curling at all leading to confusion for both teams and a lot of missed hits. Einarson, however, managed to take 2 in the eighth and then finally made some great draws to encourage Scheidegger to make a tricky in-off that she missed, giving up a steal of 1 and tying the game. I say “Encourage” there because Scheidegger could have easily drawn for one, but the strategic consideration was that if she made it she could get two and pretty much wrap up the game, and the worst that could happen was a steal of 1 and a tie game coming home where Scheidegger had last rock advantage. However, her weakness was her strategy. On a number of occasions, the commentators noted a shot that might be better than the shot Scheidegger ultimately went with, and often even making the shot left Einarson with a shot to make things much, much more difficult for Scheidegger. In fact, at one point in the seventh end Einarson actually had a chance to score five instead of two, and it took a great shot by Scheidegger to limit the damage and Einarson still had a shot for three that she missed. If Einarson’s team had been able to make more shots and take advantage of the Scheidegger’s strategy decisions the outcome might have been different. As it was, Scheidegger ended up taking one in the tenth on a shot that could have been a lot harder if Einarson had made her last hit to win the game, and become the Wild Card team.

The interesting thing is that Einarson’s team is that all-skip team that I’ve been watching all season. They started out really hot, but now seemed to have cooled down quite a bit, losing their last three really big games. I’m not really sure why, but one factor might be that in order to get used to playing together they played a lot of tournaments early in the season, and so there might be some fatigue setting in. That being said, Tracy Fleury has played a lot of games as well and seem to be just hitting their stride now. So it will be interesting to see how this team progresses as this season goes on and carries over to the next season.

But not at the Scotties, because they’re going home and Scheidegger is in. It’s a long way to go for one game if you lose the Wild Card, but as Einarson showed last year you can go pretty far if you manage to win it because you’re clearly one of the better teams in the entire tournament (the Wild Card team is ranked third in the seeding for the tournament). We’ll see if Scheidegger can have anywhere near as good a run as Einarson did last year.

Update on Elsinore

February 15, 2019

So, let me check on a game that I posted about back in 2016: Elsinore. In the last update, they had their final Beta build. In this update, they have released … another final Beta build. To their credit, they didn’t try to hide it, and I think that the comment that they lied about that might be a bit too harsh (unless they were actually lying and not just wrong about that), but one would have hoped that they would have been able to say something about that, or about the game, before four months have passed.

They’re also saying that they will release it at some point in 2019, which would be good for them if they make it. But it would still be 3 years late at that point. Building a game like this seems to be more complicated than they thought it would be, although pretty much anyone who knew anything about game design could have told them that it would be complicated. Still, their willingness to keep delaying it until it works is actually a good sign, as it means that either it will get released and be relatively good, or else it will never get released. So we’ll see what happens this year.

Thoughts on “The Starcrossed”

February 14, 2019

“The Starcrossed” is a Ben Bova novel that’s much lighter than the other works of his I’ve read up until now. The novel is built around a new technology that does crystal-clear 3D recording and broadcasting. The scientist who invented it desperately wants to get some television show to use it to show off what it can do, and he encounters an incredibly unscrupulous network magnate who desperately needs a hit and eventually takes a chance on using it to create one. The show they decide on is a science-fiction show that is loosely based on “Romeo and Juliet”, although with a “Planet of the Week” format like Star Trek. However, the magnate is cash-strapped and ends up using the money that should go into the show to bet on football in the hopes that the team that’s going undefeated will win all the way to the Super Bowl and from that win enough money to keep the studio running. This includes filming it in Canada and hiring high school students to write scripts for it. Add in a writer and director who is eccentric and very artistically minded, a Canadian studio intent on milking the American production for all they can get out of it, a lead actress who seems young, innocent and naive but seems far more mature than she appears, a lead actor whose day job is playing hockey but has no relevant skills other than being Canadian, popular, and attractive, and a host of other characters and issues and it has all the makings of an utter disaster.

The thing is that the lighter tone really works for Bova here. It lets him keep the strong world-building because he needs that to poke fun at everything, and also keep his villains as moustache-twirling because they’re more fun that way, and we don’t spend time wondering why they succeed since sometimes they don’t and in lighter works we tend to just accept that they can get away with things despite being incompetent. We don’t have any attempts at actual serious drama so when it falls flat we not only aren’t disappointed, but instead find it appropriately funny.

The one complaint I have about the book is that it ends a bit abruptly, leaving a number of storylines mostly unfinished. Particularly, we don’t really find out what the deal is with the lead actress. It’s not a bad ending, but it really does seem abrupt which hampers the work a bit.

Still, I’d put it into the same category as some of Sheckley’s works (not “The Status Civilization”, of course). It was entertaining, and more so than the other books of Bova’s I’ve read. Still, the abrupt ending makes me less inclined to read it again.

Another Update on that Accomplishment Thing …

February 13, 2019

Well, it’s been a couple of months since the last update and I’m about to go on vacation again, so it looks like a good time to see how things are coming along.

With the addition of Crave, DVDs has had to be expanded into TV shows/movies in general, and it still continues to be the thing that’s working out the best. I’ve almost finished all five seasons of Agents of SHIELD and am also on the last two disks of GI Joe, so I can see the end of both of those and so can move on to other things. The specific half-hour list/stack has gotten smaller, but the hour list is not making that much progress, especially considering that after I finish Agents and Agent Carter I’m planning on watching all of Voyager, Enterprise, and Discovery, which will take me several months at my best possible pace. But these are things that I wanted to do, and I’m getting them done.

General movies are a bit slow, but lately I managed to watch some recent purchases like Clue, Dracula: Dead and Loving It, and Cry Wolf, most of which I probably won’t talk about. This gives me some hope that I might be able to watch other things as well and fit them into my schedule. I haven’t been watching horror movies as much, but still have been able to watch them enough to keep up with blog posts about them, even if the backlog is almost gone.

Reading is working pretty well as well. I’ve finished the Ben Bova novels and am now working my way through a couple of short story/short essay collections before turning to the Niven stuff. My plan for reading is after finishing that and a couple of Marvel things that are distracting me from it I’ll start reading a bunch of classic literature. The only thing left to do is dig through my boxes again to find some of the ones that I know I have somewhere but can’t find, especially including “Pride and Prejudice”. I’ve added a couple of other Austen works to my list.

Video games, again, have improved. I started playing KotOR as Jemma Simmons some weekday evenings, and have managed to get to Dantooine already, which is pretty good progress. I’ve also managed to make progress on Sunrider Academy, in general getting in a session of it at least once a weekend, although my plan was to play it twice. Still, I’m getting somewhere with it and am enjoying it more now that events are more common.

Projects are … about the same, which is disappointing. I haven’t done anything wrt programming or writing projects since the beginning of January, mostly because of various things like the weather horning in on the time I should be spending working on them. On the plus side, I’ve maintained my daily blog posts and have cleaned up my various backlogs quite a bit, although philosophical posts are still a bit lacking, which I’m hoping to make up for by adding weekly “Philosophy and Popular Culture” posts. Just due to lack of content, though, I might soon stop posting every day.

So, anyway, that’s where things are. So far, things are going okay but could be improved in some areas, especially projects. I’ll have to see how things carry on through the rest of the winter, at which point I’ll need to reassess and revise my schedule anyway.