If I had a nickel…

One of the nice things about being an indie game developer is the community of devs who find each other through the internet. On one community that I frequent, I posted an idea a few weeks ago:

Starving Indie Marketing idea: Add a global counter for the total number times the game has been played by anyone, anywhere. Every time the game state reaches “Game Over”, the counter increments.

Then as the game over screen is displayed, the text: “If I had a nickel for every time someone played my game, I would have $” + global.games_played/20 + ” dollars…. In reality, I have $” + revenue ” dollars.”

Then display the IAP screen.

I’ve been wanting to see this tried, but haven’t been ready to set up a game for commercial release, so I just put it out there for anyone to run with it if they wanted.

So, one of the guys did! Jason Artis, of Hurgle Studios, is working on a Sudoku game for Android called Sinister Sudoku. Currently in beta, it will implement my “If I had a nickel” idea. So I’m really looking forward to seeing if it helps draw revenue.

My theory is that by providing immediate and direct information to the player about how well the game is doing, it will help provide the necessary incentive to the player to pay for a game if they enjoy it, to encourage the developer to continue working and release more games. I believe many players justify not paying for games because they rationalize that the game must be a success and must be making the developer all kinds of money, when the reality facing most indie game developers is anything but that. I like the free-to-play because it lets you experience the game to see if it’s worth paying for before you sink any money into it, and I like pay-what-you-think-it’s-worth models because it removes the excuse that many freeloaders use when pirating games that they’re “too expensive” and that they “would pay something, but not that much.”

Hopefully, by showing just how much revenue a game has generated, it will get players to realize how much labor and expense goes into producing a game, and drive home an understanding that it’s not free to produce them, and that good development cannot be sustained by low revenues. As a result, my hope is that those who are able to pay for games will be more likely to pay what they can and what they think the game is worth.

DRM signals early death knell for legacy GameMaker development

It’s generally known that GameMaker 7 and 8 use a DRM technology called SoftWrap to manage license and product activation. Today, YoYoGames released the following announcement, regarding this technology:

http://yoyogames.com/news/172

Update for GameMaker 7 and 8 Customers: Please Read

We want to inform all GameMaker 7 and 8 customers that Softwrap, our exclusive technology provider for GameMaker 7 and 8, has announced a change to its business. By August 31, it will no longer be possible for GameMaker 7 and 8 customers to install or reactivate their licenses. After August 31, if you are having issues reactivating GameMaker 7 or 8, please register a ticket that includes your Softwrap license code via the YoYo Games Support Center and our agents should be able to help you.

In reaction to this news we would like to help migrate users to GameMaker: Studio. “Studio” is the current version of GameMaker and the only version where we offer regular updates and support. We’re therefore offering customers of GameMaker 7, 8 and 8.1 an upgrade to GameMaker: Studio Standard for only $9.99., which is a $40 saving on the regular price.

To upgrade to GameMaker: Studio Standard, simply click here and enter your Softwrap license number to purchase a license for GameMaker: Studio Standard.

For more information on how to migrate games from GameMaker 7 and 8 to GameMaker: Studio Standard, please read our Wiki entry “Porting GameMaker 7 and GameMaker 8 to GameMaker: Studio.”

We apologize for this inconvenience but hope you find our offer to upgrade to GameMaker: Studio compelling enough to take advantage of it.

Thank you for your continued support of YoYo Games.

The YoYo Games Team

It’s not entirely clear from this what the help YYG plans to offer GM7 and GM8 users will consist of, or how long they’ll continue to offer this help.

A consumer friendly failsafe for the contingency of the DRM license servers going offline should be to unlock the product for all users. Not doing so can present a great inconvenience. If YYG and Softwrap goes out of business, or simply change their policy, that’s it for your GameMaker license. Short of hacking around its product activation, there’s no way you’ll ever be able to use it again.

That’s for a product that you paid for. This changes the nature of purchases into something more akin to a subscription or rental — only, your continued right to access that which you have paid for is contingent upon the continued existence and goodwill of the business entity who provided it to you.

Imagine having a tool chest filled with expensive tools that you paid for, but then finding one day that the chest has become permanently locked as a result of the manufacturer going out of business. That’s what it’s like to use DRM-encumbered tools.

Offering a discounted upgrade path to developers who haven’t yet adopted Studio is better than nothing, but it’s likely that developers who are still on these old versions have not upgraded yet not because of financial reasons, but because of legacy projects that are not easily ported to Studio due to a dependency on now-deprecated functions that are no longer supported in Studio. For any such developers, migrating their codebase from GM7 and 8 to Studio could involve substantial re-engineering.

YYG no longer use SoftWrap DRM with GM:Studio, but does continue to use a DRM solution, and YYG have stated in the past that they will likely never abandon DRM. I disagree with their stance on the matter, but I recognize that it is their decision to make. I continue to recommend that they abandon DRM in the future, and figure out a business model that allows them to do so.

I also encourage them to release a non-DRM encumbered version of GM7 and 8 for existing licensees who wish to continue supporting legacy codebases that they are unable to port to Studio. When a business elects to cease support for a product that they released, the most ethical thing to me would be to release the source code for the product, so that those who wish to continue using it can develop their own patches and updates. Failing that, at the very least they should unlock any DRM that would prevent customers from being able to use what they’ve paid for.

Phil Fish vs. Marcus Beer: We all lose.

This is just my opinion, and I don’t have all the information:

I don’t know Phil Fish personally, but I do follow him on Twitter. I have yet to play Fez, I’m sad to say, but it’s obvious to anyone who watched Indie Game: The Movie that he poured his soul into it.

The impression I get from his appearance in IG:TM and his twitter feed is that he’s an emotionally high strung guy, rather sensitive, and prone to lashing out in anger when he perceives that he’s been hurt or slighted. The most lasting impression I came away with was the part in IG:TM where, on camera, a very upset and overworked Phil Fish stated several times that he would kill his former partner if he did not release his share of Fez and allow Fish to finish and release the game. While I understood very well how deeply angered Fish must have felt, having sunk so much of his life into a game that he was depending on to do well, only to be left hanging by the legal fallout of a broken partnership that might prevent him from releasing it at all, it really did not seem like a wise thing to be saying stuff like that, certainly not in front of a camera. It just made Fish look bad, at best a temperamental artist, at worst a loose cannon who might actually go off. It didn’t matter that I felt that he was in the right and getting screwed, he was handling it badly.

Yesterday, it seemed like the whole indie developer world was talking about the latest Phil Fish meltdown. Fish was quitting game development. There would be no Fez II.

The last major meltdown that I’m aware of dealt with Microsoft’s treatment of Fez. Fish wanted to release an update on XBox Live, but Microsoft’s policies were getting in the way, and for a solo developer getting through the red tape hurdles and costs were tremendously burdensome. Fish’s outrage was as righteous as it was epic. I felt like he was on the side of every small developer who wanted to put out a major release.

This time it seemed that he had few friends or supporters, and lots of haters. At best it seemed his fans were mainly expressing disappointment at the announcement of Fez II being canceled, or expressing hope that he’d cool down and come back to the project. But Fish was spewing profanity about the abuse he’d been on the receiving end on, and it didn’t seem like anyone sympathized.

What was it all about? Something to do with “Annoyed Gamer”. Who? Some guy on YouTube with a following, who likes to give his opinionated opinions on games and the game industry.

Apparently, “Annoyed Gamer,” aka Marcus Beer, had gone off on Phil Fish and Jonathan Blow on an episode of Game Trailers’ Invisible Walls for not wanting to give a reaction to a recent Microsoft announcement that the XBox One would allow developers to use a commercial XBox One as a development unit — no need for a special developer’s version of the console.

My opinion on this is that Annoyed Gamer is entitled to his opinion, but is wrong to call out Phil Fish and Jonathan Blow for not giving comments on demand. If the media covering the game industry seeks an opinion on an industry development and asks someone who’s a big name in the industry says “No comment,” THAT IS THEIR STATEMENT. Sure, you can be an asshole and continue to press the issue until you annoy your interview subject and provoke them into blowing up at you, but when you do that, YOU are the asshole, not them. Being an indie gamer is stressful enough without having to deal with goddamn papparazzi who won’t take no for an answer. “You have to suck it up and talk to the press whenever we want, about whatever we want, because it’s an honor for us to want to talk to you,” is simply arrogant. Calling people names because they don’t want to answer your question is bullshit.

Yes, game developers have something to gain from media coverage, and many of us need it in order to promote and market their projects. No one has to give an interview if they don’t want to, or answer a specific question if they don’t want to.

At the end of the day, Jonathan Blow and Phil Fish give us games. That’s more than enough.

Marcus Beer, and his ilk, on the other hand, give us opinions and information. This is also valuable, but it’s information and opinions about the games that developers make. We can come up with these on our own, easily, although there are a few who are unique voices well worth listening to, and I’m glad they’re out there contributing to the conversation.

Without the developers developing, there’s nothing to talk about. We might need each other, but one of us comes before the other.

It’s certainly possible to gain a name, a following, and influence in the industry — whether you’re a dev or a reporter. There are powerful people on either side of the symbiotic relationship. But however much influence you might have, you can’t always get your way. Ultimately, the media coverage exists because the game industry exists. Everyone should be entitled to respect and basic decency, especially people who have given us a celebrated magnum opus like Fez or Braid.

The industry is bigger than any one person, and there will be no shortage of good games to fill the void that Fish will leave behind him. But it’s still something that shouldn’t have happened, and because it did, we all lose out on the games Fish might have created. I don’t mean to defend his personality or the way he handles being in the spotlight, but frankly, to the vast majority of us who don’t know him personally, those things are secondary to his works, and aren’t really of concern to me as a gamer. Leave him alone and let him make games, the gamer in me says. I don’t care what he says in an interview, or if he gives an interview. I want to interact with his creations, not him.

In deference to those who do know Fish and care about him as a person, and to the man himself, he deserves to be given his space and the right to be left alone. With some exceptions, journalists should respect a person’s wishes to be engaged with on terms of their choosing. Game development, particularly as a solo dev or small team, is incredibly stressful, demanding, and difficult. Everyone needs to recognize that, and acknowledge the sacrifices and dedication that are required of game developers, and give them the respect that they deserve.

Pretentious Game 3 proves that narrative matters in games

Tonight I played through a short, but very memorable and thoughtful puzzle platformer, self-deprecatingly entitled, Pretentious Game 3. I have yet to play the first two installments, but shall seek them out forthwith.

What would otherwise be a fairly challenging but mostly nondescript puzzle platformer is elevated to a touching experience though the thoughtful application of narrative and a simple, but emotive piano piece.

The game’s simple mechanics and puzzles are made memorable by the narrative bits, which make literal the metaphors in the prose, imparting greater meaning to both. The simple geometric graphics, with their absolutely abstract nature, invite the player to impart their own life experiences into the game, reliving key moments in your own life, mapping them onto the episode presented in each level.

This is ingenious minimalism, with the beauty of a black and white silent short arthouse film. The effect is magical.

Bad timing

Yesterday, my laptop’s Lenovo system health software warned me that my hard drive had failed a test back in late June, and that I should replace the hard drive “as soon as possible.” Why I didn’t see this notification back in late June, I’d sure like to know.

I have a spare drive laying around, an SSD, which I would like to move my files to, only it seems I can’t do it. I am trying to use a tool from Paragon Software called Migrate OS to SSD 3.0, which I got for free through a Giveaway of the Day special some time ago.

Now that I’m trying to work with it, it seems that the file migration doesn’t result in a bootable volume. Something is wrong with the boot manager, apparently. Paragon’s documentation recommends running a WinPE tool to build a WinPE USB drive, which can repair problems. But due to a change in the way Microsoft licenses the tools that their WinPE builder puts on disk, they no longer offer the tool. Supposedly they have replaced it with something else called Boot Media Builder, but as far as I can tell it’s not available on their web site either, although they have a download page where you can download a PDF of the manual.

This has taken 12+ hours and counting, and I’m still not out of the woods. I have a few more options to try, but it’s getting frustrating, and wasted a huge chunk of my dev time for the Summer Jam project, so I’m not too happy right now.

Epilogue:

I’m now running on a Crucial M4 256GB SSD, and successfully migrated the OS on my old, failing HDD over to the new SSD. Paragon Migrate OS to SSD utility worked, except for the crucial bit where it sets up the volume as a bootable system partition. Why it does this, I don’t know exactly, because it’s damn inconvenient of it not to do that. But it might have to do with the way Microsoft licenses their Windows PE technologies.

I previously had Ubuntu Linux installed on the SSD, and ran it for a while, and then found that I could not boot it from the ultrabay adapter for some reason, so pulled it out and continued to run Windows from the main hard drive bay. As a result, I got a clue from the first attempt when I put the SSD in to the main bay to boot from it, and got a grub prompt telling me that it couldn’t boot anything. That told me enough to know that the Windows 7 boot loader wasn’t present, and it was still using the Linux grub utility to try to boot the system, which, of course, wouldn’t work. I eventually fixed the problem by using my Windows 7 installation disc to install Windows to the SSD, and then re-migrating the OS from the old drive to the SSD, which now had the Win7 boot loader on it, and then was able to boot as expected.

I’m very happy with the performance of the system now that it’s on a SSD. Chrome launches instantaneously, and everything is much snappier than previously. I’m not sure how much of that to attribute to the hard drive being a hard drive, and how much of it to attribute to it being a failing hard drive, but full or failing hard disks definitely hurt performance in Windows. No longer having 10-30 second delays to launch apps is kindof exciting.

Unfortunately, I lost the entire day to this, and now have pretty much given up hope of finishing my game for the Cleveland Game Devs Summer Jam. After being sick and missing Global Game Jam 2013, and then basically blowing off Ludum Dare 26, I’ve lost 3 good opportunities to make a new game. :-/

Cleveland Game Developers Summer Jam 2013

Cleveland Game Developers Summer Jam 2013 is underway!

Theme.announce() {return “The Butterfly Effect.”;}

I’ll be posting builds in progress at https://csanyk.com/cs/releases/games/SummerJam2013/web

Haven’t really thought of anything yet.
I’ve started an idea, not sure where I’m going with it yet.

Ninja Baseball Batman: OMG BEST GAME EVER

I was at a local bar called B-Side, which recently installed an arcade full of classic videogames and pinball tables. They have the first Pinball2000 game, Revenge From Mars, and a Star Wars pinball table. They have a good selection of arcade classics from the 80’s and 90’s, from Galaga, Defender and Centipede to Contra and NBA Jam.

But I was absolutely blown away by a game called Ninja Baseball Batman, which I’d never even heard of before. An Irem-produced side-scrolling beat-em-up from the 1990’s, themed with what can only be described as Japanese wackiness taken about as far as it goes. You play a member from a 4-person team of superhero robot ninja baseball players, each with their own statistics and special moves. This game is so chock full of WTF, you initially go “what the heck IS this??!?” but pretty much right away you get into it and go with it. You fight a menagerie of odd robots and monsters made out of junk, vaguely reminiscent of mega man enemies, but (mostly) baseball themed, with some casino-themed monsters and some halloween-themed robots. Nothing makes any sense at all, but that’s the point. Just go with it and have fun. There’s even living hamburger monsters that you can eat for a life bonus after you defeat them. I can’t even describe this game, you have to see it. Fortunately, there’s YouTube:

The gameplay is absolutely fantastic. I beat the entire game on $2.75 — I don’t know if it has an easy mode, but it felt pretty easy, but it was so fun. The game is generous, not a quarter-sucker, takes no cheap shots, and is a pure joy to play. The movesets for each player are extensive, and I couldn’t get over how fluid the fighting system was. It felt similar to the Konami beat-em-up Ninja Turtle and Simpsons Arcade games, but with unmarketable characters with no built-in audience. But it was so incredibly surreal and awesome, I couldn’t help but fall immediately and utterly in love with it.

Having done so, I must evangelize it. It is worth hunting down and playing. Go do so. Now.

Here’s a bonus Angry Video Game Nerd review:

I agree COMPLETELY with every word he says in this video.

Apparently only 43 arcade cabinets were ever imported to North America, making this game ultra-rare. I feel incredibly fortunate to have found this at B-Side.

3 Upcoming Ohio Tech Events You Should Put On Your Calendar

July has turned into my regretful month of not being able to participate in all the things.

Cleveland GiveCamp 2013

July 19-21, 2013. Register to volunteer. Spend a weekend helping out a local nonprofit with a small IT project, to be completed in a weekend. Hosted by Lean Dog.

I did GiveCamp 2011 and had a very good experience. I would be going this year, but for my involvement with the Cleveland Game Developers Summer Jam.

Cleveland Game Developers Summer Jam

In the tradition of Global Game Jam, Cleveland Game Developers is putting on our first self-sponsored weekend game jam. July 19-21, 2013. Tickets are available through EventBrite. Hosted by Shaker LaunchHouse.

PyOhio

July 27-28, 2013, at the Ohio Union in Columbus, Ohio. If you’re a Python developer, or interested in becoming one, this is a good conference to check out.

And, coming up in the near future…

Ohio Game Dev Expo

This one won’t be until September 14, also at the Ohio Union, Columbus, Ohio. I haven’t been to this one before, but am looking forward to checking it out. It appears that we’re starting to establish a strong community of game developers in the state. It looks like there is likely to be a pretty large Cleveland presence at this one, but I’m excited to get to meet other game developers in the region.

GameMaker Studio: YYC beta promises performance boosts

A few days ago, YoYoGames released some new features in the beta channel that will be a part of GameMaker Studio 1.2. I took a few minutes today to test out the new YoYoCompiler.

I tried rebuilding my Radar demo project with the YYC, and found that I was able to get up to 8000 objects with it still running at ~30fps on my workhorse Lenovo Thinkpad T61p, 2GHz Core2 Duo, 8GB RAM, purchased in 2007. When I tried to run 40,000 objects in my radar demo, fps dropped to around 6-7. Presumably on a modern Core i7 CPU, one would expect to achieve much greater performance than this.

Using the old compiler, on this same hardware I was getting about 27-28 fps with just 4000 objects in my Radar demo, so it looks like the new compiler is giving about a 200% performance boost for this project. Not bad!

Of course the exact improvement depends greatly on the implementation details of a specific project.

Ouya Support: needs improvement

A few weeks ago, my kickstarter Ouya console arrived at my house. I was excited. Since every console is also a dev kit, I wanted to set it up and see if I could build a simple game for it.

I went to the website and tried to download the SDK, but found that I couldn’t. When I clicked the link, I got served an error message.

I sent an email to Ouya support to notify them about the problem, and received an auto response immediately, thanking me for contacting them.

The next day I figured out that I could get the download link to work, by trimming some unnecessary information from the url.

Weeks passed, and I forgot all about the email I had sent them. Today, almost 2 months later, I got a follow-up message. This time, it was a generic response, written like a form letter, advising me to go read an FAQ that might answer my question. Nowhere in the response was there any indication that a human had been involved at any point in reading my email, or generating the responses.

Obviously, I am disappointed by the experience. On the bright side, I figured it out for myself, and it didn’t cost anything. On the negative side, I got the impression that Ouya support is inadequate.

I imagine that they just don’t have the resources to provide higher quality free support for developers at present, and are overwhelmed by their success. This is somewhat to be expected, so I am understanding, but I do hope to see improvement from them in time. Developer support is, obviously, going to be crucial to the success of this fledgling new platform, and I do want to see it succeed and fulfill the potential that I saw in the ideas that they outlined in the original kickstarter pitch video.