sábado, 21 de marzo de 2020

Tech Book Face Off: Facts And Fallacies Of Software Engineering Vs. Programming Pearls 2

Since I've been hitting the tech books pretty hard for a while now, for this Tech Book Face Off I wanted to take a bit of a breather and do a couple of relatively easy reads. These books have been on my to-read list for some time, so I decided to finally check them out. The first one, Facts and Fallacies of Software Engineering by Robert L. Glass is a book in a similar vein as The Pragmatic Programmer in that it relates various tidbits of advice on the craft of software engineering. As for Programming Pearls 2 by Jon Bentley, this book surprised me. I thought it would be somewhat similar to Facts and Fallacies, just more directly related to instructive programming examples than to the software engineering field at large, but it turned out to be quite a bit different, as we'll see in this review.

Facts and Fallacies of Software Engineering front coverVS.Programming Pearls front cover

Facts and Fallacies of Software Engineering

Robert L. Glass is an odd duck. His writing is at the same time strongly opinionated and calmly easygoing. He adamantly argues for each of his observations as 55 facts, with 10 fallacies thrown in at the end, but his discussion of each one is quite conversational. He admits that not everyone will agree with his facts, even though he provides evidence and sources for them. (Well, he does for a majority of them, at least.) I found this book a quick, enjoyable read, and it was worthwhile even if I didn't always agree with his propositions because they always made me think. I'd much rather read a book that I sometimes disagreed with if it challenges me, than a book that's poorly written and says everything I want to hear.

I'm not going to relate every fact and fallacy from the book here, since that would make this review nearly as long as the book, but they do cover the gamut of software engineering. I'll describe them in broad strokes and discuss a few that I found especially interesting.

The first chapter deals with software management related things. The facts are broken up into smaller sections of people (the software engineers), tools and techniques, estimation, reuse, and complexity. A full 22 facts are covered in this chapter, including one about how tools and techniques are over-hyped that I found particularly thought-provoking. Even back when this book was written in 2002, tools were being promoted as a panacea for software development problems while they were simultaneously showing diminishing returns, and Glass was having none of it:
Time was, way back when, that new software engineering ideas were really breakthroughs. High-order programming languages. Automated tools like debuggers. General-purpose operating systems. That was then (the 1950s). This is now. The era of breakthrough techniques, the things that Fred Brooks (1987) referred to as silver bullets, is long since over. Oh, we may have fourth-generation languages ("programming without programmers") and CASE tools ("the automation of programming) and object orientation ("the best way to build software") and Extreme Programming ("the future of the field") and whatever the breakthrough du jour is. But, in spite of the blather surrounding their announcement and advocacy, those things are simply not that dramatically helpful in our ability to build software.
What's most interesting is that 17 years later, the hype machine hasn't stopped, and it shows no signs of slowing down. I wouldn't say that's surprising, given that software engineering is such a massive sector, and people continue to try to make money off of it however they can, but it shows how relevant this book still is. Advances in software engineering ideas do still happen, but they are still incremental. It isn't that incremental is bad, but it is all that we should expect now. Productivity free lunches aren't likely to come about anymore until the next breakthrough technology happens, and that may not be software but something else entirely.

Chapter 2 is about the software life cycle with sections on requirements, design, coding, error removal, testing, reviews and inspections, and maintenance. Maintenance in particular is a fascinating subject in software because it ends up taking the majority of the time and cost of any given project, mostly without our realizing it. It's also quite difficult and no one wants to do it because the documentation sucks. There's a reason for that:
To solve those problems, software people have invented the notion of maintenance documentation—documentation that describes how a program works and why it works that way. Often such documentation starts with the original software design document and builds on that. But here we run into another software phenomenon. Although everyone accepts the need for maintenance documentation, its creation is usually the first piece of baggage thrown overboard when a software project gets in cost or schedule trouble. As a result, the number of software systems with adequate maintenance documentation is nearly nil.
Here we can see both Glass' conversational writing style and the reasonable way of thinking that he shows in most of his facts and fallacies. It's hard to argue with this one, especially because I think most of us have been in similar situations.

The next chapter is about software quality, including sections on quality, reliability, and efficiency. Like the other chapters, these facts are mostly obvious to anyone who has been working in the field for more than a few years, but it's always good to refresh your memory on these ideas. The last chapter of facts is just a single fact on research: many researchers advocate rather than investigate. I can't say whether or not this is true from my own experience or reading, but I'm not too concerned about it.

Starting with chapter 5, the next three chapters deal with the 10 fallacies. Chapter 5 loops back around to management with similar sections to the first chapter. The fallacies include things like, "you can manage quality into a software product," and "software needs more methodologies" that are hard to argue with. You can't, and it doesn't. The next chapter mirrors chapter 2 with some fallacies on the software life cycle. I thought he was unfair in his discussion of the fallacy, "given enough eyeballs, all bugs are shallow" by saying:
This is probably just wordplay. But it is patently obvious that some bugs are more shallow than others and that that depth does not change, no matter how many people are seeking them. The only reason for mentioning this particular reason here is that too many people treat all bugs as if their consequences were all alike, and we have already seen earlier in this book that the severity of a bug is extremely important to what we should be doing about it. Pretending that turning scads of debuggers loose will somehow reduce the impact of our bugs is misleading at best.
This seems like a deliberate misinterpretation of the idea of the quote. It's not saying that more eyeballs will make bugs less critical. It's saying that any given bug is easier to find if more people are looking for it because the more people that look for the bug, the more likely that a person with the right expertise will see it and be able to fix it quickly. Or it will be more likely that someone looking for the bug will randomly happen to look in the right place and spot its signature quickly. However, I think there are still issues with depending on this approach for open source software development, but for other reasons. Most open source projects don't have the luxury of having hundreds or thousands of programmers working on it. Frankly, most projects are lucky to have more than one programmer working on it, so the responsibility of finding and fixing bugs still falls on the programmer writing the code. Even if the project has high visibility, pull requests need to be of high quality, or more bugs will be introduced over time than will be fixed and the whole project will degrade.

I also took issue with the fallacy in the last chapter: "you teach people how to program by showing them how to write programs." Don't get me wrong, I do think this statement is false, but for different reasons than Glass gave. He thinks it's more important to teach budding programmers how to read code and that academia isn't doing that:
I know of no academic institution, or even any textbook, that takes a reading-before-writing approach. In fact, the standard curricula for the various computing fields—computer science, software engineering, information systems—all include courses in writing programs and none in reading them. 
I disagree on three counts. First, let's get the easy one out of the way. Programming is about more than writing or reading code. Teaching programming involves teaching critical thinking skills, problem solving, systems thinking, user psychology, and so much more! Second, and more directly related to his reasoning, the exact same approach is used in mathematics. Schools teach students how to write math solutions well before teaching them how to read math solutions. Most people will never get to the point of reading and understanding mathematical proofs, but everyone starts with solving basic arithmetic problems. That's how we start in programming, too—by writing basic programs.

Third, I would argue that universities and textbooks are, in fact, teaching students to read programs at the same time as writing them. The examples in the books are all there to read, and the student must read and understand them in order to write their own functioning programs. The first example programs may be short and simple, but I would hardly expect someone brand-new to programming to read hundreds of lines of code without first being taught the syntax. Learning to read is unique in that the student is being taught a skill that is required in order to learn most other skills, so of course we learn to read before we learn to write, but not much earlier. We start learning both in kindergarten, right? Besides, most people don't know how to read effectively anyway, even though they technically learn to read first, so I don't see why a pure reading-before-writing approach to programming would necessarily be better than what is currently being done.

As you can see, some topics in this book are quite controversial, and that's why I really enjoyed it. No one who reads this book will agree with everything, and that's okay. It's meant to raise a debate, and Glass does a great job of presenting a strong case that you can take a stance against if you disagree. It got me thinking over ideas that I've held on to for a long time, and we all need that from time to time. It's also a fairly short book, so there should be no excuse to not read through it. I highly recommend it.

Programming Pearls 2

In the introduction I said this book surprised me, and what I meant by that was that it was not at all the book that I expected. From the title alone, I was expecting a book similar to Facts and Fallacies of Software Engineering in that it would relate a number of experiences and advice from Jon Bentley's career about how to do software development more effectively. I suppose that's what this book is, in a way, but it's more of a combination of an informal algorithms book and a practice set of programming problems.

It's not nearly as thorough or rigorous as Introduction to Algorithms (CLRS) or Algorithms by Sedgewick, but it gives a passable review of most of the fundamental algorithms for sorting, searching, and storing data. The first chapter starts off with an interesting little algorithm that I had never seen before on sorting a list of numbers with a restricted range using an array of bits. In this case it was telephone numbers, and it was accompanied by a story about how he was helping a new colleague with a problem, but the algorithm itself could be useful in plenty of situations. 

The next chapter continued the thread from the first chapter with a few more problems that could be neatly solved with novel algorithms, like finding all possible anagrams or swapping unequal halves of an array. The third chapter covered ways to make programs much more efficient by correctly structuring the data that was being manipulated. The classic example is using an array instead of a set of numbered variables, but Bentley gave other examples as well, like creating a simple template language for form letters. 

Chapter 4 was all about program correctness, using the binary search algorithm as a conduit for discussing the pitfalls of complexity and how to formally verify a program (or at least a function, since formal verification just doesn't scale). The last chapter in this first part of the book quickly covers testing, debugging, and performance timing. That completed the preliminaries, which is what the first part of the book was about, and throughout these chapters Bentley had short, direct advice about how good programming was about balance:
Good programmers are a little bit lazy: they sit back and wait for an insight rather than rushing forward with their first idea. That must, of course, be balanced with the initiative to code at the proper time. The real skill, though, is knowing the proper time. That judgment comes only with the experience of solving problems and reflecting on their solutions.
I think some later writers in the field took this idea of the lazy programmer to the extreme, but I like this nicely moderated perspective more. He had a similarly measured view about performance optimizations:
Some programmers pay too much attention to efficiency; by worrying too soon about little "optimizations" they create ruthlessly clever programs that are insidiously difficult to maintain. Others pay too little attention; they end up with beautifully structured programs that are utterly inefficient and therefore useless. Good programmers keep efficiency in context.
There are no universal answers in programming, so there shouldn't be any universal advice, either. These comments make the point that you can't turn off your brain when programming. You have to constantly consider everything that would have an effect on the problem at hand in order to come to a more optimal solution.

The second part of the book is all about performance. Chapter 6 kicked things off with a look at the n-body problem in physics for simulating the forces that bodies exert on one another. Making the simulation fast was not only about developing a good algorithm, but also using the right data structure, tuning the code for the machine it was running on, and optimizing performance critical loops in assembly. A recurring theme in the book was that there's no silver bullet, and this case study exemplified that with its multifaceted optimization process.

The rest of the chapters in this section expanded on the ideas brought up in chapter 6. Chapter 7 talks about how to estimate with back of the envelope calculations. Chapter 8 discusses various algorithm design techniques including the all important divide-and-conquer approach. Chapter 9 delves into when and how you should do code tuning to get the biggest benefit. Chapter 10 looks at how performance can be improved by reducing space, both of the program code and the data that it operates on. Every chapter had succinct little examples and highly condensed code to show the essence of optimized programs, along with interludes of advice like this:
[E]very now and then, thinking hard about compact programs can be profitable. Sometimes the thought gives new insight that makes the program simpler. Reducing space often has desirable side-effects on run time: smaller programs are faster to load and fit more easily into a cache, and less data to manipulate usually means less time to manipulate it. The time required to transmit data across a network is usually directly proportional to the size of the data. Even with cheap memories, space can be critical. Tiny machines (such as those found in toys and household appliances) still have tiny memories.
It's good to remember that not all programming is done on massively powerful processors, even today with a supercomputer on every desk and in every pocket. We have just as many small processors with limited memory and a tight power budget doing plenty of complex calculation tasks.

That brings us to the last section of the book on five interesting programming problems. The first one is on sorting with quicksort. The second one is about how to draw a random sample from a larger collection. The last three are on searching, heaps, and strings. The last problem dealing with strings was a great way to end because it was actually about how to teach the program how to generate english words and sentences using example material. It was a chapter on machine learning written before it was cool.

On the whole, this book was a fairly enjoyable, quick read. Bentley is clear and to the point, even to the point of being abrupt. As an algorithms book, it's not up to the level of the more formal algorithms books, and it wouldn't be very useful as a first book on that material. It is a good summary of the basic sorting and searching algorithms with some interesting unique algorithms thrown in to spice things up, making it a decent review for the more experienced programmer. If you're looking for an easy second or third book on algorithms to peruse, it's worth picking up.


So it turned out that these two books are not directly comparable, but hey, it happens. They were both enjoyable reads. I would say Facts and Fallacies of Software Engineering was somewhat more enjoyable than Programming Pearls 2 with Glass' way of challenging your assumptions and long-held beliefs, but both books are worth a look in their own right. Programming Pearls 2 does a good job of reviewing the field of algorithms with a few novel ideas thrown in the mix. It all depends on what your interested in at the moment: high-level software engineering issues or algorithmic programming problems.

jueves, 19 de marzo de 2020

Improving Island Shaping For Map Generation

One of my goals for 2019 is to improve my existing pages. This week I improved the island map section of my noise-based map generation page.

Island map generation: you figure it out

I had offered lots of options: additive vs multiplicative, Euclidean vs Manhattan distance, and three mysterious parameters named a, b, c. It was simple for me to offer lots of options. The problem with lots of options is that there's a large "possibility space" to explore. You may or may not find something you like.

Based on feedback from readers, I decided to rewrite this section. I stepped back and thought about why we're adding and multiplying. What is the goal? How does it work?

  1. Push the edges of the map down into water. I need to decrease elevations near the edges.
  2. Push the middle of the map up onto land. I need to increase elevations near the middle.

The main idea is to start with noise-based elevation and reshape it into what we want. The noise-based elevation fits into a box , and we reshape the box into something like . The contents of the box, whatever terrain had been generated, will get pushed up and down when the box is changed.

I rewrote the entire section of the page to explain this idea, and I ended up removing the interactive diagram.

Island map generation: explain the main ideas

Related: Why Minimal Guidance During Instruction Does Not Work says that experts can use the interactive exploration to navigate the possibility space because they have already built up the intuition to know where to go. Novices on the other hand learn better with guidance.

FIRST HOUSE + DOWNLOAD + TOUR + CC CREATORS | The Sims 4 |



Continue Reading »

Austrian Dragoons By Doug Mason, And A Bit Of News


I can't help but notice its been 7 weeks since I last posted here, I wish I could say that a lots happened wargames-wise in that time, but I'm afraid thats not the case. I've had little time for games or painting. My output has been insignificant; I've STILL got 4 lancers to finish for that regt, although all the horses are done and the rest are based and finished. On a positive note I am coming up to my annual quiet period in terms of work which is normally  a productive painting period, so lets hope so. 
One thing I did manage was to get Mike Ingham to part with these dragoon figures painted by Doug Mason. I did nothing to them other than touch up the bases, they are the Elite figures. This gives me 2 regts of Dragoons now, plus the 2 hussar regts, and 1 lancer. I have one regt of 36 Chevaux legere (why give Austrian cavalry a French name?) still to paint- this will give 6 regts and a total of 240 cavalry.
There are stiil the Cuiraissiers to consider,but they can wait.
In 2 weeks time I will be heading up to Scarborough for Gerry's birthday bash which he has kindly invited me to. While I'm obviously looking forwards to this, it's also a bit sad as it will be the last time I will get to play 25mm napoleonics up there. Its not been any great secret that ill-health is forcing Mike to shut down the holdiday centre. Gerry is now well underway embarking on his own enormous - and I mean enormous!-10mm project (He already has erected a brand new, purpose-built "bunker" with about the same amount of table space as the current centre!). He is looking to replicate what they had in 25mm in 10mm in a couple of years- should be fascinating, and is going to be upping the figure scale so what was a 36 man btn now has a mental 108 figures. The man is nuts.
Although some figures have been sold, the rest of the collection (which is still massive), including all the buildings and terrain is moving down to the Basingstoke area under the stewardship of Mark Freeth. I spoke to him this morning and he has new premises sorted, and is hoping to put his first game on in February! He said he should have a website up next week. He is going to be doing Napoleonics, plus ACW and Malburian, and has already rebased all the WWII stuff (!) for Flames of War. He has some new ideas and will hopefully breathe a bit of new life into the WHC. I wish him all the best, and am looking forwards to playing there (and its only an hour up the road!).




martes, 17 de marzo de 2020

Shadow Of The Comet – Development Hell

Written by limbeck

So, the last session finished with me recovering from last night's events and Dr COBBLE prescribing me some pills to stop a heart attack. As I get off bed and put on my clothes, I have two goals for the day: get these pills from the pharmacy; and develop the plates from last night, again at the pharmacy. So, without much delay, I gather the prescription from the desk and head out. Oh, I also have a look at the parchment from the ritual, but I cannot read it. Maybe JUGG will be able to help later. Just to be on the safe side, I try to use it very near the desk, but it doesn't work.

Maybe I won't come across Miss PICOTT this time

At the pharmacy, I give the prescription to Mr MATHEWS, the pharmacist, who says it will take some time and goes to the back to prepare my medication. Before that, he pointed me to the door at the back, where his dark chamber is, so I can develop my plates. He also mentioned that I will need to mix the four chemicals to develop the plates.

So, I go to the back to collect the four chemicals. Only there are eight of them. Fortunately, I have a good chemistry education and have the internet at my disposal to find the solution. As you can imagine, neither was really helpful.

...develop those plates. Well, I definitely won't work for them.

The scene in the screenshot played several times, because the chemicals I had in my possession did not really correspond to what instructions I could find online. I spent the better part of an hour reading everything I could about photographic film development and what chemicals are used. I am quite confident that I can pick up analog photography as a hobby again.

However, all this knowledge did not really help me much. My online research suggested that I need to use metol and / or hydroquinone first, then add something to raise the pH (benzene chlorate?) and finally sodium sulphite. This is the process for B&W photo development. I suppose I could add the 'chromogenous', whatever that is, in the end. Black and white works better with astrophotography, as there is not really much colour in space and requires less light on your plate / chip to produce an image. And it can be equally spectacular.

My first try failed, but I could try as many times as I wanted, fortunately. I was convinced that I had to use sodium sulphite at the end, so I tried various combinations, without success. Some more googling suggested that sometimes it helps to add a weak acid to control the development. I tried some combinations using the acids at my disposal (weak and strong). In vain.

In the end I resolved to brute force it. I was pretty sure that the Metol – Hydroquinone were correct, since I had tried several combinations with only one of them to zero success. After a few more tries, I found the correct combination. I will leave it here to spare others of this madness: metol – hydroquinone – benzene chlorate (which is actually sodium hyposulphite) – chromogenous (potassium metabisulphite).

I would disagree

Here, I must say that my first choice was very close to the solution, but honestly, I have no idea how I would have solved that puzzle if I did not have internet access. Maybe if I had an encyclopaedia at home, but again, I don't think I would get the exact combination of chemicals, because some of these were not mentioned in any of the sources I found online. Maybe the art is forgotten, what can I say? On top of that though, the names of the chemicals were different in my inventory and when I used them, adding to the confusion. A hint in the game would have been much appreciated here.

But I digress. After I successfully develop the plates, I am treated to a cutscene in which I slowly go through the developed plates, only to look at a horrid image in the third one, a set of eyes formed by stars looking at me with malice.

Game over. Or not

I naturally faint and I am saved in the last moment by the pharmacist, for just $10. My life is so cheap. Unfortunately, the plate shattered when I dropped it, so I have no evidence to defend my sanity. I collect myself and go out.

Outside of the pharmacy I met some Mr COLDSTONE who warned me not to go to the forest, because "it doesn't agree with some people". I don't know where I've seen him, but PARKER apparently knew him. Oh well.

I want to head to JUGG's house, but I wander around town a bit first. At the tavern, I buy JED a beer and watch him complain to ZEKE, the bartender, about the quality of his beer. About time I say. Now JED owes me one. In the town square, I see miss PICOTT again, all alone, so I try some small talk. She seems concerned about my pallor but then goes on with her Bible reading.

Technically, I was up to voyeurism.

In order of increasing unfriendliness, I also meet:
  • Miss PICOTT's niece, GLORIA, who is hiding from her aunt and pleads to me not to rat her out. Naturally, I promise her.
  • CURTIS HAMBLETON says that I made a mess and that 'they' know everything. Who are 'they' and what is 'everything'? Fine mess indeed.
  • Outside of the dilapidated mansion, I meet the HAMBLETON boys, who suggest I leave and then go away.
  • I also notice a bug. When I entered the hardware store from the north, I could not move at all. All the other commands worked normally.

Anyway, I finally collect myself and head to JUGG's place. Outside it I meet WILBUR. Was he at JUGG's? The door was locked, so I don't really know. Maybe he killed JUGG? There is nobody at the Archives, so the murder scenario seems very likely. Maybe I need to find WILBUR and have a chat. He didn't respond to the Talk command when I confronted him in front of JUGG's house.

Staring contest

I return in front of JUGG's house and I exit to the right, following WILBUR's path. Indeed, I can follow him as he enters MYER's store, stops in front of the counter for a bit and then heads out. I try to follow, but he has already disappeared. Clearly I need to look at the store. I do, and find a key at the counter, which I quickly pocket. I suspect that this is the key to JUGG's door, but why would WILBUR drop it here? Is MYER an accomplice? The plot thickens or I am becoming increasingly paranoid.

As predicted, the key opens JUGG's front door, after an unnecessarily long cutscene of trying to turn the key in the lock. When inside, the first thing I notice is blood on the floor. I am a bit disappointed there is no mention of it when I Look around.

As I head to JUGG's bedroom, I feel that I am being set up for a puzzle, because I find and pick up a statue of a baby (on the desk), a statue of a young man (in a cabinet) and a statue of an old man (inside one of the butterfly displays).

There is more blood in JUGG's bedroom, but what is more important, I can now pick up a number of books from his shelf and bookcase. The books are called: Youth, Beyond Chaos, The Old Man and the Sea, The Invisible Man and the Mystery of the Pyramids.

This time the puzzle made sense. I put the statues in the place of the books most relevant to them: Baby for Youth, Young Man for Invisible Man and Old Man for Old Man and the Sea. Not that the game let me put them anywhere else. Once I replaced the other books in their places, I got the satisfaction of a secret passage being revealed.

Honestly, I thought I was trying to open the door hidden behind the curtain

Going through the passage takes me to JUGG's secret library. The library is full of occult books, the likes of which I have probably not heard before, unless I was deep into the study of ancient and forgotten cults.

Oh! There is also a dying JUGG. I try to call for help, but he stops me, saying that he still has enough life in him to help me. I give him the parchment from the ritual and he translates it. It is the most common unpronounceable quote about Cthulhu.

Fortunately, there is a translation

He then goes on into a Cthulhu Mythos exposition about the GOOs who ruled Earth before man and the deluded cultists who try to bring them back. Apparently the Stars Are Right and the passing of the comet in 2 days the guardian of the portal that could bring these GOOs back will materialise in a stone circle. He throws in some names, Cthulhu, Nyarlathotep, Yog Sothoth and Dagon. These should be the ones to worry us.

He also gives me some hints. I should read the NECRONOMICON, a book so horrible that drives people mad just by its words, so that I can find the formula to stop the guardian. I must read it here. On his desk there is also a note about someone who can help me. I must read it only in the safety of my room.

Finally, he speaks about the dead sorcerer NARACKAMOUS. This was the name that the Native American used.

This guy, in case you did not remember

After the exposition is over, I pick up the Necronomicon and the message. And I am stuck as I cannot do anything with them. Again. Apparently I need a key for the Necronomicon. I try to find some hints in the other books of the library, but nothing works with anything. Of course, I cannot read the message before I go to my room and I cannot leave JUGG's place before reading the book.

Another 20-30 minutes and 2 rage-quits later, I find out that it was a pixel-hunting solution again. The key was under the carpet in the next room. In retrospect it makes sense, but again I must remember to press L with every step I take.

I mean, why wouldn't I lift everything not nailed down. It's an adventure game

I use the key on the Necronomicon and get some more knowledge. The book speaks about Yog Sothoth being the portal and the key and provides guidance on how I should stop him from coming to Earth. Then I try to get out and I burn to death, because I stupidly forgot to put the book back on the desk.

Before I go on, I must say something positive about the tools at my disposal, and that is the Notebook I carry. I have omitted it in previous posts, but it is very helpful for people like me who rarely take notes when playing. It keeps track of important goals or gives subtle warnings. For example, it warns me that, now that JUGG is dead, I will probably be the prime suspect for his death. More on that in a bit.

Having learned the secrets about how to stop Yog-Sothoth from returning, I now need to get back to my room and read the message from poor JUGG. Only one route seems to be open though. In the others, there are cultists waiting for me and the policeman takes me to JUGG's home and arrests me for murder. I suppose I am summarily led to the chair or the noose or whatever they used these days. Maybe the plank.


After reloading, I head back to my room through the city square. Apparently safe, I read the message from JUGG. I cannot understand much, other than that I need to look at a map of the area and that the person that can help me lives "where the three colours float and 100 messages leave". Both of these clues lead me to the post office, where I have previously seen the map and sacks of undelivered mail.

But first: the obligatory Miss PICOTT scolding

When I arrive at the post office, the map is not in its place. I ask the lady behind the counter, which is more helpful this time. She says that David UNDERHOUSE borrowed it. He lives above the post office and has a keen interest in Native American history.

She also gives me some of her personal views on the matter


I go upstairs and meet Mr UNDERHOUSE, who is confined on a wheelchair. Considering that the only way to his room is via the stairs, he is practically at the mercy of whomever brings him food. Nevertheless, he is well versed in local myths, the Natives' culture and the Cthulhu Mythos.

Considering that his lookalike was a big racist, this is a big awkward

After a short discussion, he lets me look at the map and explains to me that the Stone Circle I point out is at an old Indian cemetary, which he was really keen to see before some locals broke his legs. I also learn that the NARACKAMOUS I met is supposed to have died 70 years ago, but it's possible that he is still alive because he belonged to a branch of the Mic Mac tribe that worshipped He Who Howls in the Darkness, Nyarlathotep. But of course this is just a story. Right?

UNDERHOUSE gives me another task, and that is to bring him a diary from the Mayor's safe. The combination has to do with the Bible and Evil. I would assume 666 but that would be too easy, right? Or I can ask the Bible expert in the town: Miss PICOTT.

I conveniently meet her outside, but I receive a royal scolding about getting into fights (to save WEBSTER) and spending time drinking alcohol in pubs (ZEKE's watery beer barely qualifies as such). She is also unwilling to lend me her Bible to mend my delinquent ways.

I will stop this session here. Next time I will try to get into Miss PICOTT's good books and stop Yog-Sothoth. I feel that the second task is easier than the first.

Session time: 2:30
Total time: 6:00

Sanity lost: 5 from looking at the plate / 3 from reading the Necronomicon
Total sanity lost: 12 (there's definitely something hiding in that corner. MORE LIGHT)

PS. Bonus death scene: If I tried to visit the lighthouse before I develop the plates, I see WILBUR passing through the fence and the two gorillas warn me not to come closer. If I do, I get shot.

Not the fastest draw west of Pecos

Note Regarding Spoilers and Companion Assist Points: There's a set of rules regarding spoilers and companion assist points. Please read it here before making any comments that could be considered a spoiler in any way. The short of it is that no points will be given for hints or spoilers given in advance of me requiring one. Please...try not to spoil any part of the game for me...unless I really obviously need the help...or I specifically request assistance. In this instance, I've not made any requests for assistance. Thanks!

domingo, 15 de marzo de 2020

Coming Back To Warmachine



Things have been quiet on here due to life in general and also because I had been playing a lot of Guild Ball instead of Warmachine.  What's going on right now is that I've started to really miss playing Warmachine and am going to start up again – though I'm going to try and keep playing both games fairly regularly.

It's only been a few months since I last posted about playing Guild Ball, so what happened?  

Besides feeling the Guild Ball itch there were a few developments that changed things up for me that made Guild Ball my primary game: 


  • ·         Our Warmachine community has shifted to play mostly in a Scrum League, and ironically I can't afford to play in that with my work and family situation. 
  • ·         One of my best friends picked up the Guild Ball Kick Off set, and would come over to play when my wife would have a girl's night out.  It was very easy to play him while also taking care of the kids, also only having 12 models max on the table made it easy to get a game in under 1.5 hours.
  •  ·         My wife started playing some Guild Ball herself, and we got a bunch of games in as well.
I should point out that the Scrum league isn't really a problem, it's not hard at all to get matches for Warmachine, it's just a little different to setup when I'm not in the league.  

Other things are changing now as well: my youngest daughter is now big enough where I can't just strap her to my chest to play wargames. She wants to be out and about, which requires a lot of supervision on my part. So gaming with friends while my wife is out isn't as much of an option.   

Also while my wife did enjoy playing Guild Ball, my youngest being more active means that we are more tired at the end of the night once both girls are in bed.  Plus if she does get time to relax, she'd rather do her actual hobbies.

What has been odd this whole time I've been playing basically Guild Ball is that I've never stopped liking Warmachine. I've still followed what PP has been doing via CID and I think they're doing an amazing job.  

It's weird because while our Guild Ball group has grown it's cannibalizing some of our Warmachine players or at least some of them are down on WM but up on GB. I'm certainly not in that category, I see both games as a bit distinct with advantages and disadvantages to both.  I can certainly say that after probably 3 months of near exclusive Guild Ball play I'm really missing WMHD.

So now I want to get back on the WM train and though I've had a bit of faction ADD (I also own/play Legion and Khador, who also just got CID's) I've decided to get back on the Troll Train and continue my Tour of Trolls. 

I've got my eyes on Borka2 to give a try, though the last game I played with him using a Hooch Hauler in Storm of the North didn't work as well as I'd have hoped.  In fact both times I've tried a Storm of the North list with the Raider+Hauler package (Full Northkin Raiders, Hooch Hauler, Full Stone + UA) it hasn't worked out well – the Raiders were too short ranged and were able to be shot down before I could really get work out of them.

Part of the problem in those cases could have been the list not being a good drop vs. my misplay into a list that had more shooting than I did.  My gut tells me that the place to really make the Raiders + Hauler shine is with Snipe, aka Gunny or Grim2.

That said, I have to admit that I'm very tempted to steal Tim Banky's tournament winning lists for Madrak1 and Borka2, especially his Borka2 list. It strikes me as very weird to play, but as a beast brick it's highly intriguing:

Borka2
-Runebearer [0]
-Rok [19]
-Mulg [22]
-Earthborn [14]
-Earthborn[14]
-Axer [10]
-Storm Troll [9]

Whelps [0]
Whelps [0]

Stone + UA [12]
Swamp Gobbers [2]

It feels strange to be playing without Rage, but Primal should be able to do most of the work while also giving a nice hit buff.  I believe I'll give it a go, even though I'm tempted to run a Pyre instead of the Storm troll to give Borka a damage buff to put his personal output into "I definitely kill a heavy" range without having to get damaged first.  As I understand it, the Storm Troll is there for lightning immunity vs. Cygnar.

I will be getting my first game in some time in tonight and I'll be looking to pair a different Band of Heroes list with this and see how things play out.