zero's a life

An extra chance.

Hosting a Game on itch.io: Account Set Up and Transaction Fees

| Comments

What is itch.io?

According to the faq, itch.io is a service for handling hosting and selling individual and bundled games, soundtracks, art, etc. It has some handy features to manage and track gamejams as well. It was created by @moonscript.

In this post I’ll look at the fees charged itch.io and the supported payment platforms and how to set up an account. The faq covers these and other topics in more detail so make sure you peruse it.

VGBC Game Design Review: Gunstar Heroes

| Comments

Inspired by Daniel Cook’s game design review format over at Lost Garden. I’m going to take a similar approach to my write up covering Gunstar Heroes, the first book we’ve chosen for the VGBC.

The Format

  • A brief history: What is the historical context of the design of Gunstar Heroes?
  • Game anthropology: What market niche does Gunstar Heroes fill?
  • Layered game design: What major design lesson(s) does Gunstar Heroes teach us?
  • What worked and what didn’t?: What design decisions worked and what fell flat?

2014 Year in Review

| Comments

This week is the anniversary of the first post on this blog. I’d like to take a moment to reflect on the first year.

A recent tweet by @McFunkypants sums up my approach to blogging:

I’m not vain enough to imagine a future of internet (in)famy and riches(?) to emerge as a product of this blog. If I was linearly following the @HobbyGameDev trend, I should have around 20k followers by now. I’m nowhere near that total. But, like @HobbyGameDev, I set out with a goal of publishing weekly content. And with that in mind, I consider the first year a success.

Create a Dictionary With Multiple Keys in Unity C#

| Comments

I want to create a lookup table for comparing a player choice and an enemy choice. Each pair of choices can lead to a variety of outcomes. So, in order to map the relationship between choice pair and outcome, I’ve decided to use a Dictionary with choice pairs as keys and outcomes as values.

To me, the obvious way to do this is by using tuples to encode the choice pairs. I’ve already enumerated the choices so it’s simple enough to pair them off in tuples for use as keys for the Dictionary. This approach worked, however, I ran into a couple of problems along the way.

VGBC: A Video Game Book Club

| Comments

Credit for the original idea for a #VGBC goes to Rick Wolf, who also coauthored this post. You can get in touch with Rick at @InvolvingSalmon on Twitter.

What?

Your very own #VGBC (one of those newfangled acronyms we hear are all the rage these days). A club devoted to selecting and critically discussing video games. We like the acronym #VGBC, but you can call it what you feel. It’s worth noting that we aren’t reading a book each month (although some game design books would do us well), but we’re calling it a “book” club to emphasize the format that encourages thoughtful discussion.

Each meeting you can discuss any aspect of a video game that strikes your fancy. Maybe you really like the music or art direction, maybe there’s one level that you could play over and over again until you get it perfect, maybe you really like the silent protagonist’s haircut. Let your club know. Chances are, your thoughts about the video game will evoke some exciting input from others in your club. You can respond with all those witty retorts you’ve been practicing in the mirror. This is what’s known colloquially as a discussion.

But how do I know what to discuss, you ask? It’s simple. Take turns picking a topical game that everyone can play, within reason. We say within reason because, like a book club, everyone needn’t finish the discussion material to weigh in. Don’t expect everyone in your club to buy the latest $60 game.

A rule of thumb can be that the host of the last meeting gets to choose the game for the next meeting.

Who?

You, your friends, the cat (If you have one. No catnapping.), anyone with interest in critically discussing video games. Maybe, like us, the group consists of people that are interested in game design. Maybe you invite your friends that love games, but haven’t ventured into the realm of formal discussion. The more the people you have with different interests, the more likely you are to get a new take on a game.

When?

Pick your favorite periodic adjective. We’d recommend starting with monthly meetings, but you can meet as often as you like. Really. We don’t mind. See if we care. It’s not like you invited us.

Anyway. Pick a time that works best for your group. Sometime in the evening, say around happy hour, with a delicious beverage and snacks sounds good to us. We’d reckon that allowing for two hours should be enough discussion. If a topic is particularly engaging you can always spread it out over multiple meetings.

It’s up to you to work out a schedule that works for your group. Scheduling apps like Doodle.com can be helpful for coordinating busy schedules and finding a time that works for everyone in your group.

Where?

In your home, in your friends’ homes (assuming they’re part of the meeting…), in your garage, at a local pub.

It’s nice to meet somewhere with a television and a game system to play the game you will discuss. Showing video of your favorite parts of the game can be nice too. If you want to do that, try to plan ahead and get a save near the part you want to discuss or check for video playthroughs on YouTube.

If you meet outside your home make sure you check with the establishment beforehand. Give them a headcount and check if it’s ok. Be sure to spend a little scrilla and tip well. Be aware of other customers.

Why?

Because video games deserve a critical reading. Discussions force all of us to crystallize our views from vague notions of “It’s good,” to “The fog of war mechanic in this game vastly improves the strategic elements, strengthening the multiplayer meta-game.” (Your mileage may vary.)

Sometimes you’ll get to suggest your favorite game. Others may deride your choice, but they will get their chance too. Heck someone may even like the games you suggest, discussing an intriguing aspect that was lost on you. Then the others in your club will suggest other games. You never know, you may just find a game that you like. If you’re anything like us, assigning a game and being accountable to comment on it can also help curb the constant growth of your Steam library.

Maybe one month you’ll find that you hated a game. But take a moment and think about why it isn’t fun. Do you dislike it because you’re bad at puzzle games, or is it unenjoyable because it’s a garbage visual novel whose writer has never heard of the three act structure? These reasons are very different, and both are worth considering. We’re hoping that reflecting on what makes a game good or bad will make us better designers. We do this with most games that we play, but by doing it with friends we can all get feedback on our thoughts; and we guarantee that will make us grow as designers.

What we’ve presented here are a set of guidelines. There are no hard and fast rules or requirements for hosting your own #VGBC. Want to talk about knitting? Cool. Want to discuss your favorite sporting moments? Great. Board games? Lawn darts? More power to you.

So start up your own #VGBC and let us know how it goes in the comments or on the twitters @zerosalife or @InvolvingSalmon. When I post about something from #VGBC on the blog, I’ll tag it with VGBC.

Previewing a Post Using Octopress

| Comments

It’s nice to preview some of my more complicated posts before I ship them out to the Internets. Here’s how I do it.

make preview

I previously posted a makefile I use to automate deployment of my blog. Here are the germane lines for previewing:

1
2
preview:
  bundle exec rake generate && bundle exec rake preview

So typing make preview at the command prompt will run start up rake’s webserver at http://localhost:4000. Then all I have to do is launch a browser, connect to that port, and voila: a preview of the blog that regenerates to match the changes I make live, as I make them.

New Year, New Footer

| Comments

It’s 2015. Time to update my footer. I came across a link to a website called, updateyourfooter.com. It describes ways to dynamically update footer info in a variety of languages.

I set out to intrepidly implement one of the JavaScript snippets from the website in the source/_includes/custom/footer.html file in my Octopress install. But, to my surprise, there was a bit of code in the footer that already dynamically generated the date timestamp for the footer.

The code looks like this:

{{ site.time | date: "%Y" }}

Ready for this? Octopress is a framework built on top of Jekyll. Jekyll uses Shopify’s Liquid Template Engine. All of that is a fancy way of saying that this code is compiled into useful stuff for my site.

All I had to do was preface that with the year my blog was established, and badabing, no-mess dynamic footer. Now the relevant section of the footer looks like this:

Copyright © 2014 – {{ site.time | date: "%Y" }}

You can see the results at the bottom of this page.

Sharing Philosophy

| Comments

From this interview with Sam Aaron. Aaron talks about sharing software to create music, but it applies just as well to games.

We believe that most value in the world comes through sharing, and that music is no exception. One of the benefits of sharing is that it makes learning much easier. For example, we often hear amazing sounds on albums and wonder how they were made. However, musicians rarely share their production methods. We release all the software we write, which includes our synthesiser designs, interaction abstractions, and compositional structures, under an open source license, and we distribute it to everyone through GitHub. This makes it free and easy for anybody to copy and recreate any aspect of our work. For example, when one of our fans is interested in the sound of one of the synths we’re using, they can go to GitHub and download the synth design as text. They can email it to their friends, read it, study it, copy it, modify it and run it to recreate the exact sound.

–Sam Aaron