Newsletter: March 26, 2018

Ed is up to three. Go, Ed!

Twitter (and Facebook) Break

I’m–well before I tweet about this–on a twitter break. Facebook too, but that’s less of a compulsion for me. It’s good to take breaks. Whenever I take a break it’s a good 24 hours for my brain to stop thinking in 140-240ish character likeable soundbites. Realizing how fractured one’s own inner monologue has become is not a great feeling; however, it’s good to recognize and combat. My strong recommendation is that everyone do this on occasion (or forever?!). For me I found myself more present in moments I might have otherwise been reaching for the phone. Heck, I read an entire book this weekend (Ender’s Game. Total mind candy and I try to not dwell on the author’s personal politics too much.)

Probably missed out on some very good jokes though. Also, depressing news about everything.

More about Facebook Though

No one in digital advertising was very surprised about the Cambridge Analytica stuff. Of course FB would have major issues with giving people too much data. They themselves collect too much data that they don’t need yet have convinced themselves they do in order to maximize engagement. You’d better believe that had they not been caught (doing exactly what they have always promised they would do, mind you) there would have been no apologies.

Most people I talk to actively dislike facebook except for that one feature they do extremely well: Groups. They do this so well that it’s impossible to envision really leaving FB forever until the next big thing comes along. Alas.

Return of the King

“We’re all, of course, temporarily embarrassed Aragorns.”

GoodReads is not a great website, but I will always love it for solving the problem of knowing what my friends are reading. The design and UX on the site needs, ahem, some work. I’ve long since abandoned doing anything on there other than marking books as “to read”, “read”, marking them 1-5 stars (although, as a life rule if a book is trending towards 1 or 2 stars I usually just stop), and leaving reviews. I could write a lengthy post just about problems with GoodReads UX. However, they are the ones who sold their business for a hundreds of millions of dollars and I did not.

Anyyyyway, I finished a reread of The Lord of the Rings last week and wrote a review about it. The short version is that, wow, did I enjoy it quite a bit more than the first time I read it. I took my sweet time cross-referencing the maps as much as possible and it opened up the story in an amazing way.

You can read my “review” on goodreads.

SNES Logos

A wonderful person made high resolution versions of 300 SNES logos and this is just the best:

Replacing the Front Driver’s Side Door Lock Actuator on a 2003 Honda CR-V

All I have to say about this right now is triple check that you’re getting the right part. There are Great Britain AND Japanese made CR-V’s. Turns out that the GB CR-V door lock actuator is quite a bit different from the Japanese one, which I learned only after pulling the door apart, getting confused, and running to YouTube in which there are a hundred dudes holding cell phone cameras walking you through car repairs one-handed.

Newsletter: March 19, 2018

I like what Ed is doing over on Github with his weekly newsletter and joked that about doing fork of it (can you fork just a concept?).

I’m still pretty bullish on the personal blog as a format hence here vs. GitHub. Ed validated that going through your twitter feed is a good format for thinking through what you were thinking about during a week. So here we go!

Baseboard

Action Salzman 📎 on Twitter: “A fun fact about houses is that no corner is actually 90 degrees and no wall is actually straight. This message brought to you by “installing baseboards”.”

I’m installing baseboard throughout the house. Most of the corners in our house are +-1 degree off from 90, some more like +-5. This is fine and I knew it going in, but it’s still alarming and makes you wonder about everything else about the house. When we moved in we ripped off the old stuff—thanks, again and again, Matt!—in order to redo the floors. I don’t regret this although it did another project to a house that is full of projects.

I have been pushing off the baseboard for as long as possible. The actual installation gone better than expected, which means I’m getting better at house project time estimates. Not my favorite project, but not terrible aside from the physical toil. Lots of precision cuts, lots of touchup work, and up and down on protesting knees. Sorry knees, you are not in your 20s anymore. All this is complicated by having a toddler and cats so the saw and nail gun need to be in safe places whenever its quitting time.

My wife has also started hanging art up on the walls and it increasingly feels like we really and truly live in the house.

Weather

waluigi, but thicc on Twitter: “the 11 seasons of midwestern states…”

Michigan Summer is why you put up with Michigan Winter. There’s a cruelty to winter in Michigan that I’m still unused to even a decade in. Hints at Spring are more brutal than it just staying winter, and I’ve yet to learn my lesson that we’re not in the clear until sometime in May. Every bone in my body wants it over by February. We got a reprieve last night and took advantage of it by walking to a friend’s place for dinner and an easter egg hunt outside.

Totoro

Scout watched My Neighbor Totoro over the course of a few days and she adored it Here’s a picture of her shouting “Totoro!” when he showed up on screen. There are elements that are scary to her (she’s not a fan of the cat bus, and the soot sprites weren’t her favorite). Thus far she’s mostly shown interest in Sesame Street (“Elmo!”), Sarah and Duck, and Octonauts. I think My Neighbor Totoro might become the first movie she watches over and over and over though. I’m fine with that.

As Eli put it in reply, “it only has 2 antagonists: 1. a goat, and B. DEATH”.

Rudolf the Rednosed Reindeer

Action Salzman 📎 on Twitter: “Toddler gets to choose her bedtime song every night. Lately it’s been “reindeer song” aka Rudolf the red nosed reindeer.”

Various dads in Ann Arbor confirm that my toddler is not alone in wanting Rudolf sung even far outside the Christmas Season. As Julie said on twitter“, “Toddlers aren’t constrained by seasonality.

Opioids and Guns

David Erik Nelson on Twitter: “In case it doesn’t go without saying: We have much better ways of treating anxiety (both therapeutically and pharmacologically) that are cheaper and a great deal safer than opioids.”

People smarter than me have said about all I feel qualified to say about both opioids and guns. Mental health care for all and more regulations on both. I don’t think it’s too much to ask that our government do more than blame literally everything else other than access to the things themselves as the cause of their misuse.

Ypsi-Arbor D&D Gazette

I continue to put work into the hyperlocal Dungeons & Dragons Zine. Submissions have trickled in here and there. Thus far the only marketing has been through twitter and a mention or two in various slack channels. I’m trying to work up the gumption to post on Facebook, but Facebook is a bewildering mess such that I’d just rather complain about it instead.

Anyway, given that extremely meek outing I’m kind of astounded at the subscription rate (approaching 30!). My guess is that the actual release will bring in a trickle of additional people and I’m fascinated to see what happens with a second issue. Here’s a tantalizing look at a draft of the top of the cover:

Ypsi-Arbor D&D Gazette: Follow Up

We’ve officially crossed over a threshold in which there are subscribers to the Gazette that I don’t recognize by their email addresses. That’s an incredible thing, and also a bit scary!

A few submissions have trickled in as well and they have exceeded expectations. Send yours in too! I promise it’s good enough.

Read more about it on the original post, or sign up to get this thing:



More ideas for submissions:

  • Contextless notes from your last session
  • Description of how your character casts their spells
  • Late Winter fashion for the discerning elf that finds itself shivering and/or sweating in Southeastern Michigan

The sky is the limit! Submit here by emailing me at csalzman@gmail.com

Ypsi-Arbor D&D Gazette: A Zine

TL;DR: The Ypsi-Arbor D&D Gazette is a zine for empherma, stories, art, and other whatnot from the tables of Dungeons & Dragons players in Ann Arbor, Ypsilanti, and surrounding cities.

You can sign up to hear more about it and get a digital copy when it comes out in April here:



Or, email your submissions to csalzman@gmail.com with the subject line “Ypsi-Arbor D&D Gazette”.

What a terrible idea

I know, right?

This started out as a joke between me and @mollerwa a few months ago:

David Moll on Twitter: “I am intrigued by your ideas and would like to subscribe to your newsletter.… “

And the idea wouldn’t go away so I asked about it on twitter and the tweet got more likes and retweets than expected, so here we are.

Never joke on twitter, kids.

Okay, but really, why are you doing this?

Every time I bring up D&D in polite conversation I’m surprised to learn just how many people have played or are currently playing or REALLY want to be playing. That’s a lovely thing and should be celebrated because–oh my goodness!–have you seen the world lately? Exuberance over something as small as a locality’s tabletop gaming scene is perhaps the least we can do to bring a small amount of joy to the world.

I’m acting as editor, which means that I have volunteered to do the work of sifting through submissions and laying it out and making a PDF accessible. I need you to do one or both of the following:

  • Sign up to read the thing
  • Submit to the thing

Sign Up to Read the Thing

I’m aiming for a free PDF. If you really want a paper copy you may print and staple it yourself! Here’s that signup form again:



Submit to the Thing

One to two page somethings that are D&D related and from people in or around Ann Arbor and Ypsilanti:

  • Your very cool character
  • Shoutouts to your DM
  • Very good NPCs who everyone loves or hates
  • Combat stories of astounding bravery or astonishing cowardice
  • Doodles of your character
  • Art of your favorite weapon
  • Really good one-liners from your last session
  • DM tips – care and feeding of players
  • Player Tips – care and feeding of DMs
  • Magical items that you dearly love
  • Recipes for easy-to-eat-at-the-table snacks
  • Pictures of your dice: the lucky ones, the unlucky ones, and/or the very pretty ones
  • Small dungeons filled with horrifying secrets

Or: surprise me! For I am a simple human who cannot categorize your contribution to this thing in a bullet pointed list.

Please, send in anything you have that you think would be fun to include. I have no idea what will come of this, but I do know it’s worth trying. Email your submissions to csalzman@gmail.com with the subject line “Ypsi-Arbor D&D Gazette”. Please include how you’d like your name displayed (anonymous, initials, full name, character name, whatever) if you are chosen for inclusion.

Cut off is March 31st. Aiming for an April 30th release.

FAQs

What if I live in LOCATION X?

Look, if you have a thin connection to the area I’m not going to police some arbitrary geographic boundary. Trust your heart.

What about GAME Y?

Lie and tell me it’s for your D&D campaign.

Holiday One Shot

In early 2017 I ran a one-shot tabletop game that repurposed the story of A Christmas Carol and some rules from D&D 5e. It was quite fun! I can’t wait to run it again next year!

Overview of What it Was

The players were all newly deceased spirits in purgatory who had been assigned to the Holiday Cheer Special Projects (HCSP) division in order to atone for whatever misdeeds they’d done in life. HCSP’s leader, Jacob Marley, informed them that he was working on an extra special project this year to try to save his old business partner, Ebenezer Scrooge’s soul. All the characters had to do was help out the three spirits as they needed. Really all they should have to do is stand around as security since nothing could possibly go wrong. Bob Cratchit and Tiny Tim were the equivalent of undercover agents who had been working on Scrooge for years and hadn’t had much luck. They’d be “on the ground” ready to help too.

Pretty straightforward except for one problem: Krampus and his minions!

You can read my adventure notes if you’re a GM who wants to run it yourself. If you do, please let me know how it goes!

HCSP Adventure Notes

Character Creation

Here’s the character sheet I put together for them inspired by terrible inter-office HR memos:

HCSP Character Sheet

Deeds

Part of making their characters was they had to come up with one “good deed” and “bad deed” they did in life to end up in purgatory. While it’s an overly simplistic system of morality, it provided great fodder for them to role play with throughout the game. Turns out that a name and two facts can go a long way to getting started with a character.

Highlights from their characters included such deeds as:

  • managed to correctly solve the trolley problem (back when trolleys were a thing)
  • saved the police chief’s baby!
  • baked laxatives into the PTA’s cookies
  • invented high fives!
  • taught his chemistry class how to make thermite and chlorine bombs

They were also able to be from any time period they wanted in order to reinforce that time works a little differently in this setting.

Classes and Equipment

From there they picked an archetypal class: Fighter, Rogue, Mage. That determined some basic stat modifiers and which equipment would make sense for them to take. Speaking of equipment: I changed up the names of items. Weapons were things like a Christmas tree (to use as a bludgeoning weapon) or a whip made out of garland. Armor were objects like elvish coats (in red or green!) and a gingerbread shield.

For stats we used a stripped down D&D stat block: Strength, Wisdom, Dexterity. For a one-shot like this you can fudge almost everything a player might want to do into any of those three. For a long-term campaign I don’t think it’s not enough detail to make rolls seem “fair”, but for a one-night game it’s more than enough and vastly reduces referencing of character sheets.

Christmas Spirit

They each choose “Christmas Spirit” spells/cantrips they could cast. Such things like Snow (creates a snowfall in a 10×10 area), Cookies (heals for 1d4), Good Cheer (gives the target an extra 1d4 to their next attack roll), etc. This ended up being a really fun mechanic that they used to solve puzzles and combat in interesting ways.

If you want to see the Character Creation notes they’re here:

link to character creation notes

Notes for the Session

We finished in a few hours, although I think starting earlier in the evening and going another half hour would have let us breath a bit in each scene. There were some story causalities that were cut on the fly to keep everything moving. The original notes had the GM reading longer passages from A Christmas Carol. Pulling out the book turned out to be more of a tonal shift in the game than expected though. Next year I’ll work in the descriptions into the game.

There were also too many spells to choose from vs. interesting equipment or options for the fighting types. Something I planned on doing and quickly abandoned was quick sketches for equipment and spell cards. Since there’s a discrete list of both it would have made for a quicker reference for players who might not love reading blocks of rules, plus gives you another fun visual element. Playing dress up is always fun.

It was nice running a session where the stakes were low. We were trying to tell a fun story together in one night. No one was in danger of really dying (although there was danger they had to contend with!). I wasn’t tracking things like spell slots or really caring too much about combat placement unless it was interesting. Heck, I was even balancing the game on the fly since it was designed to accommodate as many players as who could show up!

It went well enough that I’ll be tweaking it and running it again next year (and the year after that most likely). If you want to be notified of when this happens get in touch!

Games I Enjoyed Enough to Put On a List: 2017

I wrote one of these last year and found that it sparked some good conversations and also that I checked it throughout the year to remember what the heck I played in 2016.

Always blog so you can remember it later.

In 2017 my wife and I bought a house and our baby became a toddler, which means my time for gaming was drastically reduced while we packed, unpacked, did projects, and wrangled a suddenly very mobile little child.
Also, Scope Creep Studios, the videogame studio I run with a few friends, released Night Lights Toddler Toy, a simple toy app we made for our toddlers. It was supposed to be a simple few week project that, of course, took a few months to get launched.

The Second Half of Final Fantasy XV (PS4)

After loving the first part of this game I put it down for almost a year. I’m glad I did. In fact, this is the first game I’ve played in which I wish I’d just waited a year to play it in the first place. They seem to keep shoving in features and story tweaks into the game with every patch to the point where I’m not when you call the game “finished” vs. “minor improvements”. It’s a fascinating historical problem that I hope academics figure out how to deal with. For those living through it can be obnoxious. If I was younger I’d eat it up. Bring on the content! Now though I do not have time for that and would rather play the game when its “done” (or at least closer to the developer’s vision than hitting a release date set by Marketing).

That’s enough griping about a game I really enjoyed. Huge over-the-top setpiece boss fights, frenetic combat, emotional road trip bros, and the general whiplash of going to “the world is ending because of the gods” to “monologue about Cup Noodles” completely won me over. Final Fantasy is at its best when the stakes are impossibly high but you instead spend hours, say, playing a snowboarding mini-game. It’s melodrama rolled in the banal and I love it.

Obduction (PC)

It’s a very pretty and mysteriously charming game that only Cyan seems capable of really pulling off well. I got bogged down about halfway through by house whatnot. I don’t love playing this sort of game on a PC though because it’s a lot of sitting and thinking I’d rather do on the couch, plus I had a few hard crashes that took me out of the experience. Going to pick up the ps4 port in 2018 to finish it.

The puzzles I did get to were, of course, well designed and integrated into the world. The in-game world seems to expand and also come into focus as you learn new information through the puzzles. A vast setting coming into focus as you wrap your mind around its rules and places. Riven did this incredibly well too and Obduction has a similar feel.

Mario Kart Wii (Wii)

I almost forgot to put this on the list somehow! I think it occupies a different space in my head than other games. It’s inherently a social game. The only time I played by myself was to unlock more tracks for us to play together. My wife and I would play after our daughter would go down for bed. We even had a friend over to specifically play it for a game night. My mother-in-law played with us once too!

And then recently our daughter started asking to watch us play. She and I even tag teamed an adorable, although frustrating, lap in which she handled accelerating and I handled steering. Needless to say she took her power seriously and refused to accelerate at all … we eventually finished a lap in 11 minutes by me sneaking in button presses.

Universal Paperclips

The first draft of this post included it twice I liked it so much.
I’m a sucker for clicker games and this took up an entire weekend. It’s a refined clicker/energy mechanic game, which is to say after you get past the initial flurry of clicks you likely are barely ever madly clicking again. Just managing your spreadsheet of inputs and outputs and enjoying the ride as you accumulate resources as you race towards your goal.

What I liked most about it was that it had a fantastic sense of humor and progression curve. It’s not for everyone, but it certainly got its hooks in me fast.

Honorable mention here is Realm Clicker, a game that Andrew Brooks showed me on New Year’s Eve that I played incessantly on NYE and New Years Day itself. It didn’t make the list as its own game because it doesn’t have an easily accessible ending like Universal Paperclips. I hit a point where the game started playing itself with me checking in now and then. I’m quitting cold turkey before it becomes a chore. It’s really good though.

Professor Layton and the Diabolical Box (DS)

I’d played this one a while back and it’d been long enough to have forgotten most of the puzzles. I love the fiction of going into towns where people are so obsessed with puzzles that they will stop whatever is going on to give you one. The story is mostly a glue to give you opportunities to meet weirdos who NEED you to solve a puzzle before they can tell you an important factoid. Lovely music, lovely artwork (heck, they had a Color Design Team on this game), and a solid lineup of fun puzzles.

10 More Bullets (iOS)

A very simple game that I played in one extended sitting. You have 10 bullets left and are trying to use them as best you can. You slowly upgrade as you collect resources until every time you fire the game explodes in a cascade of debris from ships. Really satisfying.

Night in the Woods (PS4)

Delightful writing and wonderful art. Plus it says something about the experience of coming home after being away in a way I don’t think I’ve encountered in other media. The ennui of adulthood setting in and trying to recapture something you will never get back. I didn’t love the game-y platformer parts of it. I did love the little mini-games peppered throughout it though. I’ll likely play through it again in a year or two purely for the writing.

This game was also very wrapped up in the experience of following their kickstarter updates and the creators on social media. I’m not sure it’s possible to divorce the game from the backer updates and twitter exchanges. The creative team on the project seem like cool and thoughtful folks and I’m excited for whatever it is they do next.

ABZÛ (PS4)

A PS+ freebie that hit me at the right time during house buying and moving. I found this to be an utterly relaxing experience. I meandered through it slowly and my toddler watched now and then and pointed out fish. Soundtrack is delightful too. It’s not a hard game by any means, but I never felt like it was wasting my time being overly clever about how I should progress to the next rich environment. It’s a hangout game. A game you want to inhabit for a while. Most of the games on this list are hangout games in some way, actually…

Hollow Knight (PC)

A very moody metroidvania with inspiration from Dark Souls and a style all its own. I picked this up on a recommendation from a friend towards the end of 2017. The first part of it was fine and then I picked up a few of the movement based items and it started to shine. The art direction is highly controlled and the soundtrack is lovely. You don’t feel like you need to rush through it (although I’m sure a speed run would be impressive). My complaint with it is that it’s stingy with save points. Likely no more stingy than, say, Super Metroid itself, but dying in Hollow Knight often than not leads to me to quitting until tomorrow rather than diving right back in.

Dungeons & Dragons and 7th Sea (Tabletop)

Another big change to “gaming time” was that I started running (a few) D&D games. After years of swirling sort of around the tabletop RPG hobby we got a group together. My wife had finished up listening to The Adventure Zone’s Balance arc and I asked her if she wanted to play. I volunteered to be the DM and quickly am realizing that I really enjoy prepping and thinking through what would be fun for everyone. We’re playing through the Starter Set, which is 20 bucks and so well designed I recommend it to anyone and everyone who has been curious but not sure where to start. Or talk to me in person and I’ll talk your ear off.

Videogames learned a lot from tabletop games, and in turn tabletop games seem to have (finally?) picked up on certain things (like approachable rulesets) from videogames.

I’m also playing in a 7th Sea game which has consistently been some of the most fun role-playing I’ve been involved in. It’s a system designed to make you feel like a sea-faring swashbuckling (and/or sorcerous) hero while telling interesting stories.

Notes on other games

What Remains of Edith Finch? and The Vanishing of Ethan Carter are like tailor-made for Chris, but I haven’t had a chance to play them. I’m putting bets that they’ll both be on my 2018 list. Firewatch too, which I keep forgetting about.

And for reference’s sake, here’s a list of friends who have written 2017 wrap-up posts. I’ll add to this as y’all get yours published. It’s nice to go back to these when wondering what to play:

Upgrading the Site to use CSS Grid

A few months ago I wrote a blog post about how amazing CSS Grid is and how I think it’s the future. And then proceeded to not actually update my personal site to use CSS Grid for 3 months.

I finally got to working on that a few weeks ago, then ran into hugo version issues, then got those sorted out, and now here we are: the site’s now using grid and all is right in the world.

The actual conversion itself was pretty easy to do and it was very refreshing to flat out replace many lines of boilerplate divs with semantic tags. The source for each post is much cleaner than it was previously and is something you can follow.

I, of course, coupled the grid changes with a full rewrite of the site’s styles and other template changes. Other parts of the site are likely broken, but what’s the fun of a personal non-commercial site without a few lingering bugs?

Now that the basics are working I’m excited to slowly, over the course of many years, add in features and tweak it. Grid is good.

Royal Emotional Mirror

The “Royal Emotional Mirror” technique is when a brand refers to it in the second person plural while reflecting back the emotional state of the customer on social media.

  • Royal: think the “royal we”. A distant familiarity.
  • Emotional: focused on emotional states (happy, sad, etc.)rather than facts
  • Mirror: generally repeats the emotion of the person interacting with the brand rather than reacting to it.

It’s related to empathetic listening just adapted for organizational use (or “abuse” depending on your stance.

This should, at a minimum, be an entry point into also solving the customer’s problems, but is often merely the only agency that customer service reps have at their disposal until kicking it to another tier of rep. It’s a gentle way to complete a connection with a user, show that they’re recognized and valued, and/or complete the social loop of a “conversation”.

“Me, a representative who is speaking on behalf of the company, understand where you are coming from and now that you and I have connected and are aligned we can solve the problem while feeling good.”

Once you see this pattern it’s hard to not see it.

Oculus provides a great example of this in a basic form:

Customer: “I want one. Loved the concept”
Brand: “We’re pretty excited too, [Person’s Name].”

https://twitter.com/oculus/status/918235457917370368

Starbucks gets points for hashtags

Customer: “Oh yay!!!! Love it!! My Favorite coffee #NationalCoffeeDay #CoffeeLoveCups “
Brand: “Happy #NationalCoffeeDay! What do you love most about coffee? #CoffeeLoveCups”

https://twitter.com/Starbucks/status/913742272784605184

Samsung loves it

Customer: “Can’t wait to get my #galaxynote8 from @tmobile”
Brand: “We’re doing a happy dance in anticipation.”

https://twitter.com/SamsungMobileUS/status/918511007911350273

Customer: “Dope”
Brand “Our thoughts exactly.”

https://twitter.com/Deandre_Turrey/status/917800649257095170

I’d actually love to hear a statement by the president of Samsung in which he agrees that describing their flagship phone with a word that also has–let’s call them–drug connotations is representative of the company. It’s important to not overthink these things.

Anything by Slack

Slack is the best at this, just go read through their twitter stream:

https://twitter.com/SlackHQ/

McDonald’s would like you to come visit it more

Customer: “yum”
Brand: “We think it would be cool to see you in our drive-thru, Darry! Better yet, come on in.”

How I Spent My Friday Night, or Why Framerate is the Wrong Choice for Managing Time-based Animations, Actions, and Effects

Of the bugs I have written a lot the one that keeps biting me is improperly locking an animation, effect, or action to the framerate of the game rather than to an elapsed time on a clock. You can never depend on your game running at a specific and consistent framerate across every device it’ll get played on. This seems obvious, but is a very easy assumption to make when you’re in the thick of it. If a device slows down, or speeds up, suddenly that tuned animation that elapsed over the course of 60 frames might take 2 seconds to complete.

For a background animation this might be fine and this isn’t necessarily that bad. However, what if it’s a function that the user is relying on for either visual feedback, or to take their next action?

That’s bad.

The Dark Souls of This Bug

There was a bug in Dark Souls 2: Scholar of First Sin in which character equipment was breaking very fast on the PS4. Equipment in that game has a durability rating that goes down as you use it. If you go too long without repairing it it will break.

Turns out, they’d linked that decrementing of durability to the framerate. On the PS4 the game ran at a nice steady 60 frames per second and thereby was resulting in equipment breaking very fast.

Thankfully we have this lovely bit of honesty from the patch notes:

“Fixed issue whereby weapon durability was decreased drastically when used on enemy corpses, friendly characters, etc. (Especially apparent for users running the game at 60 fps as the durability decrease rate was linked to the frame rate).”

Source: IGN

Scope Creep Studios is Not a AAA Studio, but We Have Similar Problems

A common way that I’ve introduced these problems is by doing something like the following:

public IEnumerator moveItOverSome() {   
    while (gameObject.transform.localscale.x >= 0f) {
        gameObject.transform.localscale -= new Vector3(.1f, 0f, 0f);
        yield return null;
    }
}

Every frame the Coroutine is running you shrink the scale of the object a tenth of a unit until it’s below 0, which functionally means that it’s invisible. Please ignore the other four or five problems with that coroutine. I’m going for simple readability right now.

The issue with this is twofold:

  • If your framerate dips or spikes or whatever the movement isn’t going to work as expected
  • Coroutines sometimes don’t behave exactly how you want them to

Give me a specific example, please

We were running into an issue on our upcoming app, Night Lights: A Toddler Toy, where every once in a while the coroutine to shrink our object refused to add the Vector3 how we wanted it to be added. This would result in the coroutine running for seemingly forever as it slowly decremented the size of the object by .0000001f every frame, or it’d shrink part of the way and then get caught somewhere and looked to be about half the size it should have been or looked like a speck, or generally just wasn’t what we wanted.

After a lot of hours debugging—_a lot of hours_—we finally stopped and did what we should have done from the start: wrote the corotuine to shrink from it’s full size to 0 over the course of 1 second using a lerping function.

Lerping interpolates between two values based on a third value between 0 and 1. Roughly: how far along in this process am I? At the start: 0, at the end: 1. Unity includes a Lerp method that returns a Vector3.

For the coroutine then we need to note the values we want to go between and the start time and then every frame the coroutine runs we can determine how far along we are in the shrink.

To whit:

public IEnumerator shrink() {
    Vector3 startSize = new Vector3(2f, 2f, 1f);
    Vector3 endSize = new Vector3(0,0,1f);

    //When does all this start?
    float movementStart = Time.time;

    //While current time is less than when we started
    //Plus how long we want it to go for (1 second)
    while (Time.time <= movementStart + 1.0f) {

        //Calculate our new size using the current time (Time.time)
        Vector3 updatedSize = Vector3.Lerp (startSize, endSize, (Time.time - movementStart));

        //Update the gameObject’s size using the new Vector3
        gameObject.transform.localScale = updatedSize;
        yield return null;
    }
}

To the toddler both approaches—when they work—visually look similar. Our latter example is reliable though and thereby the better solution for our needs.

A Note About Toddlers Tastes for Bugs

We found in testing that toddlers often like it when the app breaks in strange ways, but they also tend to then want it to rebreak in those exact same ways again, which is hard to do.

If you’ve spent any time with toddlers that will not surprise you in the least.

What Did You Learn?

Tozier reminded me what’s really important in life when I subtweeted the very short version of this blog post:

“Imagine how much you’re _learning_ though!”

Here’s what we learned:

When it comes to determining how something happens over time in your app or game you need to tie that action to some sort of timer. That timer could be the framerate, system time, game time, a clock in your basement that you have a webcam pointed to, or something else. Unless there’s a strong reason to do so one should reference a clock that isn’t tied to system performance.

DIY Discovery Tower for Under $50

One thing about toddlers is that they want to see whatever it is you’re doing up there. This leads to plaintive pleadings for “up, up, up, up, up” whenever we are doing anything in the kitchen.

We needed a solution to this that didn’t devolve into ignoring her until we finally caved and picked her up. I posed a question on Workantile’s slack and Andre replied to say that they’d had luck with the Ikea BEKVÄM stool.

In googling for it I stumbled across a DIY project to turn one of them into a “discovery tower”. Real Discovery Towers run in the hundreds of dollars and I’d bet they’re worth it. If you’ve ever bought good furniture you know that there’s a hundred small decisions that go into each piece that can make or break it as a useful object.

However, right now, all we needed was something to get her safely up higher than she is right now. You can buy this mod already done off of etsy, but I’m never going to turn down a chance to make something like this myself.

Which Plans?

There’s a lot of these projects out there on the internet. Everyone does it slightly differently.

Which then sent me over here to this Ikea Hackers post which is what I really used as the basis for our design.

My wife ordered the stool and it arrived a week or so later. I put it together and Scout immediately did this:

Sitting at her table

Affordances are an amazing thing. We had to put her on top of it for her to get the intended use and then she loved it.

Materials and Tools

Aside from the stool the other materials were a spare 2×3 that I had left over from another project, some scrap 1”x4” boards, a dowel, and 2” drywall screws. Paint came from a leftover testing pint we had around.

Tools were a miter saw and a drill with a bit for predrilling and a bit for drilling the dowel hole. You’ll also need a bit for your screws.

The first major step was cutting the 2×3. The 2×3 runs about 1.5” by 2.5” so I took it to the table saw and ripped off an inch to make a roughly 1.5” by 1.5” 8 foot long board. If you don’t have access to a table saw you could skip that step. The tower will just look a bit chunkier. Alternatively, buy a smaller board. That made up the majority of the tower, with some extra scrap used for the top supports and a dowel for the back support.

You can absolutely use nicer materials, but that wasn’t a priority for us for this project.

Also I’m not giving measurements, because it’s very important that you make your own. When following someone else’s plans on the internet I’ve found that what you’re really getting is the general shape of the finished project. Your tools’ tolerances and your materials are always going to be different. This goes double when you’re using scrap wood and framing lumber.

Project Overview:

I’d recommend doing this project in this order, which differs from how I did it. Learn from me!

  • Vertical Supports: measure from top of stool to counter height, cut, drill holes for dowel in back two supports, sand, attach
  • Side Supports: measure between vertical supports, cut, sand, attach
  • Dowel: cut to length and thread through with a dab of glue on each end
  • Top Supports: measure sides, cut, sand, attach. Then measure the front piece, cut, sand, attach

Note that sanding before attaching will save you so much time in the long run. I just did a rough sanding to knock down any sharp corners and clean up splinters. We want the “natural beauty” of the rough lumber to shine through (ha!).

Vertical Supports

First step was to measure from the top of the stool to the top of the counter. I was looking for an exactly even surface because that’s the sort of thing that really makes me happy. Your milage may vary on whether you care or not. If you don’t care, at least going lower than your counter height so you don’t create a lip that is going to get in the way.

The vertical supports are each attached with two screws drilled from the bottom of the top part of the stool. Predrilling with wood like this is a must or you will split it. What I did was predrill through the top board, then put the screws in so they poked through the top just a bit. That let me press the vertical supports down into them to mark them. Then predrill those, then screw it all the way through.

That’s a lot of steps, but the upshot is that nothing split and all the supports are aligned well.

Here’s the underside with a few of the holes predrilled

Side Supports

Once the vertical supports were in I marked off the position for the side supports about 10 inches up. These act mostly as additional handholds for her as she’s climbing into and out of it. They honestly might not be necessary.

Picture of the side supports and the top supports attached

Dowel Support

We originally didn’t have the dowel in place because I didn’t understand why you’d have that there. It only took about 5 minutes for her to be standing up there and lean back to realize that the dowel’s purpose is containment. She can still duck underneath it to get up and into the tower, but the dowel keeps her from flying back off into the void. Parenting is sometimes merely risk mitigation. I’d recommended putting one in, and I’d also recommend putting it in before you screw everything together and fill in the screws with wood putty.

Unpainted without dowel. This is what it looked like without the dowel. This is regret because I had to pull the top supports back off to get the dowel in

She was still happy with it, but we were not.

Happy even in its unfinished state

I used a 1/2” diameter dowel, which felt about right to me. Very little flex at this length and doesn’t require a ton of additional space. I drilled direcly through the vertical supports—trying to stay as level as possible and then threaded it through both of them. It’s tight enough to friction fit, but a dab or two of glue wouldn’t be the worst thing. Then when the top supports go on it covers up the end of the holes.

Top Supports

Finally the top supports go in a 3 wall surround. These provide structural support as well as gives her plenty of room to hold onto something when she’s up there. We could have done something similar to the side supports, but I don’t think it’d be as stable. If I ever did a version two of this I’d be tempted to try it to keep it more compact.

Painting

Finally, we painted it using a leftover paint sample pint. For a job like this that was plenty and we have some leftover for touchups later on. There are plans for additional decoration, will update this when and if that happens.

Here it is drying

She loves it. This morning I showed her how she can push it around to different “stations” in the kitchen. She happily moved it over to get a banana and then to wash her hands. Later she used it to put her plate in the sink. She will surely use it to do more nefarious things later on, but for now it’s giving her more independence and that’s a very cool thing to see.

Picture of her on top of the finished product