Grafitti Royale & F# & More

Well, last week, return to the cold weather, recovering from the cold and a sore back for the first part of the week and finally getting to a warmer day today, and wanting to get back “in the swing” as it were, I asked my roomies if they wanted to play a game or two.

We played Flag Dash, designed by one of Madison’s native talents.  It was a decent game once we got the general rules down, though I think having to wait to play does change the board a bit so it’s hard to have a perfect plan in motion.  Though I won, so I’m not complaining 😉

One issue I had is the general wordiness of the rule book (I should talk, right?) I’d kinda skim-read it a couple times, sat down and read most of it the other and my roomie read as we went along and I guided questions about specifics I remembered.  There were still details we weren’t sure of, but for the most part it worked.

I agree with my roomie that instead of player colors the team colors should have been used.  I suppose a “hat” could have been placed on for the colors of the players.

Anyways, then we played 7 Wonders and I lost as expected.  It’s been ages, but was fun to dig it out again.  I forgot how much I love it.

Then I wanted to show off the basic concept of Graffiti Royale to them, so I dug out the board, the small tiles I cut out (finally the right size!) Only one set, but it was just to give a basic idea of what I was thinking.  Showed them how the artist/worker placement would work, the basic “market” the layout of the tiles, the scoring concept, the penalties for getting “busted” and the Infamy for the one who was most busted showing that conflict and drive to punish your enemy, but not so much as to drive them to receiving benefits.

I actually had a good feel for it, and feel a lot more inspired on this than Quartiles, which I feel guilty about not doing more on.  So I should really get my ass to focus on that again.  It’s really just needing to get a few more powers that are simple to use but unique, and I’m struggling to find some ideas. Probably need to brainstorm.

The last bit is F#.  I’ve not programmed in a while and I’m curious about trying a functional language.  I’ve done very minimal “Hello World” type stuff in the Racket interpreter, for example.  Or Haskell.  And since I have used C# and know a very little of some of the concept of the CLI (Common Language Infrastructure – not the Command Line Interface), that it might be fun to try F#.

Further since F# seems somewhat lightweight/scripty, I though it’d be nice to use it with a code editor instead of Visual Studio.  There’s a plugin for Atom/VSCode called Ionide, so I tried to install that and after struggling to get it working, found a page on MS’s site that explained the setup better.  Ionide’s instructions already assume you know how to setup F# projects and such.

So, as with any language I’ve used apart from Basic, Turbo-Pascal and Logo, dealing with tooling setup and understanding that is the most pain in the ass of all of it.

Unlike Python and Java, dealing w/path variables was fairly painless (though part of that is how Win10 does the path now, with a nice UI that splits the paths into a list, instead of the string of ‘;’ delimited paths).

But what threw me for a loop was the Project Setup.  I couldn’t just say open an F# file and try to compile it (in Code) or run it in an interpreter, it kept giving me errors about something not being found, so I installed/uninstalled packages (Paket & Fake), nothing.  Finally I hit that MS website post with the instructions and setup a full project and BAM!  It compiled.

I know the FSI can run a script, so I should probably just invoke it that way if I want fast scripting/testing.  But goddamned, I really was hoping VS Code/ionide could give that experience without having to build a whole project infrastructure.