Saturday, September 26, 2015

3DS Special Mii Abuse

Periodically, Nintendo sends out a Special Mii via SpotPass.  In the StreetPass Plaza games, these Miis give you special benefits.  So naturally, you want to see them more often than you actually do.  There's a way you can hack your own personal Mii to give it gold pants and have it show up for other people as a Special Mii, but... that only benefits them, not you.

Fortunately, there's a way that you can keep getting the same Special Mii over and over again.  These directions only ever seem to be posted on forums like the GameFAQs forums, where they'll get inevitably buried in the sands of time, so hopefully by reposting them here, I can save them from getting lost in that manner.

As long as you follow these steps verbatim, it will work.  I don't know if the process can be simplified or not, but I've done it this way on two different systems and it's worked for both.  These directions only work while Nintendo is still distributing the Special Mii, which generally happens for 24 hours.  As time ticks on, you do run the risk of losing the Special Mii forever, if that's something you care about.

So, how to do it:
  1. Go to System Settings → Data Management → StreetPass Management.
  2. Select StreetPass Mii Plaza's icon, hit Deactivate StreetPass, and hit OK.
  3. Exit out of System Settings.
  4. Go into StreetPass Mii Plaza.  It will ask you if you want to enable StreetPass, say No.
  5. Select the Special Mii and delete it.
  6. Restart StreetPass Mii Plaza.
  7. Go into the Settings (it should start up with the Settings icon selected), and re-enable StreetPass.
  8. Once you confirm that, it shouldn't take very long for you to get the blue SpotPass notification light again.  Make sure you have an internet connection available!
  9. Restart StreetPass Mii Plaza to be able to greet the Special Mii once more.
This is megas useful nyoro~n for Ultimate Angler if you've got all the islands cleared, as in that game, Special Miis will give you a sighting for a mysterious fish that you haven't caught before.  Since all the special Miis that Nintendo sends out have their region set as "Nintendo", you'll also get a gold permit, which is otherwise rare and costs an arm and a leg if you want to buy one with play coins.

Edit (2015-10-30): It's important to note that when doing this, you'll most likely get a few other SpotPasses, which should mention a new panel in Puzzle Swap and the Plaza 4.0/4.1 update.  You can and should disregard these.  Also, apparently this can be done entirely from within StreetPass Mii Plaza, so long as you delete the Special Mii with StreetPass and SpotPass disabled, and then restart the Plaza and re-enable both StreetPass and SpotPass.  Hitting HOME a few times should make the "Someone's here!" message show up and from there it's business as usual.

Tuesday, September 22, 2015

I Don't Get "Being Social"

So, I have friends and hang out with them a couple times a week.  That's really all the "social" I need, and I spend the rest of the week "recharging my batteries", as it were.

In the meantime, my mom sees me being quiet and not talking a lot and goes "are you okay?".  I typically respond by saying yes and asking her what she thought was wrong, and the response is always something along the lines of "I don't know, you just weren't talking very much.".  In day to day speech she'll be saying things to me that I don't feel really need a response, and unless I respond with one of "okay", "yeah", "uh-huh", "all right", etc., she acts like I'm not listening.

Then, on the flip-side, if I ever do start talking and participating in the conversation while we're out at dinner, making jokes and generally going with the flow of things, suddenly it's too much and my dad complains about not being able to get a word in edge-wise.  Despite the periods of silence where both myself and my mom are eating.

Make up your mind, would you?  Am I talking too much, or not enough?  I don't know.  I honestly don't know.  But if I bring up this mixed message, somehow it's my fault for not knowing, or my mom just goes silent because I'm "being argumentative".

I don't feel like speaking without really having anything to say adds anything to a conversation.  So generally I sit there and be quiet.  But apparently that's not okay.  I prefer isolation, meaningful communications, and meaningful social interaction.  I honestly don't believe I should talk just to fill the dead air.

This also manifests itself whenever my parents have a party.  If I retreat back to my room after hanging out with the guests for a while and having some food, I get accused of not being "sociable".  Well, consider that pretty much everyone my parents invite over has nothing in common with me, and the available conversation gets exhausted during the "hang out and have food" segment of the party.  After that, there's nothing left, and my presence adds nothing.  Sometimes I "solve" this by helping out with the party itself, cleaning up, assisting with the food, etc., and that's generally welcomed because it's helpful.

At the same time, I don't feel as though I should be shamed for not wanting to participate in social interaction.

Wednesday, September 16, 2015

Tangential Rant Time

So, in the latest episode of Far Lands or Bust!, Kurt talks about real estate and owning vs. renting.  One thing I know from having rented in the past that he didn't mention was that when you rent a place, certain things get subsidized into that rent.  The water bill is a common example.  For apartment complexes, things like yardwork and maintenance are also included in the rent, because the apartment complex has a list of companies they've contracted for various things like that.

tan( rant ) =

So my experience renting a place was both good and bad.  I liked not having to deal with my parents on a day to day basis, even though I did see them twice per week anyway.  I liked having certain bits of maintenance essentially be "schedule a work date with the apartment complex".  They covered all kinds of things, including regular replacement of the air filter in the HVAC unit.

But you're not here to see me rant about things I like, are you?  No, you're not.  You want to see me complain and rage about things.  Well, here you go.  Also, language, because I don't discriminate against words.

I guess it was just a delusion of grandeur.  I thought that living in an apartment with two other guys that I was already friends with would be great.  And in case either of them ever read this, I mean no slight against you.  However, when one lives with other people for an extended period of time, there are certain assumptions one has, namely doing stuff with the people you live with.  All three of us are gamers, but guess how many games I played with them?  Zero.  Both of them worked at a movie theater, so guess how many movies I ended up going to see?  One, which was Pacific Rim.  There were maybe one or two spontaneous "hey, let's go grab some food" moments.  I guess what I really expected was a bit more spontaneity than I got.  Then again...

There were always guests over.  They were friends and never objectionable people.  While I'm not opposed to the idea of having guests, and certainly not every guest needs to be scheduled in advance, it got a bit overwhelming at times.  This was mainly because the guest bed was a fold-out couch that happened to be right next to my computer.  Whenever someone stayed over for a couple days, I basically lost all my personal space.  I know, I had a bedroom.  It was full of boxes from the day we moved in to the day we moved out.  We planned on setting up the network situation so people's computers could be in their bedrooms, but that never happened.  Thus, 95% of the time I spent in the apartment was right there in the living room, and everything else that happened in the apartment happened all around me.

It also seemed like even when having guests over was a scheduled thing, I got told at the last moment and was typically the last person to find out.  This held true for a birthday party for one of my roommates.  I found out about it from a friend who'd been invited.  Apparently all the planning had taken place on Facebook, and given that I don't really use Facebook, I was out of the loop.  Asking the other roommate later, he said "well, I felt like I could just tell you anytime, and I guess I kinda forgot.".  Okay, that's fine.  But seriously, do try not to forget to tell me about a party when it involves cramming at least fifteen guests into our small apartment and some degree of help setting up.  Really, I do event staffing on a yearly basis, I think I got this.  Just tell me when it's happening and what I need to do.

Also, the specific location of the apartment complex let itself quite well to tenants that I really didn't want to be around.  The complex was mostly targeted at college students.  Students whose mommies and daddies often pay for things like rent and bills.  Students who therefore have very little attachment to the area, their neighbors, or even the buildings themselves.  We never once heard a peep from our downstairs neighbors, but our upstairs neighbors were an entirely different story.  I still to this day don't understand what was happening up there.

I have this mental image of the layout of their apartment, based on all the thumping and things being knocked over on a regular basis, but it has no basis in reality because I never once interacted with them, let alone entered their apartment.  On any given day it sounded like there were anywhere between four and seven people, all male, in that apartment.  Given the noises they were making, all three of us deduced that they very much enjoyed incredibly rowdy gay sex.  We could also hear their conversations with each other on most occasions, because they were the type that only had one volume level, which was shouting.  They called each other "bro" on a regular basis, and also blasted (and occasionally sang along to) Miley Cyrus on a regular basis.  They would litter the concrete patio area out front of our apartments with empty beer cans on a regular basis, and not clean it up, despite there being a single-stream waste disposal dumpster a short walk away.  Plus, one of them was always taking my parking space. *grumble*

The apartment complex itself definitely had its shortcomings.  Our illustrious hardwood floor sagged and squeaked in a number of places.  We had to get all the outlets replaced because the things we were plugging into them would not stay plugged in.  The kitchen was a closet with a horrible excuse for a vent fan in the wall next to the gas stove that always ran ~50 degrees too hot and burned several pizzas that didn't deserve it.  There wasn't even an in-unit washer and dryer.  They had maybe two laundry rooms for the entire complex and they each had three coin-op washers and dryers in them.  The coin receptacles on these things would regularly get jammed and eat your money.  This was one of the two reasons why I still saw my parents at any point during the week, because at least at their place I could do my laundry.

Also, I'm convinced that they had fewer parking spaces in the complex than tenants, judging on how hard it was to find a parking space sometimes.  Plus, it seemed like the apartment manager wanted access to our apartment for something at least once a week, whether it was painting the railings on the balconies, or putting a sticker on everyone's broiler door (gas stoves are weird) that said "LOL DONT STORE THINGS IN HERE BECAUSE IT GETS HOT".  Yet, when we reported that all three of our bedrooms had broken windows, when filling out the move-in inspection thing where they already know everything that's wrong with the place and just want to see how much of it you can find so they know how much they can ding you for later when you move out, they just went "meh, you can live with it.".  So for the entire duration of our living there, we had towels underneath the cracks in the windows, because every time it rained, water would come in.

I don't really have a good way to wrap this up, so you'll just have to deal with the sudden ending.

Tuesday, September 15, 2015

On the Subject of Ordering Pizza and Little Caesar's

So, unless you've been living in a hole, you probably know that the most recent ad campaign by Little Caesar's advises us to avoid the "hassle of ordering online" by driving down to one of their locations to pick up hot and fresh pizza.

Now, I've ordered a lot of pizza online in my day, so I feel thoroughly qualified in saying that I don't see where exactly the hassle lies in ordering pizza online.  I find it to be quite convenient, to be honest.  But, to properly break it down, I'll go into what's necessary to order a pizza online versus getting one from Little Caesar's.

Ordering OnlineLittle Caesar's
Log into the Papa John's siteGet dressed
Decide what to getGet in the car
Enter payment information, check outDrive to the nearest Little Caesar's
Pizza arrives 30 minutes laterFind a parking space
Eat pizzaWalk inside, stand in line
Enjoy lifePlace order
Obtain pizza
Drive home
Park car
Go inside
Remove pants
Eat pizza

Now, I'm not entirely sure, but wouldn't the process with the fewest steps be considered the least amount of hassle?

Edit (2015-11-18): I just had another thought.  If Little Caesars' Pizza is always "hot and fresh", that means it's been sitting out under a heat lamp for who knows how long before I get there.  Hot, yes.  Fresh, no.

Saturday, September 5, 2015

Burning questions about racing games

I'm taking no prisoners here.  Everything gon' get criticized, ya heard?

This started out of a reply to one of the replies to a post on the Mindcrack subreddit, discussing the intro to Forza 6.  It expanded from my original reply to far beyond the scope of that thread, and was off-topic from the beginning, so enjoy.

Things that bother me about Forza Horizon (specifically, FH2, but likely also pertinent to the original):
  • For a racing festival that's as well-known and attended as the Horizon Festival is made out to be, the complete lack of organization befitting of an auto racing event astounds me.
  • Why do they send cars that aren't designed for off-road racing into off-road races?
  • Why do many of the events still have regular street traffic involved?
  • Why are the non-street circuit race courses not clearly defined?
  • Why don't they encourage safe driving outside of races?
  • Why is every last exhaustive detail of the car's setup left up to the driver?
  • Where do they get their liability insurance?
  • Where's the police during all of this?
Devolves into general rant about simcade/sim racing games/the occasional jab at arcade racers, rehashing points from above as necessary:
  • Why does everyone talk like they're desperately trying to sound like they're cool?  This whole "if I dress like them and act like that and get my hair cut, then maybe they'll like me!" thing never got anybody anywhere.
  • About the safe driving thing, if you really want to prevent the next generation of street racer douchebags from acting like regular traffic is their playground, provide in-game monetary bonuses and achievements and whatnot for staying in the proper lane, below the speed limit, following traffic laws, and not hitting anyone.  In fact, deduct in-game money from the player to pay for all the damages they cause.  The token "This game is a work of fiction.  Always obey traffic laws and wear your seat belt." notice when you first start up the game doesn't work because nobody sees it.
  • The thing about car setup being entirely up to the driver: Professional race car drivers have an entire team of engineers who crunch the numbers and arrive at a base setup for the car, every single race weekend.  The driver assists in tweaking parts of it like downforce and tire pressure from there, and handles other things from in-car controls.  The driver doesn't have to give two shits about 99% of what the player has to mull over in simcade/sim racers.  Now, obviously, this is street racing we're talking about, and no self-respecting racing engineer would want to be within any sort of arbitrary radius of a street racer, so how about an option in the game's garage to set up the car for a specific event?
  • Why is it that people who play iRacing go around to all videos of any other racing game ever and leave comments such as: "you should play iRacing", "he should play iRacing", "have you tried iRacing?", and "iRacing is better, play that!".  This is exactly the same as the "you should play tekkit/feed the beast/modded" comments on Minecraft videos, and the "now do that on real guitar" comments on Guitar Hero/Rock Band videos.  News Flash: if you're posting these types of comments, all you're doing is turning people off to whatever it is you're trying to promote.
  • Why is it that powerup-based arcade racers almost always have to have that one powerup that completely breaks the game or whatever?  You know what I'm talking about.  The fucking blue shells.  "Hey, you know what's a great idea?  How about we actively punish people for being good at racing and having figured out the game mechanics we've provided to them by having a powerup that makes it so that nobody actually wants to be in first place until the last moment of the last lap?  That's a great idea!  I'm sure players will love it!"
  • Why is it you can't play through a racing game co-op with a friend anymore?  If you're playing with a friend, you have to play against them now.
  • In a similar vein, why can't you use co-op/multiplayer gameplay in racing games to unlock unlockables?  Why do they have to be reserved for the singleplayer?
  • There's one game I know of that's an exception to the last three points, that you may recall me mentioning before on this blog: Rumble Racing.  It has no anti-leader powerup, you can play it co-op, and you can unlock all the cars and tracks in the co-op mode.
  • Why is it that some racing games can't create the feeling of speed?  This is a more deeply-rooted problem, I feel.  Some would say it's related to the game's framerate.  Personally, I have no clue.  I do know, however, that Gran Turismo 3 was terrible at it.  I was driving a car (I actually forget which one, but it was a street car) and saying something about "oh well I'll do this or that once I get up to speed" and my dad looks at the on-screen speedometer and says "you're going 80mph, you know".  Have you ever driven a street car at 80mph?  Shit's fucking intense, yo.  More recently, there's Ridge Racer 3D, which has its problem at the other end of the scale.  It makes speeds in excess of 300kph (my favorite, the Kamata RC410, maxes out around 340kph) feel slow.  What the fizzityuck?
GET OFF MY LAWN YA DANG KIDS

Saturday, August 29, 2015

PowerShell's Strict Mode (and a rant about implicit behaviors)

PowerShell's strict mode (enabled by running set-strictmode latest) is really nice.  So nice, in fact, that I'm wondering why it isn't the default.  In fact, why is there even the option to have a non-strict mode?

PowerShell's strict mode makes the interpreter throw terminating exceptions when it would otherwise silently fail, with respect to uninitialized variables in expressions.  This is megas useful nyoro~n for finding typo'd variable names and generally keeping you from being confused later on as to why an exception is getting thrown elsewhere, or why your script isn't outputting correctly.

I would argue that it should be taken a step further.  There should be a version of strict mode that prevents assignment to uninitialized variables as well, so that you have to use the new-variable cmdlet to explicitly create variables.  I already do this in all the scripts I write, because of a broader issue I have with PowerShell, namely, its never-ending set of implicit and sometimes unintuitive behaviors.

So that I can be 100% sure I know what's happening, I force PowerShell to bend to my will by explicitly defining every behavior that I want to happen, even when it would normally happen implicitly.  This has also led to my adoption of the mantra "If it doesn't work in PowerShell, throw more parentheses at it.", which you can often find in an all caps comment in my code near where I've added parentheses to make something work.

Because those of you who aren't familiar with PowerShell may be wondering what sorts of code wouldn't work as expected without parentheses, but works properly as soon as they are added, I will offer an example.  Let's use something for this example that looks innocent enough: declaring a new variable and initializing both its type and its value using a typecast.
> new-variable -name foo -value [decimal]0 > $foo [decimal]0 > $foo.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True String System.Object
That's right, the way you'd immediately think of doing it results in $foo being the string '[decimal]0' instead of the value 0 as type System.Decimal.  Now, let's stick some unnecessary-looking parentheses in there and see what happens.
> new-variable -name bar -value ([decimal]0) > $bar 0 > $bar.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Decimal System.ValueType
Now we get our expected behavior.  This only happens because PowerShell will implicitly interpret unquoted sequences of characters as strings.  This implicit behavior is the cause of a rather large class of annoying behaviors in PowerShell: the parser decides too quickly that something is a string instead of code to be executed, which can produce a variety of headache-inducing results.

Here's another one.  Again, we're making a new variable, however, we want to assign it an object that we're creating via the new-object cmdlet.  Once again, this looks innocent enough, but fails:
> new-variable -name baz -value new-object system.xml.xmldocument New-Variable : A positional parameter cannot be found that accepts argument 'system.xml.xmldocument'. At line:1 char:13 + new-variable <<<< -name baz -value new-object system.xml.xmldocument + CategoryInfo : InvalidArgument: (:) [New-Variable], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewVariableCommand
As you might expect by this point, merely putting parentheses around the call to new-object gives us our desired behavior.
> new-variable -name baz -value (new-object system.xml.xmldocument) > $baz NodeType : Document ParentNode : DocumentType : Implementation : System.Xml.XmlImplementation Name : #document LocalName : #document DocumentElement : OwnerDocument : Schemas : System.Xml.Schema.XmlSchemaSet XmlResolver : NameTable : System.Xml.NameTable PreserveWhitespace : False IsReadOnly : False InnerXml : SchemaInfo : System.Xml.Schema.XmlSchemaInfo BaseURI : Value : ChildNodes : {} PreviousSibling : NextSibling : Attributes : FirstChild : LastChild : HasChildNodes : False NamespaceURI : Prefix : InnerText : OuterXml : > $baz.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True False XmlDocument System.Xml.XmlNode
Now, let's try to initialize a new variable to the result of a static method call.  I'm sure you get the drill by now.
> new-variable -name qux -value [math]::floor(3.5) New-Variable : A positional parameter cannot be found that accepts argument '3.5'. At line:1 char:13 + new-variable <<<< -name qux -value [math]::floor(3.5) + CategoryInfo : InvalidArgument: (:) [New-Variable], ParameterBindingException + FullyQualifiedErrorId : PositionalParameterNotFound,Microsoft.PowerShell.Commands.NewVariableCommand > new-variable -name qux -value ([math]::floor(3.5)) > $qux 3 > $qux.gettype() IsPublic IsSerial Name BaseType -------- -------- ---- -------- True True Double System.ValueType
There's another one that's more difficult to demonstrate where the interpreter will implicitly flatten a single-element array to its sole value, which is annoying when the code around it is expecting an array.  I could go on and on listing implicit behaviors and how to explicitly define them to get your code to do what you want, but the lesson is already plainly obvious: Be very vigilant while writing and testing your code.  Always keep the interpreter nearby to test things and make sure that they work.

Also, if you point out the implicit behavior that all of my code examples are using without turning it into the equivalent explicit behavior, you get a cookie.

Tuesday, August 25, 2015

Video Game Piracy

Because of a post on the video gaming Shitty Gawker Network Blog™, I'm thinking about it.  While the accounts shown in the article certainly paint a picture of the variety of reasons why people pirate games, it's not nearly large enough of a picture to be an accurate representation.  Indeed, a lot of them cite monetary issues, and the article's author mentions this plenty of times, which I feel unfairly paints a picture of "can't afford it; just torrent it" entitlement fantasy as the major reason for piracy.  In fact, there is a diverse enough set of reasons to bring up some good points on things the industry is doing wrong or is just plain overlooking when they talk about how "piracy is the reason we only made 30 billion dollars last quarter" or whatever.

First, not every region of the world is so lucky as to have legal releases of games.  For people in these regions who want to play games, their only recourse is to pirate them, or pay an arm and a leg to import them.

Second, people often pirate games because of lackluster or nonexistent game demos.  If the demo doesn't have enough content to help the player make an informed decision, or if the demo doesn't exist at all, how does someone know if they want to purchase a game?  Everything you hear from the developer and publisher prior to the release is, of course, carefully crafted marketing information.  While it's still possible to pull objective information from that, it can be difficult since they have full freedom to pick and choose what aspects of the game they want to show to you.  The next logical step would be to turn to reviews, but most review sites can't be trusted to rate things objectively.  Also, when publishers know that the game is horrible, they embargo reviews until the game's release, or simply don't give out review copies until after then.  Video game publishers still rely too much on the blind buy.  I myself am interested in Fantasy Life and Rune Factory 4, both 3DS games, but have held off purchasing them because they don't have demos available.  Also, I recently purchased The Legend of Dark Witch, also on the 3DS, because of my gameplay experience in its demo.

Third would be tacked-on DRM clients such as uPlay from Ubisoft.  These are pretty much universally a headache to deal with and have a tendency to cause more problems than they solve.  The problem is also further compounded by the fact that you can often torrent the game and get a copy where the DRM has been removed.  In that case, pirating the game results in less of a headache than purchasing it legally, so the DRM really only exists to punish legitimate purchasers of games.  I will point to the release of Spore, which was so riddled with DRM issues that the only people who were actually able to play the game upon release were people with pirated copies.  Also, you often see games with these DRM clients on Steam, which is itself a DRM client.  Why the redundancy?

Fourth would be region controls.  I know for certain that a lot of piracy is due to the fact that some games just never see the light of day outside of the region the developer calls home.  While a fair number of people import games and consoles to get around this the "legit" way, doing so is rather expensive.  This is also one of the reasons why people such as myself modify their home consoles.  In my case, I modified my PS2 so I could play the copy of The Rumble Fish that I'd imported.  Region restrictions are an artificial measure put in place because publishers and console manufacturers desire more control than they're due.  It's clear that if the region controls are circumvented, the game will function perfectly, so it's definitely not a true restriction.  It's also clear that people are willing to deal with the language barrier, so that isn't really a valid reason.  Why prevent a person from playing a game that they've legitimately purchased on the requisite hardware that they've also legitimately purchased?

Fifth, and perhaps one of the bigger reasons, is that a lot of games are out of print.  In the interests of preserving gaming history, a lot of older games, including older console games, get pirated.  However, this raises a very important question.  Namely, if the developer and publisher can no longer make money off of the game, does it really hurt them to pirate it?  A lot of times, the legit copies show up on reselling sites like Amazon and eBay for ridiculous prices.  A clear example would be the GameBoy Color cartridge of Shantae, which commands over $300 on such sites, and can only otherwise be purchased for a much more reasonable price on the 3DS eShop.  But if you're sitting there with your old GameBoy Color and don't have a 3DS, then you'd have to buy one just to be able to pay that much more reasonable price, which would result in the game effectively costing almost as much.

Sixth, compatibility is an issue for computer games.  This relates back to the aforementioned problem of games lacking demos.  This also relates back to older games, where just getting a game running was sometimes an exercise in frustration.  I certainly remember the old days of games with DOS setup programs where you had to select your sound card from a limited list and provide details like IRQ, DMA, etc.  Sometimes just getting something working made you feel like a genius.  Computers have come a long way in terms of ease of configuration since those days, but newer computers often can't run games made for older computers because of how those games are programmed.  Often an emulator like DOSBox or a virtual machine of an older OS can solve the issue, but they're somewhat of a hassle to deal with and not every gamer is going to want to put in that much effort.

I guess the point I'm trying to make here is that video game piracy is definitely a multifaceted issue, and you can't simply look at it and chalk it up to one reason in particular.  Services like Steam and GOG definitely make legitimately purchasing games a lot easier, and have won over a lot of pirates on the convenience factor alone, but they're little more than a band-aid on the broken leg that is video game distribution.