Topology of Metropolis in Superman (Atari 2600)

One of my favorite games on the Atari 2600 is Superman (1979), designed by John Dunn, and based on the program code from Adventure by Warren Robinett. This game has stayed with me to this day as one of my favorite games. I started playing it again recently, and began thinking about the different aspects of it that make it such an enjoyable game to play again, even 35 years after its release.

While it might appear to be a very basic game to a modern eye, in its day Superman had many innovative features. I won’t give it a full review here, but the one that I find most interesting is the game map. The world of Superman is much larger than most contemporary games of the era, most of which took place on a single, non-scrolling screen. The way the Superman’s map is laid out is confusing and non-intuitive, making the game very difficult for a new player, but once you start to gain a sense of how the different screens that make up the city are variously interconnected, it becomes possible to navigate very quickly through a number of methods which can be memorized with some effort and repetition. First-time players can take 15, even 30 minutes and up to win, while an experienced player who is familiar with navigation can often beat the game in under 2 minutes.

(more…)

Great Artists Steal (and so do shitty companies)

Last week I became aware of a controversy surrounding King.com Ltd, makers of Candy Crush Saga and other games, and an independent developer, Matthew Cox, aka JunkYardSam, his game Scamperghost, and a blatant ripoff called Pac Avoid, which King has since pulled from the market.

King’s actions with regard to this situation are particularly distressing. According to JunkYardSam’s version of the story, he had been in negotiations with King about licensing his game, and after another company (MaxGames) offered him better terms, he broke off negotiations with King, at which point King approached a third-party developer, Matt Porter (who appears to have been innocently manipulated by King), to commission a blatant ripoff of the game and attempted to bring it to market before JunkYardSam’s game was released.

I’d never heard of Scamperghost until this story broke, and I still have not played it, nor have I played Pac Avoid (and I guess it’s likely I never will). In the wake of JunkYardSam’s revelatory blog post about what went down, the blogosphere and twitterverse exploded, and enough has been said about the specific incident that I can’t hope to add anything of value at this point.

It’s obvious that King know how to market popular, addictive games with polish, as the success of Candy Crush Saga demonstrates. It’s also obvious that King doesn’t concern itself with making original games. Candy Crush Saga is the umpteenth variation in the match-3 genre, a ripoff of PopCap Games’s mega-successful Bejeweled series, which started in 2001, and was itself not an original concept, having been inspired by a 1988 game called Shariki, and directly descends from games like Shariki (1988), Columns (1999) and Dr. Mario (1990).  Zoo Keeper (2003) is another notable title in the genre.. The match-3 genre is a sub-genre of the “falling block” genre, which was created by the 1984 classic Tetris, which itself has a famous history of its creator Alexey Pajitnov’s original creation being stolen and sold by various corporations without compensation.

I’m not going to rag on King too much, because even their business model of ripping off other game designs isn’t original. Everyone knows they were in the wrong, they know it themselves, and their lame open letter on their approach to IP really doesn’t read to me like an apology at all. Although they admit that they were wrong to produce Pac-Avoid, taking it down doesn’t go far enough — rather than take it down, they should have left Pac-Avoid up, provided a link to the real Scamperghost game, and promised to provide JunkYardSam with all the profits the game had ever earned. That would have served them right. I’d like to think that if JunkYardSam could afford a good enough lawyer, that’s exactly what he’d be entitled to. And attempting to trademark common words like “Candy” and “Saga” would stop happening. And King would not infringe on Namco’s Pac Man trademark by creating a ripoff game called Pac-Avoid. If I read their Open Letter right, King hasn’t quite understood their position in the market, doesn’t value originality in terms of crediting and compensating its sources, and is just another money-grubbing corporation. They clearly have the resources to create solid, fun-to-play games; they just choose to do so based on established successes and other people’s ideas that they wish they’d thought up, but didn’t. And that means that they can make enough money to pay rent and salary, perhaps, and not expose themselves to risk by developing truly original products or innovating.

Meanwhile those who do strive to innovate and create original games often struggle in the market, only to watch established “me too” shops like King who know how to polish an idea and bring it to market effectively take home all the bread. It’s an efficient business model. Why pay full time developers, when they can buy ready-to-market games that look promising from starving people who make games, for far less than a full time salary would cost? Or when they can’t, just commission someone else to make a knockoff of the game for you.

Update: Apparently, King also ripped off another game, CandySwipe, which came out a full 2 years before Candy Crush Saga.

Enough said about King.com, Ltd.

I thought it would be a good idea to talk about creativity, freedom, ownership, and standing on the shoulders of giants. Because, like it or not, creativity and success depends on being able to use ideas that someone else came up with.

Here’s some terms we should all be familiar with:

Rip Off

A rip off happens when a creator’s work is appropriated and exploited by another without compensation, usually by imitation, occasionally through unscrupulous contracts or outright theft of IP.

Clone

Clones are games which blatantly copy the play mechanics of another game, while adding no or almost no. What changes there are are often negligible cosmetic differences only. Often the graphics are made nearly identical as well, but not always.

Counterfeit

A counterfeit is an exact clone, attempting to be passed off as an authentic copy of the original game. The player thinks they are playing the real game, but they aren’t, and any revenue generated by it never reaches the creator. The counterfeiter deliberately deceives the player into thinking that they are the author.

Homage

An homage may be a fan game, using the graphics and game engine to create an unofficial sequel, or it may be an original game which is strongly influenced by an earlier game. Homages almost by definition must happen long after the peak popularity of the original, and are a nostalgic look back at a forgotten style of game, and the best offer a re-examination and deeper exploration of the play mechanics and features that made the original successful, or in some cases explore unofficial/alternative storylines, or mashups with other games.

Extension

Some games are made to be extendable, while others are reverse engineered to be extendable by fans who have the necessary skills. Plenty of FPS games, and others, are open to modding, and invite enthusiasts to extend the game in some way, creating a community, or sometimes a small industry, around the title. Modding is a gift the developers give to the community that is created by the market around a game. And modders return the gift to the original developers by keeping interest in the original game alive. Most modded games require the original game to be purchased in order to make the modifications to it, so they help sales. Some extensions are the result of the game engine being officially licensed by a third party developer, who may make wholesale changes to the rest of the game, and sell it as a new title. Many mods are simple graphics and sound replacements, or new levels, enemies, or weapons. But sometimes mods result in an entirely new game.

Sequel

In game development, a sequel is when a creator re-uses its own IP. The resulting game may or may not be better than the original. Quite often, a game is first rushed to market in a “minimum viable product” state, and the sequel is the version that matches the full original concept, with features that were planned for the original but had to be dropped, or implements technologies that were not yet ripe during the development of the first title. Companies with a successful IP will ride it as long as they can, creating sequels and ports of a popular game to make it available to as many markets as they can.

Genre game

A genre game is considered “original” enough to stand on its own, even though it bears strong similarity to many other games that belong to its genre. Nearly always a genre is inspired by a wholly original game that was a big enough hit to establish the genre. As time goes onward, genres tend to become more refined, then more stale, and new genres become increasingly rare and unlikely. Occasionally a grenre is reinvigorated by an inspired new variation that puts a new spin on what for a while was though to be tired and played out. A genre-founding game is both original and nearly always close to perfect. Later games may exceed the genre founder in some or even many capacities, yet may not attain the aura of the founder, and tend to be judged on how well they are executed and how well they innovate new features. Genre games that simply offer more of the same must be well polished, or risk being derided as derivative, and a lot of genre games are sequels or earlier examples from the genre and may get by as much on expanding the world or plot as by improved graphics or innovative features and game play mechanics. But genre games are generally considered legitimate games (if they tend to bore critics after a while) as long as they are of a high quality and try to offer at least something new, even if it’s an experimental feature that doesn’t end up getting picked up by future examples in the genre, and represents a dead end in the family tree.

As well, there are many examples within a genre of clones, or simply uninspired “me too” games produced by lesser studios that aren’t as well designed or polished as the industry leaders, and do nothing as well as the original or the current leader, being cheaply made imitations put together by people of lesser talent and vision who don’t understand the game design elements that made the original great.

That said, there are certain ripoffs that have been equal or even superior to the original. For example, Grid Wars, a blatant clone of Geometry Wars, is an excellent game, if a slavish imitation of the original. Space Invaders spawned a galaxy of imitators, many of which were clones or unoriginal derivatives, but it also spawned the entire shooter genre, and even games like Galaxian which was a very popular game in its own right, might be considered a knockoff.

Conclusions

In short, there is good and bad copying when it comes to creative endeavors. Good copying takes a good idea and does something new and better. Bad copying is a lame attempt to cash in on someone else’s good idea, and can be detrimental to the original, paradoxically especially if the bad copying results in something that is, in its own right, pretty good.

If you’re going to copy… ha ha, “if.” We all copy. But when you copy, unless you’re merely copying solely for your own edification, to learn how to do something you haven’t done before by imitating something in your world, don’t just do the same thing you’ve seen. If you’re creating something with the intent that it be consumed by others, take things from all around you, transform transform somehow, and make it something worth the effort of copying.

Global Game Jam 2014 postmortem

The Global Game Jam 2014 site doesn’t seem to have a blog capability this year, or if it does I’m stupid and can’t find where I can blog about my progress. So I wrote this entry as the weekend unfolded.

The theme this year was: “We don’t see things as they are, we see things as we are.”

Interesting theme! I like it. A good idea came to mind almost immediately. I thought about a world that changes as the player changes. By picking up items, the player’s attributes change, and as the player’s attributes change, the world’s attributes change as well.

Then the idea came to me to have the player change by looking into mirrors that reflect a distorted view of the player. The more the player looks at the distorted reflection, the more they come to look like the reflection, giving them new powers… but, the world changes to match.

(more…)

Global Game Jam 2014

This weekend is Global Game Jam 2014 weekend. I’ll be participating at the Cleveland Game Developers site.

I’m a bit anxious about this one. 2013 was a pretty poor year for me in terms of weekend jams. I got sick for GGJ2013, had computer problems that knocked me out of CGD Summer Jam, and out of the 3 Ludum Dare compos that I tried to participate in, I only managed to complete a game for one of them. Adding to my anxiety is the fact that I have no plans apart from showing up. I’m hoping that I will find a team to work with, but whether that happens or end up going solo, I think my approach will be to focus on something small and simple, rather than go for something experimental.

I’m hoping to turn things around for 2014, so I really want to make a decent game for GGJ this time. I hope that the theme inspires me and that I don’t struggle too much with it. I’ll be spending the rest of this week doing coding exercises to get my mind ready.

WordPress plugins I like

A friend recently asked what WordPress plugins I could recommend. So far, I have been happy with the following:

JetPack by WordPress.com

Jetpack adds a number of neat features that integrate with WordPress.com, so you can benefit from wordpress.com services with your self-hosted wordpress installation. It’s more like a suite of plugins, 31 different modules all together. Very good, highly recommended.

Administration

  • Search and Replace: Easily search/replace your wp database. Use with caution as there is no undo. But very powerful if you need to update your database content.
  • WordPress Importer: Allows you to import content from another WP site export.

Authoring

  • WP Document RevisionsVersion control for your post drafts, allows you to see changes from revision to revision and diff them.
  • TinyMCE AdvancedThe built in WP post editor doesn’t give you tables, I guess because of all the sins committed by HTML layout guys who don’t believe in CSS. But if you really do need an honest table in your article, this will let you build it. In fact, it will unlock all the features of TinyMCE, the WordPress WYSIWYG editor.

Content

  • Advanced SpoilerConceal “spoiler” content so that it remains hidden until clicked on, so as to not spoil the spoiler for readers who don’t like to be spoiled.
  • FancyBox for WordPressNice fancybox.js implementation for displaying images and galleries.
  • Fast Secure Contact FormEasily set up contact forms so that your readers can send you messages without the need to expose your email address to the world.
  • WP Most PopularWidget you can stick into your Theme customizer to display listing of your most popular posts so readers can see what else is good on your site.

Performance

  • WP-OptimizeCleans up the mysql backend, clearing out clutter like saved drafts, revisions, etc. so that your database is smaller and performs faster.
  • W3 Total CacheCaching, minifying, compressing. Boosts the performance of your wp application so that pageloads happen faster. My Yslow! Score went from a 70 to an 80, and the difference in speed is noticeable.

Quality

  • Broken Link CheckerScheduled scans your site for links returning 400 and 300 http errors, gives you a nice report showing the link href and the redirect url, and allows you to edit it right there. Saves a lot of time compared to hunting them down manually. Supposely can even find embedded youtube videos that have been taken down, using YouTube api.

Security

  • Akismet: Blocks spam comments very well, cutting down on the amount of moderation you have to deal with.
  • BackUpWordPressCreates scheduled backup of your wp installation, which you can then download. Useful for disaster recovery OR migration. To move backup files off site you can either manually download the backup, or set up a cron job to do it for you. Nice if you don’t have a server backup already in place.
  • Better WP SecurityPretty comprehensive hardening and intrusion detection. Provides recommendations for securing your site and enables you to implement most of them from within the plugin UI. There are other security plugins similar to this one, but I haven’t looked at them all. If you find a better one let me know!
  • WordPress HTTPSIf your site has an SSL and serves HTTPS, you can easily force visitors to HTTPS with this plugin, or set up custom rules for which pages force HTTPS. Using this plugin helped me address a couple problems that I couldn’t find to get my lock icon in the address bar to turn green, even after I’d set up .htaccess redirects to serve everything over https and did search & replace all the urls in mysql to convert all links.

Traffic

  • Google Analytics Dashboard for WPPuts a Google Analytics report right in your WP admin dashboard so you can easily see what’s happening with your site traffic (but you need to set up Google Analytics first — see the next plugin.
  • Google Analytics for WordPressAdds the necessary code to your WP application to integrate with Google Analytics so that it can track your traffic for you.
  • Google XML Sitemaps: Adds a google sitemap to your site to assist googlebot to find your pages so it can index them so people can find your site when they search.
  • RedirectionEnables you to easily set up redirect rules so you don’t have to mess about with apache settings or .htaccess files if you don’t want to.
  • WordPress SEOGreat, full featured SEO tool that helps you create meta description tags and so on so that your site is even friendlier to search engines. The features are well documented and explain how to use the plug in very clearly.

Wish list?

I have a few things that I’m looking for, too.

E-commerce: It should be easy to use, allow for selling digital assets, and have a “pay what you like” feature like Humble store or BandCamp. There are so many features to think about, and it seems like the amount of effort to set up and manage an e-commerce store is significant enough that you really don’t want to pick the wrong one and have to start over later with a different one if you can help it. It’s intimidating, enough so that I haven’t even begun to investigate it. But it’s a goal of mine to have it done sometime in the next year.

Code: I’m not entirely satisfied by the way WordPress formats source code. I’d like to be able to display both blocks of code as block elements, and in-line mentions of code keywords to be styled, such that it is obviously programming code, with good syntax highlighting. There are a number of plugins to choose from, and I’ve used a few different ones but I’m not ready to recommend one yet. I’m going to look into these and testing them out in the near future.

Network Neutrality struck down

I’ve just learned that a Washington court of appeals has struck down the FCC’s Network Neutrality rules. This is incredibly bad news.

“Its ruling means that Internet users will be pitted against the biggest phone and cable companies—and in the absence of any oversight, these companies can now block and discriminate against their customers’ communications at will.”

If you care about freedom on the internet, you must be in favor of network neutrality. Contact your representatives in congress and demand that they act to strengthen and restore network neutrality and establish that all ISPs are common carriers.

More coverage:

Migration post-mortem

It’s been a busy and productive week for the site.

Site Migration

After several months of intermittent poor uptime, I migrated csanyk.com to a new host. (more…)

New GML variable scope rules will break old code

[Update: Please read the comments from YoYoGames CTO Russell Kay, at the bottom of this article. As it turns out, the implications of the changes that I expressed concerns about in this article were overblown. The YoYoGames tech blog article that caused my concerns wasn’t clear enough in describing them, resulting in my misunderstanding of the severity of the changes.]

Today’s YoYoGames tech blog deals with GML variable scope rules. I was dismayed to read that they are changing the scoping rules, which will result in old code breaking.

I’m normally very supportive of the decisions YYG has made with the development of GameMaker, particularly in the GM:S era, but this is probably the single worst thing that I’ve read about the development of GameMaker since I started using it in 2010.

I have a lot to say about this. First, I’d like to address the specific changes. Then I’ll talk a bit on the philosophy of how I would like YYG to treat me as a developer who relies on their tools.

(more…)

csanyk.com re-homed, now served over https

The site is now running from csanyk.com, and I’ve tested old links from when the site was homed to /rants, and they should redirect automatically to their new location.

As well, the site is now being served exclusively over https. This is an important step toward eventual ecommerce. At present, there are still parts of pages that are not being served over https (ie, images, etc.) and I’ll be taking care of those in the near future so that the entire site is served securely.

Host migration

If you are reading this, it means that DNS transfer has completed successfully, and csanyk.com is now running on its new host. The main benefit to this will be greater uptime. The old host was having a lot of problems in recent months, and the new host should be more stable.

If you should happen to notice any problems with the site, please contact me or leave a comment below, and I’ll look into it.