Thursday, February 20, 2020

Convergence Hobby Update - Speed Painting CoC


One of the theories I had about owning a Convergence of Cyriss army is that it would be very easy to paint quickly.

I am not a particularly skilled painter, though I truly enjoy it when I have a fully painted list on the table. I paint to a standard that I can look at the model from 3 feet away and be happy with it. Not what the crazy painter friends I have are happy with, but what I'm happy with being on the table. This is important as a standard because painting is about time and I don't particularly have a lot of it.

A large part of my enjoyment comes from the idea that once I have a faction fully painted, I can just put it on the table and play and not have to think "damn I need to get to painting this."

So the theory about painting CoC is that you can prime the models with a metallic spray paint, add in a few colors, apply a wash, and then be done.  Turns out this is actually true!






Since my last post about CoC spoke about how the bulk of the models I received were in really bad shape and I highlighted obnoxious the paint jobs were in addition to the fact that most everything was in pieces when it arrived, compare this to what the Monitor looked like before it was primed and painted:




That's quite a transformation! So how much effort was put into this from a painting perspective?


  • I based the model with sand/aquarium gravel.
  • I spray painted the model with some metallic spray paint, though I did test on the extra armless Axis model that was sent with my lot to make sure the primer wasn't going to be too thick. 
  • I spent roughly 2 hours or so applying the colors and washes to the primed model.
  • I also had to repaint the base and basing material black instead of silver, which was odd but worth it for how much time the whole process saved me.
I didn't get any fancy primer either, just some Rust-olium at Home Depot:


I should put a few notes, since it was slightly jarring with this as a primer.

The model will look almost comically silver when primed. In fact it was left slightly sticky, despite drying for nearly 24 hours after being primed. In fact before I started I was afraid the entire project was going to be a failure and I'd have to just prime everything black like I always do.

Luckily the washes came through for me in the end.  It's amazing what that did when combined with some gold and bronze paint on the model.  Everything turned out about as I'd have expected it in the end, and I'm at a point where I think I can really hammer out my CoC army probably well ahead of my Trolls.

As a point of painting comparison, I spent about two hours painting that Monitor. I spent about an hour and a half just touching up the base painting on my first Longrider unit, and I still have to finish painting the metals on it before I can apply my wash and then go back and hit a highlight to get the skin on the trolls the way I want it.

Perhaps it's because I'm pushing the Trolls to be painted to a much higher standard than what I think the CoC should be, but man does it just feel nice to be able to knock out a model and have it come out looking good enough for me to be happy with. For my Trolls I feel like I need to put in all this extra work to get it to a point where I'm happy. I suppose that's the difference between having models of something organic like a beast or a infantry with lots of exposed flesh vs. robots. Here's an example of what I paint my Trolls to:



Right now I have to admit it's almost tempting to just try and get the CoC going. I did get lucky and have my wife agree to let me play in our local Scrum League (think a Steamroller with 1 game a week), and lists are due Friday. I was very likely playing Trolls in it, though after last night I admit that I've had some thoughts about playing CoC instead. I have two days to decide!

Fever, Short Film, Review And Interview


It is known a high fever can cause our minds to play tricks on us. But what if the higher temperature allows for our senses to comprehend more of what is around us. Of course, those who don't have the heightened perception may not understand what we see.

I saw Feverat the 2019 FilmQuest film festival (website). It was nominated for Best Sound.

I recommend Fever for those who like to explore the dark unnatural side of our existence.

Synopsis: A dark supernatural presence stalks a sick little girl and her skeptical mother.

Brian Rosenthal, writer and director, shares his inspiration for Fever. He also shares his past times and what got him interested in pursuing a career in film making.

What was the inspiration for Fever?

So, the inspiration for Fevercomes from a few places. Firstly, my childhood fears... I used to get sick often when I was pretty young. I'd get these high fevers, so between that and an overactive imagination, those nights were absolutely filled with terror. Then I suppose there's the more measured inspiration, which is wanting to throw my hat into the hook/rules based supernatural horror sub-genre... stuff like Nightmare on Elm Street, Lights Out, The Ring... I love when that kind of horror is done well, it can really grab you. And my notion, for what it's worth, was that the more relatable the hook (don't watch the tape, don't fall asleep, etc.), the more potential there is for terror. I also really wanted to do something that felt like it could play universally and rely on its imagery to tell the story, despite featuring dialogue. I love visual storytelling, so that was definitely a goal.

What project(s) do you have coming up you're excited about?

I'm currently attempting to get Fever off the ground as a feature and working on a screenplay for that. I also have another feature film project with a completed script that I'm working on called The Last Blockbuster, which is a riff on Clerksand The Monster Squad where we follow a handful of lovable movie geeks as they attempt to survive a supernatural apocalypse barricaded inside the world's last video rental store. It's this high concept, meta B movie about B movies set almost entirely inside a place that rents B movies... it's just fun as all hell, I'm personally super invested in it, and I hope I get the opportunity to bring it to life and share it with everyone. In the meantime, my crew and I actually shot a pitch teaser for it that kinda functions as a short as well, you can check it out here (https://vimeo.com/brianrosenthal/thelastblockbuster).


What was your early inspiration for pursuing a career in film?

I got bit by the movie-magic bug early seeing special FX blockbusters like Star Wars, Ghostbusters, T2, Alien(s) etc. at a very young age, then being fascinated enough to pursue 'making of' videos wherever I could find them. Partly out of curiosity, and I think in the case of horror partly as a means of deconstructing the things that scared the hell out of me on screen so I wouldn't be afraid of them anymore. It was around my freshman year in High School when my buddy, Jon Zietz, started experimenting with filmmaking, editing deck to deck, etc. He and his dad really helped get me going, we kinda learned the nuts and bolts as a team and proceeded to work together for a number of years, even cranking out a no-budget feature shot on a mini DV camera (JVC GY-DV500 to be exact!) back when we were around twenty-ish, in the early oughts.

What would be your dream project?

I have this notebook filled with all my ideas for shorts, features, etc... but out of them all, I think The Last Blockbuster is the one that means the most to me. It has such a different perspective on nostalgia that I think will really resonate with folks, as well as entertain in a big way. I can die happy if I get to make that film.


What are some of your favorite pastimes when not working on a movie?

Watching movies, reading/studying up on new film tech. I also play and collect retro video games, as well as movie related stuff—prop replicas, figures, etc. I'm a geek, no shame in it. I used to play guitar and draw quite a bit, but the latter has sorta folded into storyboarding for creative projects and the former needs to be dusted off and restrung, it's been years.

What is one of your favorite movies and why?

It's a hard tossup between Ghostbusters and RoboCop, and both for very similar reasons, as different as they obviously are. I had seen the cartoons in the 80s before knowing of their live-action counterparts. And upon seeing both films (I think I was 5 when I saw Ghostbusters and 7 when I tricked my family into renting me RoboCop) there was this instant correlation between imagining a thing and making it happen in front of a camera. Seeing it go from animation to live action was the real 'a-ha' moment for me, and I was already familiar with drawing so that connection just made sense. And with both films, I experienced the same rollercoaster... fear, excitement, laughter, all in one package. It helped me realize at a young age that a film could dance a line, tonally, and still work, without being entirely one thing or the other. And once again, in the case of both films, the FX. I wanted to know how those proton packs worked! How did they make those beams appear on screen!? What kind of magic was this? Was it the same way lightsabers were done in Star Wars, I wondered? (I learned the word 'rotoscope' at a very young age). And how the HELL did they stretch the skin on Peter Weller's face over all that metal?! That was just so damned freaky, mesmerizing and iconic all at once, I had to know what the trick was. Those films helped me become just as familiar and fascinated with the people behind the camera as the ones in front of it, and remain among my favorite to this day.

You can find out more about Fever on the following sites.

https://www.facebook.com/lastblockbusterfilm ('The Last Blockbuster' Facebook Page)

I'm working at keeping my material free of subscription charges by supplementing costs by being an Amazon Associate and having advertising appear. I earn a fee when people make purchases of qualified products from Amazon when they enter the site from a link on Guild Master Gaming and when people click on an ad. If you do either, thank you.

If you have a comment, suggestion, or critique please leave a comment here or send an email to guildmastergaming@gmail.com.

I have articles being published by others and you can find most of them on Guild Master Gaming on Facebookand Twitter(@GuildMstrGmng).


Tech Book Face Off: Python For Data Analysis Vs. Python Data Science Handbook

I'm starting to dabble in machine learning. (You know it's all the rage now.) As with anything new, I find it most effective to pick out a couple of books on the subject and start learning the landscape and the details straight away. Online resources are good for an introduction, or to find answers to specific questions on how to get a particular task done, but they don't hold a candle to the depth and focus that you can find from reading about a subject in a well-written book. Since I'd already had some general exposure to machine learning in college, I wanted to work through a couple of books that focused on how to do data analysis and machine learning in a practical sense with a real language and modern tools. Python with Pandas and Scikit-Learn has a huge community and plenty of active development right now, so that's the route I went with for this pair of books. I selected Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython by Wes McKinney to get the details of using the Pandas data analysis package from the author of the package himself. Then I chose Python Data Science Handbook: Essential Tools for Working with Data by Jake VanderPlas to get more coverage of Pandas from another perspective and expand into some of the Scikit-Learn tools available for machine learning. Let's see how these two books stack up for learning to make sense of large amounts of data.

Python for Data Analysis front coverVS.Python Data Science Handbook front cover

Python for Data Analysis

This book covers all of the fundamentals of doing data analysis with Python using IPython, Jupyter Notebooks, Matplotlib graphing, and the main data analysis packages: NumPy and Pandas. It stops short of going into the other major data analysis and machine learning library, Scikit-Learn, because it had already filled over 500 pages with the intricate details of NumPy and Pandas. Wes McKinney is the original author of the Pandas library, so we're getting all of those details straight from the source.

The book starts out with the perfunctory chapters on installing Python and other packages, how to use IPython and Jupyter Notebooks, and running through the basic Python language features. It's filler chapters like these in nearly every programming book out there that makes me think that I no longer need to read introductory books on new languages. I can just go directly into books on applications of any given language, confident that they'll introduce me to the syntax and features I need to know anyway. It's not wrong, exactly, but the result is an awful lot of books with the same extra introductory material filling up pages that will mostly go unread.

Then there's a big chapter on using NumPy before moving on to Pandas for the rest of the book, with a chapter on the Matplotlib graphing library thrown in somewhere in the middle. The main focus is on Pandas, which is a huge library with tons of invaluable features for messing around with data. The book covers everything from reading and writing data, data cleaning, combining and merging data in various ways, doing complex calculations on the data with aggregation and groupby operations, and working with time series and categorical data.

The number and types of operations you can do on a data set with Pandas is pretty incredible, and that makes Pandas an excellent library to learn to use well. As McKinney says in the book,
During the course of doing data analysis and modeling, a significant amount of time is spent on data preparation: loading, cleaning, transforming, and rearranging. Such tasks are often reported to take up 80% or more of an analyst's time.
With all of that time spent on low-level data tasks, Pandas makes the life of a data scientist so much easier and more enjoyable. Data can be cleaned and transformed much more easily and reliably, and you can get down to making inferences about the data quickly.

Beyond covering all of the ins and outs of Pandas, McKinney sprinkles in a few good tips on other tools that can speed up your data analysis tasks. For instance,
If you work with large quantities of data locally, I would encourage you to explore PyTables and h5py to see how they can suit your needs. Since many data analysis problems are I/O-bound (rather than CPU-bound), using a tool like HDF5 can massively accelerate your applications.

Other than these scattered tips, the book is actually fairly dry and uninspiring. It reads a lot like the (excellent) online documentation for Pandas, but doesn't add too much more than that. Even most of the examples for different features are just drab randomly generated numbers with boring labels. You could just as easily read the online docs and get all of the same material. It may be a little nicer to have it all in book form so that you can sit down and focus on it, but that's a slight advantage. I was hoping for something more, that secret sauce that you sometimes find in books on software libraries, to make the book a greater value than just reading the online docs.

The book does have a chapter at the end that goes through some extended examples of data wrangling with publicly available data sets, which is a nice way of bringing everything together, but it's a small part of a large book. All in all, it's a no-nonsense, comprehensive exploration of the Pandas library, but not too much more than that. I wouldn't recommend it because there are better options out there that add something more than the online documentation can give you, like the next book.

Python Data Science Handbook


The Python Data Science Handbook covers most of what Python for Data Analysis does with somewhat less depth, but then goes much further into using Scikit-Learn to analyze data sets with machine learning techniques. The book is split into five large chapters, only the first of which delves into introductory minutiae by introducing the IPython interpreter. Thankfully, the book assumes you know Python already and doesn't bore the reader with another summary of lists, dicts, and comprehensions.

The next few chapters cover the use of NumPy, Pandas, and Matplotlib, and while the Pandas material is somewhat reduced from Python for Data Analysis, the Matplotlib material actually gets into the cartography drawing capabilities of this library. So, there are trade-offs in the number of topics covered in this book, as I would say the author gives more breadth while sacrificing some depth. The last chapter explores a good amount of Scikit-Learn with explanations and discussions of ten different machine learning models. This chapter added significantly to the book, grounding the features explored in the previous chapters with machine learning applications on real data sets of hand-written digits, bicycle traffic, and facial recognition. Seeing how different models performed better or worse in different applications was fascinating and enlightening.

The writing style of Jake VanderPlas was much more engaging as well. While reading the book, I felt like I was being guided by a mentor who wanted to make sure I understood the reasons behind different decisions, and why things should be done a certain way. While Python for Data Analysis focused on the "what" and "how" of programming with Pandas, the Python Data Science Handbook really addressed the "why" of data science programming, from explaining some of the reasons behind little decisions:
One guiding principle of Python code is that "explicit is better than implicit." The explicit nature of loc and iloc make them very useful in maintaining clean and readable code; especially in the case of integer indexes, I recommend using these both to make code easier to read and understand, and to prevent subtle bugs due to the mixed indexing/slicing convention.
To carefully describing the big issues with training machine learning models:

The general behavior we would expect from a learning curve is this: A model of a given complexity will overfit a small dataset: this means the training score will be relatively high, while the validation score will be relatively low. A model of a given complexity will underfit a large dataset: this means that the training score will decrease, but the validation score will increase. A model will never, except by chance, give a better score to the validation set than the training set: this means the curves should keep getting closer together but never cross.
This conversationally instructive style was quite comfortable, and made the whole book an enjoyable read, even though the material was understandably complicated with a lot of different features and concerns to think about. VanderPlas helped it all go down easily. It was a lot to take in, but it was never overwhelming. He also had plenty of words of encouragement, knowing that when real problems with data arise, it could get discouraging:
Real-world datasets are noisy and heterogeneous, may have missing features, and may include data in a form that is difficult to map to a clean [n_samples, n_features] matrix. Before applying any of the methods discussed here, you must first extract these features from your data; there is no formula for how to do this that applies across all domains, and thus this is where you as a data scientist must exercise your own intuition and expertise.
It's easy to tell that I much preferred this book over Python for Data Analysis, and I would recommend anyone looking into data science and machine learning take a look at the Python Data Science Handbook. It's a great overview of the subject, and you'll be able to get up and running with Python quickly, experimenting with some real applications of machine learning, and learning some of the critical issues of feature engineering and model validation.

Only the Beginning


These two books, Python for Data Analysis and Python Data Science Handbook, clearly only scratch the surface of machine learning. They teach you how to use the main Python libraries for data analysis and machine learning, but they don't go much further than that. There's a ton more stuff to learn about how to do machine learning well and what goes on under the hood in all of these various models. I've got my eye on more machine learning books like Python Machine Learning by Sebastian Raschka, Hands-On Machine Learning with Scikit-Learn and TensorFlow by Aurélien Géron, and The Elements of Statistical Learning by Trevor Hastie, et al, among many others. There's a vast amount of literature out there now on machine learning, covering everything from practical applications to the theoretical underpinnings of the models. Suffice it to say, this is only the beginning of the exploration.

Wednesday, February 19, 2020

Riders Of The Pony Express - Current Status And New Ideas

Back in August I had found an old strategy article I'd been looking for, which applied directly to one of my game designs, but I didn't revisit the game itself at the time.

The other day I posted about a playtest session in which I took that old prototype off the back burner and got it to the table: Riders of the Pony Express (BGG link - looks like I ought to edit that description a little bit!).

As I mentioned in the August post, I have experienced an issue, mostly with the 5-player game. And as I mentioned in the playtest report post, I found a hand-written rules edit that I don't remember every trying before, which may solve the 5p problem for me as well, at least in the blind bid version of the game (the one which is the most gamer-y, and which I will probably stick with):
The winner of the bid must leave their winning bid card face up on the table, it is not available to them for the rest of the round.
That's it! It's so simple, and it made for some very interesting bidding dynamics all around.

With respect to the 5p problem I outlined in the August post, I had showed some math which explained why winning each bid for the minimum of $3 was fairly dominant -- you would get $24 while each opponent would get only $14. Sure, you would have to spend more traveling, and you would get a lower bonus upon returning to the post office, but even if that did kind of even things out, it isn't fun for the other players to just go through the motions of riding across the board while you visit town after town to deliver all your parcels.

In the comments on that post, I posited two solutions which could change the math, evening up the amount of money you would get compared to each opponent if you won all the bids at $3: upping the total amount from $10 to $15 in a 5p game, or allowing a minimum bid of $2 instead of $3. Neither of these really solve the problem, they just punish the player who does the annoying thing. That's a sort of "soft" solution, in that players who are trying to win probably won't do something so bad, therefore the game won't be ruined. However, the reality is that, whether they want to or not, players don't always "play to win" as much as you might think. This is especially true in the case that they haven't played before, or fully analyzed the costs of delivering.

This new solution of leaving the winning bid card face up DOES solve the problem, because it means you simply CAN'T bid $3 on every auction! If players really think that bidding the minimum is the way to go, then at least the parcels will be spread around between the players. And savvy players may start to realize they can do better if they bid higher (though if a different non-savvy player does undercut them every time, it might not be very fun, even if they do win).

I'll note also that the current rules give each player a mandatory parcel to deliver. This may be thematically awkward, but it means everyone is going SOMEWHERE each round, making certain other parcels "on the way."

Things to try in the next test
As I mentioned in the last post, I had a hard time finding something I thought really needed changing. Here are a few changes I'll try for the next playtest:
* Increase value of Bears from +2 to +3. This should make them more distinct from Bandits, and will make the Shotgun item more valuable (currently it is probably not really valuable enough)
* Deal round 1 mandatory parcels face up instead of face down, to see if that makes the auction phase any more interesting (it might actually be worse, but it's worth a try!)
* Instead of dealing mandatory parcels for rounds 2 and 3, layout N+1 face up and let players take one when they arrive at the post office (so drafting them in the order they finish the round).
* Treat the mandatory parcel just like the ones obtained by auction - keep it face up and you're required to deliver it that round

Currently the mandatory parcels are face down, they take up space in your inventory, and they aren't required to be delivered until the end of the game, while face-up parcels obtained in the auction phase are required to be delivered that round, but they don't take up your inventory space. Here's a quote from a previous post when I implemented it:

One issue that's come up in the past is the face down parcel cards. Some players feel they "force" a certain path, and I can see that... so I tried a change. Face down parcels aren't from your boss, they're like side jobs. You're not REQUIRED to deliver them each round, but they take up space in your inventory. I made player boards to help show this - you have room for 1 face down card and 4 items (expanded from 3), and if you don't deliver your 1st face down card, then the next one takes up 2 of your item slots (this is obvious graphically). Currently I'm saying that you have to deliver them by the end of the game, but another option is to simply apply a penalty if you don't (so if it's more expensive to deliver than to take the penalty, maybe you just take the penalty).

But you do get the mandatory parcel before having to claim other parcels, and now maybe you'll have chosen it (per tweak listed above), so maybe it'll be fine to treat them the same as the parcels you get in the auctions. I could do with more elegant rules here, so maybe all parcels should just be face up, required to deliver that round.

* Treat each hazard and each town as a space, and let players move from space to space, rather than from town to town. One of my players thought this would be way more intuitive, and it does have the advantage that if 2 players arrive at the same town at about the same time, the one that fiddles around less (spends less time acting int he town) will leave first, irrespective of turn order.

Originally, I had players moving from town to town. Here's another quote from a previous post about why I changed that:
to better represent what's going on (and to make fair races between players), I specified that you don't move from town to town - you move from town to hazard tile, then on your next turn you arrive in the town, discard any parcels, pick up an item if you like, and then move to the next hazard.
So now you basically move from hazard to hazard, and do some stuff in a town as yo pass through. Though it has't bothered me at all, it IS a little weird. So I'll try alternating (move from hazard to town, town to hazard, etc). I thought it might be odd to have twice as many turns, where half of them are 0-1 time cost. When paying 0 time, do you just go again right away? If that's the case more often than not, then why make it a separate turn? But maybe I should make town turns a little more costly -- like you spend 1 time for each thing you do, minimum 1. So like, you had to rest or change out your horse at the very least (1 time), and if you go around making deliveries or shopping for items, it'll cost you more time.

So for a hazard space you spend the listed amount, plus hazard modifier, minus item modifiers (minimum 1). And for a town space you spend 1, plus 1 for each delivery you make, and for at most 1 item you pick up. Which means you could spend 1, 2, 3, even 4 time in a town (in fact, I think it could theoretically max out at 5 if you have both parcels and a package item to deliver, and if you pick up an item).

This change will make longer, more circuitous routes quite a bit more expensive, which might have the side effect of encouraging players to bid higher on parcels, or more often say "no thanks" and let the auctioneer take the parcel. I'd like that to be something that can happen if you choose wisely and want it to, or choose poorly and get stuck with it, but hopefully not too often because things are just too expensive! I'll have to see if that goes too far.

Here And There In London By J. Ewing Ritchie