csanyk.com

video games, programming, the internet, and stuff

12-month license moves GameMaker Studio toward SaaS business model

YoYoGames recently announced a new edition of GameMaker Studio 2.  Called the “Creator Edition”, it is  $40/year subscription.

I’d pointed out earlier in the year that YoYoGames had taken all the necessary steps to make ready to abandon perpetual licensing, and this announcement proves my assessment was right on. See, reddit? I was right.

Permanent subscriptions are still offered starting at $99, although the software license is active only as long as the machine it’s installed on is able to log your YoYo Account in with YYG’s license server. Which is to say, if they want to they can disable your license, and if they go out of business, or if the license server goes down, you won’t be able to use the software.

The Problems of Perfection

The auto maker Lexus used to have a marketing slogan, The Relentless Pursuit of Perfection.

Lexus Pursuit of Perfection

This sounded really good, right? As a customer, you would like perfect products. You don’t want to spend money to acquire problems.

But from a making perspective, perfection is often the enemy of good. It turns out that perfection, the idea of perfection, as well as the pursuit of it, has a lot of problems.

Perfection as Impossibility

First, everyone has heard the cliche that perfection is impossible in the real world. No matter how hard you work at something, there will always be some tiny deviation from the ideal defined by the design or blueprint. We build things to tolerances, understanding that exactly hitting a desired metric is practically impossible.  But we don’t need exact, we need good enough, and good enough can be as precise as it needs to be for the application. In some situations, tolerances are more critical than in others.

Chasing after something impossible can waste a lot of resources, and the futility of it can be frustrating. People tend to put an undue amount of pressure on themselves, feel negatively about themselves when they prove incapable of attaining such a high standard, and react negatively to mistakes and criticism, or even hide or deny problems rather than own  up to them, which is exactly the wrong way to respond to these learning opportunities.

Subjectivity and Contingency

Second, what is perfect? People have different needs, different opinions. Needs change as the times change. What is ideal for one situation is likely not ideal in another.  There’s no such thing as a one size fits all solution that is a perfect fit for everyone.  So perfect then means something more like highly customized, bespoke solutions.

But the amount of resources that are required to create such customized solutions for everyone are often better allocated toward more general solutions that are a better fit for the needs of larger groups of people. Imagine an auto maker taking your exact body measurements, and then using those to build a car with a seat that fits you — and only you — exactly perfectly, and where the dashboard and mirrors are likewise laid out in a perfect way so that you can see all the gauges and reach all the controls without straining.

But this would make a car that is many times more expensive to design and build, is much more expensive to maintain and support, and which has limited resale value.  It’s much more cost effective and beneficial instead to design a car with adjustable seats, that can fit 99% of people, is cheaper to design, manufacture, and support, and can be sold to anyone, not just people who are close enough in size to you that they can use your bespoke seat.

And even then, a car that is good for commuting isn’t going to be the best for cargo hauling.  Or have the best possible fuel efficiency.  Or be good off-road.  Or have the safest crash rating.  The perfect car contingent upon the usual need will score high in several of these important categories, but different users will value categories according to their own criteria, and may have a variety of use cases that they need to cover with a single vehicle, that cannot possibly be perfect for every need and every situation.

The foil of Trade-Offs

As is apparent in the car example above, most things are complex enough that there are always going to be trade-offs.  For example, a structure may need to be strong, but often weight is another important factor, and making something both strong and lightweight is a challenge because increasing one tends to diminish the other. Thus, a perfect thing in all aspects is not possible, but perhaps we replace the idea of a thing that is ideal in all categories with the idea of a thing that is a perfect balance of tradeoffs among the categories. But this sort of perfection is a lot more dependent upon subjective and contingent parameters. A set of compromises isn’t the usual concept of what perfection means.

Diminishing Returns

The more you want to improve something, the more effort needs to be put into improving it. At some point, the amount of improvement that you gain for the amount of effort that you put into the improvement will start to decrease. At some point short of perfection, the value of the improvement isn’t worth the effort.

For example, I could study for 2 hours and get an A on a test.  I could study an additional 4 hours, and boost my A to an A+.  Perhaps by studying 8 hours, I could score 100% on the test.  Is it worth it?  Or would that 6 hours be better spent getting an A on three other tests?

Can you hear the difference between a $500 stereo and a $5000 stereo?  And if so, is it worth spending 10x as much to get that difference? Is a $200 CPU good enough, or do you really need the $1000 CPU that delivers merely 2x the performance?  Sometimes it might be. But the situations where extreme high performance is required are comparatively few.

Perfecting a local maximum

Perfecting a thing requires focusing on the thing. But what if the thing isn’t the important thing, and the thing is merely a means to an end?  Say you want the best bicycle. So you spent all your time working on making bicycles better, better, and better still. So now you have a bicycle that’s nearly perfect. In the early days of pedal-power, the design of bicycles was much different.

Velocipede

A design known as the velocipede featured a large front wheel driven directly by pedals, and a tiny trailing wheel for balance. This design was popular for a time, and in the quest for ever greater mechanical advantage for producing higher top speeds, the front wheel diameter was increased. This gave rise to diminishing returns, and negative tradeoffs in balance and safety.

Local maximum

Prior to the invention of the modern bicycle, velocipede design had evolved to a point where it could go no further. Wheel size was so large that any larger would be impractical or impossible. This was a local maximum for the design, the zenith of a particular design concept, but still better designs were possible.

BicycleEventually the design died out when an inventor hit upon a better design, the modern bicycle, which featured two wheels of identical size and a chain driven gearing system that allowed higher gearing ratios than were possible in the now-obsolete direct drive velocipede designs.

Missing the next-gen paradigm shift

But what if your goal isn’t really to ride bikes exactly, and you simply want to go from point A to point B quickly?  There might be other vehicles that are better, but if all you can think of is a better bicycle, the idea to invent them may never occur to you. Famously, bicycle mechanics Wilbur and Orville Wright pioneered the airplane. If they’d been focused exclusively on perfecting the design of the bicycle, they never would have come up with their flying machines.

And paradigm shifts continued to happen with flight, from bi-planes to monoplanes, from propeller driven airplanes to jets. At each stage, what worked for the current generation could only be taken so far, and to make the leap to the next generation required a re-thinking and a discarding of older concepts in order for even better concepts to flourish.  The old continued to serve while the new was developed, but eventually once the new concept was proven a success, the old fell out of favor. And yet, at no stage was anything truly “perfect.”

The relentless pursuit of improvement

This is not to say that we shouldn’t make things as good as you can. But whatever we do, is always done within the scope of certain constraints.  Being aware of those constraints, we should make intelligent choices in order to maximize value, without being trapped by an idea of a perfect thing.

GMLive by YellowAfterlife: code and run gml live in your browser

I just discovered GameMaker Community Forums moderator YellowAfterlife’s wonderful in-browser utility, GMLive.

I’d long been wanting YoYoGames to produce a GML console that I could type in a simple snippet of code that I could run to see what it does without the need of having to set up a project, build, and run it, similar to the REPL in Python, so I’m thrilled to learn that this exists. It’s very well done, and while not 100% compatible with GML, it’s very close, and very well documented.

Math every game developer should know

[Editor’s note: For now this is kindof a stub article.

I’m brain dumping a list of math that I use all the time (or would like to) in making video games. 

For now, it’s just a list of areas of math that come in really handy, again and again, with many games. I won’t try to put lessons into this article; this is just a list of topics to check into.

I’d love to grow this list! Leave a comment, or contact me with suggestions for more math to add.

Over time, I’ll probably flesh this out with a list of gamedev-specific uses for each type of math.]

  1. linear algebra

  2. trigonometry

  3. stochastic functions (randomness)

  4. probability

  5. permutation

  6. matrix algebra

  7. fibonacci

  8. statistics

  9. binary and bitwise math

AtariBox update: who is Feargal Mac?

I learned more today about Feargal Mac, real name Mac Conuladh, one of the guys behind the AtariBox. And what I found out wasn’t so good.

It looks like this guy has been involved in a number of dubious crowd funded tech gizmos before. And by dubious, I mean disastrous. This guy’s LinkedIn profile reads like a character from Silicon Valley: a CEO of various incarnations of rapidly pivoting smoke/mirrors vaporware startups that promise a lot while having nothing.

If you look at Mac’s twitter profile, he still lists his website as gameband.com, one of the crowdfunded gadgets he was involved with. Here’s a screen capture that I took of the page today:

gameband.com screencap

Not quite as exciting as zombo.com, but give it time!

Based on this track record, it’s going to take a LOT of evidence and convincing to get me interested in the AtariBox. Maybe it’ll be different this time, after all people do fail, try again, and succeed, and maybe this time they’ll deliver something worth owning, but until I see some substantial evidence of this, I’m no longer interested in the system.

Eleven reasons why It (2017) wasn’t scary for me

  1. No giant spider.
  2. It’s really a demon-thing, but doesn’t even require a +1 weapon to deal damage to it.
  3. It a clown that gets it’s ass handed to It more than once by a small group of loser children.
  4. Whenever It gets hurt by the loser kids, It usually retreats, or else flips out twitching and jerking for a few seconds. It’s kindof a wimp.
  5. It bites Georgie’s arm off. Real scary, right? But there’s almost no pain reaction from him, I guess because he’s in shock? But this recalls the Black Knight from Monty Python and the Holy Grail. “Tis but a scratch! I’ve had worse!” Apart from when Henry Bowers uses his knife on New Kid Ben, I didn’t get any sense of horror from the gore in this film.
  6. Any time It’s around, there’s red balloons. I guess they’re supposed to be threatening and creepy, but they’re really just a giveaway: OK there’s another balloon get ready for It to try to scare us again. Get ready to not be surprised! Literally every single jump scare foreshadowed.
  7. It doesn’t seem to be capable of hurting anyone unless they’re scared. Literally the only thing they have to do is stand up to It, or realize that It’s mind-tricks aren’t real. It’s hard to be scared of something that isn’t real, or is only real in your head.
  8. When big brother Bill encounters It (in the guise of little lost Georgie) in the basement, and It starts repeating “we all float down here” and turning “scary”, I’m thinking “OK he’s just glitching out. Someone needs to file a bug report, and then we can patch it.”
  9. It mostly likes to scare people by turning ugly. Deformed, decaying walking corpses, and that sort of thing. But years of informal sensitivity training has enabled me to empathize with people who have severe appearance deficits, rather than feel repulsed by them. I want to help It feel accepted, as though It too is capable of being loved.
  10. The creepy house at 29 Niebold Street. Hey, it’s not like that place doesn’t scream “haunted”. It obviously put a lot of effort into decor. But did It really have to go with “late 19th century cliche American Victorian?” It’s literally the most obvious place in town It could have picked to make It’s home. Send in the crack team of loser kids!
  11. We have a much worse clown in the White House, and he’s threatening to destroy the world in a nuclear exchange with North Korea. What I wouldn’t give for there to be a supernatural demon that only eats a few children once a generation. Literally every single day in 2017, the news is worse than a statistically abnormal number of missing children.

Overall I enjoyed It, for the acting and the casting, and especially the humorous/lighthearted moments when the kids are just being kids. The children who act in the film look and feel like real children. That much, was great. But I didn’t feel scared. The teaser trailers made it seem like It would be a lot worse than it was.

AtariBox: more prelaunch details emerge

According to VentureBeat, the AtariBox will cost between $250-300, be powered by AMD hardware, and run Linux. Out of the box, it will come packaged with some collection of classic games, playable via emulator, and be capable of playing “midrange” games but not the high-end AAA titles that sell on XBox and PlayStation. No word as yet how the hardware specs compare with Nintendo’s Switch, or really any specs.

According to Atari, AtariBox will be an open system, meaning the end user will be free to customize the Linux environment and install whatever software on it they like, including existing games that run on Linux. This means that games for AtariBox need not be purchased solely through a gated community marketplace, unlike similar app stores offered for Microsoft Xbox, Sony PlayStation, Apple iOS devices, and Windows 10.

As much as I love openness, this seems like a questionable business decision on the part of Atari. Those who remember history will recall that the original Atari 2600 was a huge success when launched in 1977, but eventually 3rd party software developers figured out how to make games for it, culminating in a glut of shovelware which brought the videogame industry to its low point in 1983. Atari was powerless to prevent third parties from flooding the market with crapware, nor were they able to earn revenue from any third party releases.

When Nintendo revived the North American home videogame market in 1985, they did so by launching more powerful hardware than existing previous-gen consoles, and by locking unlicensed third parties out of development with the 10NES chip.

AtariBox will do neither of these things. While the move to lock out the hardware was controversial, and resulted in Nintendo holding monopoly power until the 16-bit era — which they abused — locking out did help Nintendo to establish a level of quality control with the software that could be published for the NES. (Although, to be fair, there were still a lot of terrible NES games — but importantly they did not glut the market and result in a crash that also bankrupted companies that produced high quality games, and the licensing program enabled Nintendo to generate revenue from 3rd party games.)

The ability to play already-released games is nice, but doesn’t seem likely to drive hardware sales. Presumably if you already have games that could be installed on an AtariBox, you also already have some other device already to play them on.

In order for AtariBox to have a hope of being successful, it really needs to have some new, original games, ideally exclusive to its platform, and ideally tied to classic Atari-era properties.

To date, we’ve still seen nothing of this. 2017-style reboots of classic titles like Adventure, SwordQuest, Pitfall, Space Invaders, Crystal Castles, Dig Dug, Pac Man, Frogger, Galaxian, Tempest, and so on, might make the console attractive to old school gamers. But to be honest these old games have already been re-released, sequeled, and rebooted numerous times over the decades since they were originally released, and usually to diminishing returns, failing to capture the magic that made the original game a hit.

Nevertheless, I believe that, if done well, rebooted classics could sell enough to sustain a business. A perfect example of a well done reboot would be the outstanding Pac Man Championship Edition, released some years ago on XBox Live Arcade.

Atari cannot rely on 3rd party developer support to provide AtariBox with exclusive titles, however. There’s zero incentive for studios to produce exclusive content, and sacrifice the entire rest of the market, unless they receive a cut of hardware sales, or are otherwise compensated for the favor they’re doing for the platform. Developers want to release their games everywhere, if possible, and will release games on every platform they can afford to reach. For AtariBox to attract gamers with exclusives, they need to do first-party development.

The console looks nice, but I’ve still yet to see a compelling reason to buy one when it comes out. Atari, heed me: Announce some new games, and make sure they’re good.

We still haven’t seen the controller for the AtariBox, but I’m expecting a modern-looking gamepad rather than the traditional Atari CX40 joystick or paddles. Perhaps these will be options. Certainly the AtariBox would be smart if it had a couple of DB9 ports to accommodate original controllers. As it is, a USB-to-DB9 adapter is perhaps feasible, but not as slick as I’d like for a brand-specific console like this.

(For that matter, it’d be cool if they put a cartridge slot on it, and allowed you to either play your old games on it, or rip them as ROM files to play through emulator. Obviously that’s not a part of the physical product design, but that would have been on my wish list for such a console.)

I would also like to see emulation of games for consoles other than the Atari 2600. The Atari 5200 and 7800 are not as well known, but had some great games, and deserve to be included.

As well, classic Atari coin-op emulation would be a great idea. Real arcade games are a big part of Atari’s legacy, and deserve a showcase. An AtariBox plus authentic controller decks replicating classic arcade controls would sell.

Two things I still want even though it’s 2017

A new Super Mario Bros game set in Subcon, based on the Doki Doki Panic engine
Super Mario Bros 2

Super Mario Bros. 2, the USA release. Everyone knows the story: the Japanese SMB2 was too difficult and unfair, Howard Philips recommended that it not be released stateside, and Nintendo scrambled and put out a game called Yume Kojo: Doki Doki Panic that they re-skinned the player sprites with Mario, Luigi, Toad, and Princess Peach, and had a smash hit. A strong minority of players rank SMB2-US as their favorite entry in the main sequence of Super Mario games, and I am among them.

Perhaps because of its unique development history, there has never been a revisit to the world of Subcon, the dream world setting where SMB2 takes place. And that’s really too bad. I wish I could play a new adventure in this world. The unique mechanics of this game, adding lifting and throwing to the core running and jumping game that made the first game a success just haven’t been used again in a 2D SMB platformer. Nearly 30 years on, this feels like a tragic oversight.

Will we ever?

I’d like to think so, but I don’t think it will be any time soon. Nintendo does have a history of reviving old IP that hasn’t been touched in years. Sequels to Metroid and Kid Icarus didn’t happen for years, despite high popularity of the originals. However, it may be that there are entangling copyright issues preventing the borrowed cast of enemies from Yume Kojo, which was originally created for Fuji TV from making a return on a Nintendo platform again.

A proper NES re-port of the original Metal Gear

Metal Gear MSX title screen

Most US gamers had no way of knowing it, but the original Metal Gear was a mess on the NES. Buggy, poorly translated, and yet somehow still lovable enough to be forgiven, the NES release was perhaps good enough only because there was nothing yet to compare it to.

The true original is the MSX release. The MSX computer wasn’t even available in the USA, as far as I know. I never saw the MSX advertised for sale here, in any case. And even if it was, as an eleven year old kid, I wouldn’t have been able to buy one.

I’ve always wanted to play the original original, but it’s cost prohibitive for me to buy a rare-ish classic computer and one expensive, collectible game just for that one purpose.

Metal Gear spawned one of the great franchises of the video game industry, and clearly deserves a better port to the hardware that introduced it to the US audience. I would love to see a proper port of the original MSX game developed for the NES, even today.

Will we ever?

Unless a fan takes on the project, I highly doubt it would ever be produced as a NES cartridge. But that’s not actually completely out of the question. Fans have been producing ROMhacks and homebrew NES games for years. It would be difficult. A ROMhack of the NES Metal Gear might be the easiest approach to take, but debugging the game, re-translating it, and adding back all the missing content would require a high degree of technical knowledge and skill. It might be better to start over and re-port the MSX Metal Gear as a new project, but that would be even more difficult. But it’s not outside the realm of possibility that a highly motivated, dedicated group of fans could pull it off.

But it’s unthinkable that we’d ever see an official release from Konami, certainly not on a dead console.

Slightly more likely, Konami might release an emulated MSX version with a US translation. However, Konami and Metal Gear creator Hideo Kojima parted on very bad terms after years of public feuding, making it unlikely that the parent company would ever honor the original release in such a fashion.

Game Programming for Artists

Game Programming for Artists by Jarryd Huntley and Hanna Brady

Game Programming For Artists is a new book about to drop by my Cleveland Game Developer colleagues Jarryd Huntley and Hanna Brady.

It’s a book that intends to introduce artists to computer programming for games. Oftentimes artists and programmers come to the problems of game development from a very different set of skills, and it can be a challenge for them to understand each other. As well, often artists have ideas for games that they need help to program, and this book should help them to start to become a little more self sufficient.

I haven’t seen it yet, but I know that they’ve been working hard on it for the past year plus. I’m looking forward to seeing it in print.

Adobe Flash EOL in 2020 – how will we preserve games?

Adobe announced today that it would cease development and support of Flash in 2020.

Of course, there were (and are) a lot of issues with Flash:

  • the proprietary nature of the Flash Player plugin;
  • memory and CPU usage;
  • stability problems;
  • security problems;
  • privacy concerns over Flash cookies;
  • Flash advertising/malware;
  • lack of accessibility in many Flash objects, resulting in issues for people with disabilities, screen readers, search engine indexing spiders, or for anyone who simply didn’t have the Flash Player installed, etc.;
  • and poorly programmed Flash objects.

So it’s not entirely a bad thing that Flash’s time is nearly at an end.

While this news doesn’t exactly come as a surprise to those who have been following the life of Flash since the iPhone launched, it does raise a serious question:

What will happen to all the games created in Flash when Flash is dropped from mainstream web browser support?

How will the history of games developed in Flash be preserved?

This is no small question. Over the 20+ years that Flash has been around, thousands of games have been built with it. Many of them are good games that still hold replay value. But without a viable platform with which to play them, will they wink out of existence and be forgotten?

I think the best approach to preserving Flash’s historical legacy would be to create a version of the Flash Player in Javascript or Web Assembly, and then any web site can use that to backfill support for any Flash objects that they wish to serve.

What are your favorite Flash games?

csanyk.com © 2016
%d bloggers like this: