Things I learned bringing Passwordless to PHP-land

When I wanted my website’s Superspark Accounts to allow users to use their email address to sign in, and my previous method was a discontinued 3rd-party service, Passwordless looked like a fine replacement. The only problem was that it’s a Node.js package, and my site’s backend up until this point had been pure PHP. I got around this by making a RESTful wrapper around Passwordless that my PHP code could communicate with over local HTTP. I got some interesting takeaways from this project I wanted to share.

Read the rest of this entry »

New old blog posts

Waaaay back in the spring of 2013, I took a game studies class run by my college’s art department. Part of my coursework was to maintain a blog, which I kept separate from this one. I went through that one and found 3 blog posts worth keeping, so I imported them here with the tag “for game studies class”. As they’re years old, they may not be 100% reflective of my current self, but I like ’em so I’m keeping ’em.

The road to profitability

One of my goals with pikadudeno1.com is to make it a primary source of my income. Payment-optional methods of making money like asking for donations haven’t worked, and I don’t expect them to (although Patreon has worked out for some people, and I may yet give that a try). The main plan is to charge for access to new content, and convince people that it’s worth it.

Before I try any of that, though, I want to make my website something I can proudly show off, so I can start sharing it with wider audiences and get some of my future customers hooked. Most of the pieces for that are in place by now, but I still need to release non-OpenID login options and Zapster Solitaire. Though Zapster Solitaire isn’t my most interesting game, it is far and away my most polished, so will be good for setting the tone on what my players can expect when I start charging money.

Once that’s done, I plan on writing the code to enable players to buy things. To test this code, Magic Puddle v4.0 will feature a name-your-own-price In-App Purchase. After that, I’ll make Signs of Life v2.0, adding puzzle packs that require set-price IAPs to play. I’m aware IAPs have a bad reputation with many players based on how mobile game developers have abused them, but I have ideas on how to communicate to players that my IAPs aren’t those IAPs, inspired by this article by Thomas Baekdal.

Eventually, I want to make new games that require upfront payment, as players already expect to do for high-quality indie games found on Steam and such. People will find it strange at first to have to pay for a browser game, but I have a few ideas on how they might be warmed up to the idea, and of course actually releasing on Steam is a possibility thanks to Web app wrappers like Electron. For now, I’ll keep the games in question a surprise~

Self-sweetness

It’s the end of the year, and none of the stuff on the most recent Roadmap post has been released. Yup. I’ve had a mentally rough time lately, so I’m trying to take good spiritual care of myself, which means no beating myself up for missing artificial deadlines. But at the same time, I want to motivate myself to get this stuff done and shown off to the world, so I need to work out a way to do that that’s both gentle and more effective.

Part of taking care of my spirit is finding what victories I can. For example, with this post I’ve extended my “months with a blog post” streak to 4, a new personal record~ Keeping that up is good writing practice and helps keep y’all in the loop, so let’s see how long I can stretch it.

Nov 2016 Near-term Website Roadmap

Well, between the daydreaming of all the cool new things I should be able to finish soon, and the Content Update not coming out on time, I think a revised roadmap is in order.

Content Update (coming by November 17)

  • New game: Zapster Solitaire, version 0.8
  • New page: Gaming Profiles
  • NEW: Updates Showcase, an upgrade of NewsWave with a better user experience

Superspark Update (coming by November 23)

  • A bit of rebranding: Instead of a type of game, “Superspark” will refer to the account system. Web Wonders organization will simply be “games” and “non-games”. Future updates will add Superspark features to non-games.
  • As the Persona service will be shutting down, e-mail sign-ins must be changed to become a bit more of a hassle, but other sign-in options will be provided.
  • NEW: Logo Creator v1.1, mobile-friendly and offline-enabled

Fairies Update (coming December or January)

  • Logo Creator v2; changes will include a new fairy icon
  • Wackyland v2; changes will include a new Wacky Theater cartoon with stick figure fairies
  • NEW: Wacky Bingo v4, mobile-friendly and involving fairies somehow
  • Fairies
  • Fairies!
  • FAIRIES 😀

Ungrouped Updates (coming whenever)

  • NEW: Cookie Hunt v5.1, mobile-friendly
  • Revised sharing options; Reddit will be included
  • New Subscribe page, making it easier to follow my creative doings

A few notes on the personal reasons I chose those November dates: November 17 is the day before a local anime/cartoons convention that I want to enjoy guilt-free. November 23 is the day before a big road trip where Internet access will be spotty, so having something of mine work offline, even if it’s just that silly little Logo Creator, will be fun.

“Raaa, I’m a pumpkin!”

So HiveMC recently released a wonderfully whimsical Minecraft minigame called “Pumpkinfection”, in which some people are pumpkins and want everyone else to be pumpkins, too. Whenever I play it, I start hearing this bit of video in my head, which only adds to the experience.

“Take me seriously as a pumpkin, please!”

(FYI to peeps from the future, HiveMC says this is a temporary game and might not stick around after Halloween.)

Near-term Website Roadmap

I don’t talk enough on my blog, especially about my website, so here’s a list of updates coming to pikadudeno1.com in the near future.

Content Update (coming this month or next month)

  • New game: Zapster Solitaire, version 0.8
  • New page: Gaming Profiles

Performance Update (coming this month)

  • The database that keeps Superspark Game save data will be moved to the same hosting service as the website
  • Site access via HTTPS and HTTP/2 will be enabled
  • All HTML/JS/CSS will be compressed (gzipped)

Superspark Update (coming October or November)

  • A bit of rebranding: Instead of a type of game, “Superspark” will refer to the account system. Web Wonders organization will simply be “games” and “non-games”. Future updates will add Superspark features to non-games.
  • As the Persona service will be shutting down, e-mail sign-ins must be changed to become a bit more of a hassle, but other sign-in options will be provided.

Fairies Update (planned for December, may be pushed back)

  • Logo Creator v2; changes will include a new fairy icon
  • Wackyland v2; changes will include a new Wacky Theater cartoon with stick figure fairies
  • Fairies
  • Fairies!
  • FAIRIES 😀

Ungrouped Updates (coming whenever)

  • Revised sharing options; Reddit will be included
  • New Subscribe page, making it easier to follow my creative doings

Habits in Free Time

I graduated with a Bachelor’s degree in Computer Science last May! While that is cause for celebration, I’m not happy with the effect that the stress of coursework had on me. Humans are creatures of habit, and I got in the habit of using almost all my free time for vegetation and escapism, which is obviously suboptimal both for productivity and fun.

I’ve been reworking my habitual use of free time for more quality of life and creative output. I think I’m doing well on re-establishing Web programming, as evidenced by the release of Deviant Love 2.2. I’d like to work in doodling and keeping in touch with friends. If I also mix in making music, I’ll have all I need to become a great indie game developer! Not going to give up my habitual plushie-cuddling, though; in fact, I might make plushies the heroes of a video game! Hoping the best for myself, and that my future job will have a minimal impact on how I use free time.

On Mii Fighter Final Smashes

Note: All links go to the same video with different timestamps.

I find it interesting how the Mii Fighters in Super Smash Bros. Wii U / 3DS mimic the Final Smashes of the main cast.

Mii Brawler mimics Greninja.
Mii Gunner of course mimics Samus.
And Mii Swordfighter mimics Wii Fit Trainer for some reason.

Although, it may be more accurate to say “Wii Fit Trainer mimics Mii Swordfighter for some reason.” Shooting sword slashes? That kinda makes sense for someone who’s sharing the stage with Link and Kirby, who have also used swords for projectile attacks. But shooting yoga poses? Wut?

That silly 404 page

Every website’s gotta have an HTTP 404 File Not Found page that says nothing is there, ask the link owner to fix the link, here’s how to find what you’re looking for, yada yada… why not have a little fun with it? If you get a 404 error on pikadudeno1.com, the site takes the number of letters in the requested URL modulo 6, and uses the result to choose one of 6 stupid jokes to show on the error page!

Were I to share a bunch of links to nonexistent pages, I’d end up with search engine robots trying to follow them all and getting a whole lotta nothing… which is why I’m using the Robots Exclusion Standard to stop them from visiting any URL that starts with “http://pikadudeno1.com/nothingness/”. And since the number of letters in the “nothingness/” prefix is a multiple of 6, it doesn’t change which message is chosen!

So, without further ado, here are all the silly messages that can appear:

http://pikadudeno1.com/nothingness/a
http://pikadudeno1.com/nothingness/bb
http://pikadudeno1.com/nothingness/ccc
http://pikadudeno1.com/nothingness/dddd
http://pikadudeno1.com/nothingness/eeeee
http://pikadudeno1.com/nothingness/ffffff

With a little cleverness, you can make URLs that appear related to the message that appears:

http://pikadudeno1.com/nothingness/LooksLikeAlderannsAGoner
http://pikadudeno1.com/nothingness/GrammarNaziHell

Whatever humor you may find in this feature, you’re certainly not finding a file.