NES enters the HDTV era

Old school console gamers appear to be on the cusp of a renaissance as new options for bringing the NES to modern TV in glorious high definition resolutions keep coming out.

I haven’t seen any of these in person, and only one of them is available now, but here’s my impression based on what’s been published about them so far:

AVS by RetroUSB

$185. Pre-order now, shipping mid-Sept 2016.

On paper this looks to be the best of the bunch. This is a real-hardware console, incorporating a NES and a Famicom cartridge slot, built-in 4Score (4 controller ports), power supplied by USB cable, and does HDMI output in 720p. This is pretty much everything you’d want in a NES, all in one package.

It remains to be seen whether RetroUSB will deliver on time, and what the quality of the hardware will be, but this could be the way to go if quality is good. They are an established company and have been producing controllers, adapters, and homebrew carts for NES and other old school consoles for years, so they do have a track record of doing quality work.

Hi-Def NES by game-tech.us

$120+ depending on options. Shipping now.

This is a DIY kit (professional installations available through various 3rd parties for around $85) for original NES (both the front and top loader). You do surgery on your NES and add a daughterboard that gives you HDMI-out.

Designed and engineered by well-known console hacker Kevtris, the Hi-Def NES appears to be a very well done mod, yielding a high quality 1080p image without the lag associated with running a NES through upscalers, and provides many options in firmware to tweak the output to taste, including aspect ratio, scan line, and interlacing adjustments, to ensure you can get your picture just right.

The mod is fairly involved to install, so paying a professional to do it right is probably worthwhile, but going this route makes it a little more expensive than the AVS. As well, the mod doesn’t do anything about adapting Famicom games to play on it, although you can just get an adapter or run Famicom and PAL games through a flashcart, and if you’re a serious enough retro gamer to go for this mod, these are probably already in your arsenal.

Best of all, it’s available now. Game-tech does other mods and repairs of old consoles, although right now they’re focusing exclusively on selling Hi-Def NES, and from watching their youtube channel it’s apparent that they know what they’re doing, have a lot of experience, and really care about old school gaming.

NES Classic by Nintendo

$59.99. Available 11/11/16.

This is an official Nintendo product. It comes preloaded with 30 titles, all of which are worthwhile games, but does not have a cartridge slot, and does not have a way to connect to the internet to download any other games, which are serious downsides for many. It does have HDMI output, and allows you to save your games, which is a new feature unavailable from the original hardware.

It’s considerably cheaper than either the AVS and Hi-Def NES modkit, making it an attractive option to gamers who have never owned a NES and don’t already have a library of cartridges to play. Given the cost in the collector’s market of the top titles on NES in their original format , acquiring such a catalog today starting from nothing would be a very expensive prospect compared to just buying this.

While I don’t expect that this option will hold as much appeal for gamers who still have their collections, it should have some appeal to a broader market.

The csanyk.itch.io store

My itch.io store, csanyk.itch.io, is now live.

Currently, I’m offering a 33% sale for my paid assets, through 8/31/16.

Get the csanyk introductory bundle

GameMaker: Marketplace vs. itch.io: comparison

After two years of selling assets on the GameMaker: Marketplace, still in public beta after all this time, I am less than impressed with the experience.

Development of the marketplace website, as well as the integrated features in the GameMaker: Studio IDE, have not been forthcoming. Initially the news of the Marketplace excited me, and it seemed that the future of GameMaker was bright and full of promise. But two years later and almost nothing has changed with the way the Marketplace works — and it works poorly, I’m afraid.

Plagued by a terrible bug which causes the IDE’s My Library interface to become unbearably slow to load when a large number of assets are purchased from the marketplace, sales have ground to a halt. Worse, it seems that no one is interested in spending any money in the Marketplace.

In over two years of selling assets at the Marketplace, I have grossed just slightly over $100 in sales, lifetime, of which YYG take a 30% cut, leaving me well under the $100 minimum in order for them to release any proceeds to my account. I’m currently seeing “sales” of my free assets at a rate of 2-5/day, and maybe once a month or so I’ll see a sale of one of my paid assets.

I’m not advertising aggressively, and there are certainly marketplace sellers who are doing better than I am, with more impresive wares than I’ve produced, but I don’t think that quality doesn’t seem to be the problem; I have a number of free assets, and they’ve done comparatively well, with several hundred downloads to date each. The paid assets, on the other hand, have sold in the single or low double digits.

GameMaker has had a long history of being an inexpensive software intended for use primarily by students, and these users as well as hobbyists have howled over the price increases to the main product; even when GM8.x went from $25 to $40, there was much complaining. The lesson seems to be, “Don’t expect to ever make any money from such tightwads.”

Mind you, I don’t think I’m entitled to sales, but it is certainly frustrating to put effort into something for such meager reward, and it’s demoralizing to see how little effort YYG have put into improving the Markteplace experience since they went public with it.

Although YoYo Games have tried to transition into a more professional tool by adding numerous features over the past 6 years, it seems that lately development has stagnated. No one really knows when the long-awaited, so-called “GM:Next” (aka 2.0, currently in non-public beta) will be out. No one’s really talking about what’s going on behind the scenes, and with their roadmap no longer available, it’s been extremely frustrating to wait for months and months with only the occasional minor bugfix patches for 1.4 being released.

I finally decided to check out alternative marketplaces, and have been very favorably impressed with itch.io. Itch.io is easy to sign up for and use, and much more flexible than the YoYo Marketplace. The only downside being that you can’t integrate itch.io assets with My Library (although, with it’s current buggy and awful performance, it’s not much of a loss) but at least My Library notifies you when updates are available for assets you own.

Itch.io allows me to set prices to whatever I want, or whatever the buyer wants, create bundles of assets for sales, and schedule these sales to start and end at defined times. None of these features are to be found in the YoYo Marketplace. Itch.io seems to be more for finished games, but there are also assets for game developers, and other types of things for sale, such as digital books and music. Best of all, itch.io only takes 10% of your gross sales (and they allow you to change that figure if you wish). The diversity of the itch.io store means of course that only a fraction of shoppers there will have any interest in GameMaker extensions, which may prove to be a downside. As well, their store is populated by thousands of great games and other high quality goods, many of them offered for free, so while the barrier to entry is technically low, the expectations of the customers of this marketplace may be high.

Itch.io’s analytics also provide me with better information than YYG. With YoYoGames, they consider you, the publisher, to be a “third party” to sales through their store, and therefore they do not share your customer’s personally identifiable information with you, so you can’t contact your customers. Itch provides the email address, so you can engage your customers, for example notifying them when an update is released, or when a new product is available.

In all, they’re basically eating YoYoGames’ lunch in terms of e-commerce user experience, both as a publisher/seller and as a customer. YYG really need to get it together and catch up with the competition, and soon.

YoYoGames: “No roadmap for GM:S. Our Hands Are Tied!”

For a long time, YoYoGames used to publish a roadmap, showing their plan for the future of GameMaker: Studio. Interested parties could look and see what new features were in the works.

Since PlayTech took them over, they’ve taken this information offline.

In a recent Forum conversation, YoYoGames employees Shaun Spalding and Mike Dailly explained that while they wish they could communicate the future of the product, their hands are tied, and when they can talk about things like upcoming release dates and new features, they will.

This is very disappointing to serious GameMaker Studio users. A roadmap is an important document for developers. Software development is all about maintainability. In order to write software that is maintainable, it’s important to know how the tools you are using will be changing over time. Knowing the future plans of the tools can help developers avoid wasting time using features that will be deprecated and removed in the future, or avoid wasting time writing their own implementation of a feature that is planned in an upcoming version. A roadmap also prevents the repeated asking of the same questions, “when is [X] coming out?” or “I suggest you implement [already planned feature].” A roadmap is part of the conversation that happens between a software developer and the users, and not having one harms both the company and its customers.

Most software engineering projects intended to be consumed by other developers have a roadmap. Other game engine developers such as Unity3D and Godot Engine have public roadmaps.

It is my hope that PlayTech will change their policies surrounding information of their products, and allow their employees to engage in open conversation about their products. In the meantime, concerned GameMaker users should speak out and make their voices heard.

Game review: A Dark Room

One of my readers recently contacted me to ask for some advice, and in the course of talking to them, they turned me on to A Dark Room, which is the first rogue-like game that I’ve really liked. (“Rogue-like” is a pretty broad and flexible term, and I’ve played a lot of games before that use a permadeath mechanic, procedurally-generated maps, and ASCII graphics, but despite recognizing that the genre is significant and influential, I’ve never found roguelikes to be my cup of tea.)

It takes a little time to get going, but once you get a glimpse of what’s going on, the game opens up and gives you more new stuff to explore and figure out, and this creates a compelling obsession to continue playing. Fortunately, it’s not a huge game, and has an ending, which I discovered a little before 4AM last night, or else I might still be playing it. You can beat the game in a single evening long playing session, so I wouldn’t call it a long game, but it took a few days for me to figure out all the things that I needed to know in order to get to that point.

There’s so much this game does right that I want to take some time to analyze its design in order to explain why it succeeds so well.

At first, the game is simple. There’s not much going on, and not much to do. You start out with nothing, and after a few clicks and reading some sparse narration, you’re introduced to a new mechanic, and begin building a village in the wilderness. There’s no graphics, just text, and all you do is develop an economy based on gathering wood and trapping for meat and fur. Despite this portion of the game consisting mainly of watching progress bars count down and various resources (hopefully go up, this part of the game had an addictive quality for me; I couldn’t stop myself from building and taking care of my villagers! If I did, the game would make something bad happen to them, and if I tended to them, they flourished. It kept me paying tight attention to ensure that they were safe, that the village was growing, and my stores of resources were increasing.

And then, just when I was starting to wonder if this was all the game had to offer, it opened up yet again, and revealed that I could leave the relative safety of the village and explore a larger world. Suddenly, all the resources my village had been producing had a purpose: to outfit me so I could go explore and adventure. I went out and died a bunch of times, which set me back, but not terribly, and eventually I figured out how to survive most encounters, although if I strayed too far from home, I would encounter enemies I couldn’t defeat, or would run out of food or water.

The overworld map is graphical, but it is rendered in ASCII, but unlike a lot of other ASCII graphic games I found it intuitive and easy to read. Various types of passable terrain are rendered in a light grey text, while points of interest are rendered in black, which helps considerably. You’re a rogue-standard @ symbol, which is easy to remember because that’s where you’re “at”. Other points of interest are represented by easy to remember symbols: V is a caVe, O is a suburb (Outskirts of a larger citY? Y = city.) H is a house, and so on. As you play you are introduced to these symbols gradually, so they are not difficult to learn, and reading the map is easy and intuitive after a short learning curve.

It took me a few excursions to figure out how to survive and make it back t my home villAge. So at first I didn’t realize that by prevailing in a string of encounters, you could clear out a caVe or Outskirts or citY, and turn it into a Pacified wayPoint where you can heal and resupply. Creating a waypoint also creates a path where you can travel safely — you won’t encounter random enemies on a path, and walking on the path consumes less water and food, which allows you to go further.

I also figured out that I could clear out mines and start mining new types of resources, which took me back to the village to juggle my economy and craft more new gear, so I could go out and adventure a bit less fearfully. It was a pleasing cycle. Once I discovered the secret of steelworking, I got to a point where I was pretty confident that I could survive in the wilds, so long as I was cautious and kept a close eye on my vital stats. I found a few more types of resource, which seemed mysterious, and made me wonder what else was out there to be discovered.

Eventually, I made a discovery that put me into the endgame. I won’t spoil it for you, but at that point I felt like I’d accomplished my purpose, and was able to put the game down.

Along the way, I created this spreadsheet to help me plan the village economics and make sure I wasn’t running a deficit on any of the vital resources I needed to make progress and survive. I’ll be direct and say that at least 90% of the enjoyment you will get from the game is through figuring this out on your own, but keeping notes to stay organized once the village economy gets to a certain size and complexity is, perhaps not quite a must, but definitely very helpful. I haven’t given it all away, there’s still a few secrets waiting to be discovered. But if you want spoilers on how to manage your village, the spreadsheet will get you through that phase of the game handily.

A Dark Room Wiki is a guide dedicated to the game, but I didn’t discover it until after I’d beaten the game. It’s also available as a mobile app game on iOS and Android.

GameMaker Marketplace Asset: PNG_2_room

PNG_2_room is a simple, easy to modify demo for how to populate a room with instances according to a color coded image file.

Each pixel in the source image can be color coded to correspond to an object or tile in your game. Use the script room_instance_add_from_png() to populate a room with instances using the image as a key.

For example, this PNG image:

rm_test

…was used to generate this room:room

You can modify the script to use whatever colors you wish to represent whatever objects or tiles in your project.

With this script, instead of using the built-in room editor, now you can use any image editor to create maps for your game more quickly!

You can even allow players of your games to create their own custom maps for your game, using whatever image editor they choose as a resource editor for your game!

A simple demo included in the asset shows how to use the script.

Full documentation at: https://goo.gl/z3du5f

Purchase at the GameMaker: Marketplace.

New GameMaker Community Forums now live (finally!)

Following up on my earlier posts on this subject, after long delays, the new GameMaker Community Forums is now live. The archive of the old GMC forums is still at its old url. YoYo Games are offering a 10% discount coupon as a token of appreciation to users who’ve put up with the lengthy downtime as the old forums were transitioned and the new forums took unexpectedly long to bring online. It’s good to have writable forums once again.

 

Why arguing about Link’s gender is dumb, and why it’s important

So there is a new Legend of Zelda game coming out, as there always is. Nintendo have shown it at E3, and fans have been speculating about it endlessly in anticipation, as they always do. I guess somewhere or other, people glommed on to a rumor that Link might be a girl in this next incarnation.

Nintendo shot down that rumor with some spurious logic about balancing the triforce, which apparently becomes unbalanced if it goes from 2/3 male to 2/3 female. See, in the original Legend of Zelda, a Triforce was a golden triangle made out of 8 pieces of smaller triangles, and there were three of them: a triforce of wisdom, a triforce of power, and uh I forget let me look it up, oh yes a triforce of Courage. These triforces brought “balance” to the world, and whenever the balance gets out of whack, Link (using the Triforce of Courage) has an adventure to restore balance and peace to the world.

Later, I guess, these triforces became identified with the major characters in the Zelda world: Link, Zelda, and Gannon. And because these characters have gender, and because a 2M:1F gender ratio is apparently “balanced”, you can’t make Link a girl. Because apparently there’s no way to restore that imbalance through adventuring, or rewrite Zelda to be a dude, or whatever. It would just ruin Zelda as we know it, according to Nintendo. This, despite the fact that Link takes on a wide variety of identities in many of (immutably) his adventures.

Link can be anything you can possibly imagine... except a girl.

Link can be anything you can possibly imagine… except a girl.

My point in writing this is not to slam Nintendo for their decision to keep Link male, but to point out that Link is Nintendo’s property, and they can manage their property however they want to. They don’t have to make up dumb excuses (and they are dumb) why Link has to be male. They don’t owe fans a female Link. If they decided to offer a female incarnation of Link, there’s nothing wrong with that, either. But Nintendo created and own the Legend of Zelda world, and they’re the ones who get to decide how it works.

Except…

We get to play in that world. As it unfolds for us, we take part in the creation, and so each of us owns a small piece of it. We are invited to become Link — as is the common convention with nearly every videogame ever made: you are the protagonist.

And, it turns out, about half of us are girls.

So, regardless of what the instruction manual says, or what the pixels look like, or what Nintendo wants, about half of all Links are girls.

For some girls, they may think of Link as a boy, and so they’re playing “in drag” while they use Link as their avatar, in much the same way that, in Shakespearean times, men played the women roles too, since real women weren’t allowed to be actors back then.

Some girls playing as Link may think of Link as a girl. That’s fine. Maybe Link’s a tomboy. Or maybe she’s disguised as a boy, because Hyrule doesn’t accept that women can be action adventure heroes. Or maybe some other thing.

Who cares? If someone wants to play the game and use it with their imagination that way, who are we to tell anyone that they’re wrong? That’s the experience they had, playing their game. There’s nothing official about it of course, but that doesn’t matter.

The thing with videogame characters is, we inhabit them for the duration we play the game. It’s like putting on a costume and playing a role. Each actor brings something different to a role.

But if we neglect this aspect of theatrical artifice, and consider the character of Link as a real person, who is a distinct individual, the character has its own identity. Its original incarnation as designed by the original creator seems to have some sort of magical hold on the character concept that defines it. Link is small. Link wears green. Link uses a sword and shield. Link explores the world and finds things. Link is heroic. Link is… male.

But every time a serial storyline has a new story written, or goes on a new adventure, the author of that story takes the opportunity to create new things. If there wasn’t anything new, there wouldn’t be much point to creating a new story. These new stories may be said to extend the existing body of canonical stories that have to agree in continuity. Or they may have an “alternate” reality, often thought of as subordinate in some sense, or subject to pre-existing continuity where possible, but existing in a loosely connected multiverse of worlds surrounding different incarnations of the characters. Sometimes serial stories are “rebooted” or “reinterpreted” by new authors who take aspects of the original work, and use them as raw materials for writing completely outside of the canonical milieu.

There’s some core conceptual things that we sense in the character that can’t be changed, and everything else is subject to the interpretation the author/publisher chooses to present, and the vestiges of the actor’s persona that a player brings for the time they inhabit the role. In cinema, characters like James Bond and Batman have been portrayed by different actors. On stage, over 4+ centuries, different actors have portrayed the characters of William Shakespeare in countless different interpretations. In comic books, different writers and artists crank out new stories in a world that has been worked on in some cases for 75+ years, while the characters never seem to age, despite the world around them always being contemporary to the time of publication. Sometimes these characters go through dramatic re-inventions or spin-offs.

People debate whether these things are good or not, but the world keeps on going.

What’s different about videogames is, we all inhabit the role of our videogame protagonists. This is different from Christian Bale inhabiting Batman for a while, and then handing it off to Ben Affleck, etc. Each of us who plays a Zelda game is Link, contemporaneously and privately. Link *is* a girl, in hundreds of thousands of living rooms, right now. And Link is a boy. Link is all things to all people.

And Link is Link, the published work offered on the market by Nintendo. We’re invited to play with him, and as him, and become him. Or her. But Nintendo gives us a set of traits and constraints to work with.

People just need to get over it and accept it, or ignore it and substitute their own reality. It literally doesn’t matter which you choose.

If the publishers want to reinvent the character or take it in some really different direction, it’s up to them to do so in a way that brings the bulk of the fanbase along, or to be willing to leave a chunk of the fans behind. Either way, it’s fine.

Just do a good job with it.

Classic videogame storage

If you’re a classic game collector, videogame storage is a constant challenge. After hunting for the better part of a year, I have found that Sterilite 32-quart/30L “Clear View Latch” containers are just about perfect for my needs. Measuring 23 5/8″ L x 16 3/8″ W x 6 1/2″ H, they seem to be an ideal size for Atari 2600/Colecovision/Intellivision and NES cartridges. I highly recommend these, and I hope that Sterilite won’t discontinue them any time soon. I bought several at Target recently for $6.29 each.

Product label for Sterilite 32-quart Clear View Latch container

It’s also a good size for carrying and moving — they are not too heavy when fully loaded, are sturdy enough not to bend when lifted, and the lid latches securely to the bin. The walls and corners are somewhat rounded, which is necessary for strength and rigidity with this type of plastic, but are straight enough that you don’t end up with a lot of wasted space or weird humps that prevent the games from lining up nicely into rows and columns.

One of the annoying problems of storing Atari 2600 games is the odd sizes certain third parties packaged their games in. M-network, Parker Bros., Imagic, and others, used non-standard sizes which will mess up any specialized solution that uses slots. This container is tall enough that this is not a problem for all but the “double ender” carts that are two games in one, elongated shell. This is great for me, because it means that I can finally store almost all of my games in alphabetical order by Title, without compromising by storing the oddball cartridges in another container.

About 80 NES games fit neatly in one bin.

NES games in four rows of twenty fit neatly in the bin

And about 102 Atari 2600/7800/Colecovision/Intellivision sized cartridges.
Atari games in 6 rows of 17, for a total of 102, fit efficiently in the bin

I need to buy more to box up the rest of my collection, but when I do I’ll post some more photos showing how they do with Atari 5200, SNES, and N64-sized cartridges.

Follow Up to GameMaker: Exodus

My earlier post airing my dissatisfaction with GameMaker since YoYoGames was acquired by PlayTech has been unexpectedly popular. Shortly after the post went live, prominent indie game developer and owner of the ersatz gamemakerblog website, TrueValhalla, retweeted the article, bringing a great deal of traffic to this site, and many other retweets, likes, and comments.

This evening, the article received some attention from Shaun Spalding, of YoYoGames, and I had a brief exchange with him on Twitter, although due to the time zone difference it was late for him and we weren’t able to go in depth. Shaun’s a recent hire at the company, and has been in charge of the community forums since joining. Previously, his YouTube channel has provided a great series of GML tutorials. He’s an all around good guy, and I have nothing against him personally. In fact, I’d like to be clear, I have nothing against any of the other prominent YYG personalities such as Mike Dailly or Russell Kay, or GMC forums administrator Mark “Nocturne” Alexander, or former YYG CEO Sandy Duncan. All of them have been friendly and accessible, and have always responded to questions, suggestions, and even the occasional complaint professionally. It’s great to have such accessible and visible people standing behind the product. I’m not looking to make enemies or get into a fight with anyone. I’m interested in frank dialog.

TrueValhalla characterized my post as detailing the “decline of GameMaker” since the PlayTech acquisition. I didn’t use those words myself, but it seems like a reasonable way to characterize my position, given the numerous disappointments and failings I had outlined in my post. I would say that my confidence in YoYo and in the future of GameMaker is at a low point. In my opinion, GameMaker hasn’t declined, exactly — it’s improved over what it was a year ago — but the rate of improvements has slowed noticeably over the last year. With the failed migration of the GMC Forums n the last couple months, I’m very concerned.

Absent insider knowledge of what’s going on, I am left to speculate that it’s due to the way PlayTech have managed them. A large part of the problem has been YYG’s failure at maintaining community relations to let concerned users know what’s going on with the product.

The minute the new GMC Forums release was late, or better still, the moment they knew it would be late, YYG should have communicated to the community to let them know what was going on, why, and what to expect, and when.

I’m not slamming YYG by saying this; I’m trying to help them by calling attention to problems, so that they can make improvements. My dissatisfaction with GameMaker doesn’t mean that I want to see GameMaker fail, or even that I don’t like GameMaker. Quite the contrary, I love it and want to see it thriving. But, the fact is, I don’t see GameMaker thriving right now, and I see numerous reasons for concern as I outlined in my previous post. There should be no controversy: a company must listen to its customers and be responsive to their needs.

But, given their track record over the last year since the PlayTech acquisition, I don’t have much hope for improvement. And so I’m looking at alternatives, and I’m currently very interested in the Godot engine, which seems to be delivering improvements with great velocity and doing all the right things to attract my attention as a developer. It’s good to have alternatives, and anyone who’s passionate about game development is constantly looking for better tools anyway. However good GameMaker is, they have to improve continuously in order to remain competitive in the marketplace. Slowing down or stagnating is death in this business climate. I really don’t want to see that happen.

Let’s look at Shaun’s responses in detail.

First, he responded by tweeting that he disagreed with “basically everything” in my post, but couldn’t articulate why in 140 char. So, ok. That’s fair. This blog post is an invitation for Shaun or anyone else at YoYo or PlayTech to respond in depth to my points.

Next, he tweeted a link to reddit, where on May 26 he responded to someone asking about why the new GMC Forums were so late. The explanation offered there is that PlayTech does gambling software, and so has much more stringent regulatory requirements for security, and because of these requirements, their IT security hasn’t cleared the new forum for release yet due to unforseen issues with the security of the new forums.

This is really sub-adequate, for at least four major reasons:

  1. This explanation happened on May 26 — the GMC forums went offline on April 8, with a promise to return in about two weeks, which would have been April 22. So this explanation is over a month late.
  2. The explanation is buried on a subreddit, not on the front page of yoyogames.com, or even on the front page of gmc.yoyogames.com, where it belongs.
  3. Someone had to ask what was going on. Didn’t it occur to anyone at YYG that the community would want to know what was going on with its forum, and that they should proactively communicate what’s been going on? YYG seem to have completely disregarded the importance of the community of active users who support their business.
  4. The explanation reveals that they weren’t prepared to perform the transition, and did not plan adequately. Good IT practice says that:
    • There should have been a rollback plan in case the deployment couldn’t happen as planned.
    • The gap between the old forum going readonly to the new forum going live should have been minimal. Even the planned two weeks of no GMC forum was far from optimal. There really isn’t any good reason why the old forums should have gone readonly until after the new forum was up and running.
    • You should understand your security posture and ensure requirements are met before you start deploying a new system. During deployment is not the time to start testing the security of your new system!

It sounds like YYG went about the transition thinking that it wouldn’t be a big deal to make changes live on the production server, and midway through PlayTech caught wind of what was going on, at which point their IT Security department said, “Hold up, just what are you doing? Oh, hell no.” And since then, they’ve been stuck trying to comply with whatever PlayTech IT Security’s requirements are. And this has been going on for two months now, with no announcement or explanation in the most obvious place to make announcements, and no end in sight, and no rollback. GMC forum users are without a forum that they can post discussion on.

There’s no way you can convince me that “it’s all for the best” or “this was the way it had to be” or “this was the best we could do under the circumstances.” It’s a disaster born of mismanagement, poor planning, and poor communication. It harms the community of customers, and it harms YoYo’s reputation.

I highly, highly doubt that since the PlayTech acquisition that the YoYoGames web servers were integrated into PlayTech’s infrastructure in such a way that a security compromise in the GMC would have any impact to PlayTech’s compliance with any gambling regulatory concerns.

Absolutely, YYG should be implementing a secure web forum to replace the old GMC. But they should have had an acceptably secure solution ready before they went to deploy it.

You can bet if the GMC forums were directly generating revenue for YYG, this would never have been allowed to happen. But YYG seem oblivious to the fact that the community of GameMaker users is the lifeblood of their company, and that trust in YYG is essential. Users do not become customers without faith in the vendor.

Next, in response to my question of why YYG haven’t fixed the performance issues in My Library for over a year, Shaun’s response was that they have a small team and struggle with prioritizing fixing existing stuff and delivering new stuff.

I don’t doubt that. However, nothing about that admission inspires confidence. It generates a little sympathy, perhaps, but I can’t build video games with sympathy.

Here’s what’s wrong with Shaun’s response:

  1. Having been acquired by a larger company, YYG should have resources to hire additional staff to get to these tasks.
  2. YYG project managers need to assess the capability of their team and release only what they can maintain.
  3. The Marketplace is a major new feature. Releasing a beta, and then not continuing to develop it is not the right way to do a beta. Beta releases should be actively developed, and given priority. The purpose of doing a beta release is to allow the users an opportunity to use the solution, and provide feedback that can be used to improve it prior to the official release. Failing to act on feedback about the beta defeats the entire purpose of releasing it. Labeling something “beta” is not an excuse for poor quality.
  4. The workaround solution offered by YYG limits the number of assets a user can effectively own. Any defect that limits or discourages users from purchasing assets in the Marketplace should be considered a critical bug and given top priority. The whole purpose of the Marketplace is to generate sales of the assets sold there.  Anything that discourages or limits the number of assets a user of the Marketplace can own is a top priority problem. Imagine if Amazon had a bug whereby every time you buy something from them, it makes the amazon user experience slow down, eventually preventing people from using anything they bought from them. What priority do you think Amazon would give to fixing that problem? Do you think the fix would be to advise customers to not buy so many things that it hurts performance, where “so many” is a number that can be represented in 7 bits?
  5. The performance problem of My Library is embarrassing. YYG should prioritize fixing it out of pride. Or shame. Either way. There’s no way a computer built after 1977 should have a problem managing a list of 100 items! Even an Apple ][ should be able to generate the list in under a second. Whatever is wrong with the code in My Library that causes this performance degradation, it is very, very wrong. No matter how bad Delphi is, surely it was always capable of managing a list of 100 items in a few milliseconds. It shouldn’t take a 2.0 GHz Core 2 Duo with 8 GB of RAM 11 minutes to populate the list! It shouldn’t take another 11 minutes each and every time the list needs to be refreshed!
  6. If your team is hard pressed to balance fixing current issues vs. building future solutions, your team needs to stop working on building future solutions immediately, and start fixing problems until you’re free enough of technical debt that you can advance while maintaining what you’ve released. Ideally, fixing problems can be accomplished by releasing the future solution. Get off the Delphi codebase and work on releasing a clean, maintainable rewrite. But don’t introduce more new features that you can’t support until you’ve gotten a handle on supporting what you’ve already released. If Delphi makes development difficult, stop using it.

My conversation with Shaun ended before we could get very deep into these points, so I don’t mean to bury him before he’s had a chance to address things, and I hope to hear more from him or others at YYG about how they intend to address these problems. But the response that I’ve seen so far haven’t been what I’d hope to hear, and do not inspire confidence.

I sincerely hope that YYG can turn things around and give its customers the GameMaker they deserve. But how they can accomplish this, given what they’ve shown lately, I don’t know. Getting the new GMC Forums up and running as soon as possible has got to be a top priority for them. Addressing the performance problems with My Library for “large” manifests has got to be a top priority for them. Releasing GM:S 1.5 or GM:Next, and getting off of the Delphi codebase that has given them so much technical debt has got to be a top priority for them. YYG need to understand what’s important to their users, and act to deliver the most important things. They used to do pretty good at this, prior to being bought by PlayTech. They need to get back to that, right away.