Category: reviews

Ouya

I was a backer of the Ouya kickstarter, and was very excited about the Ouya concept from the beginning. An inexpensive console aligned toward indie game developers as well as modders, using a digital delivery model offering a free demo of any game in its library — what’s not to love about that?

Yet, when I received mine, I didn’t open it right away. In fact, I opened it this weekend, after it sat unopened on my mantle for over a year. Why? I don’t really know. I have a LOT of game consoles in my collection, and most of them don’t get near the amount of playing time that they deserve. But last week, I heard that Ouya has been looking around for interested buyers who want to acquire them, and I figured I had better unbox it and download a few games for it before they go out of business or change the way they operate entirely.

have played on an Ouya previously, on a few occasions, and I liked the console a lot. I had a lot of fun playing Towerfall: Ascention at my friend Ben’s birthday party a few months ago. I knew at the very least I wanted to pick up that title, even though it is also available on other platforms.

My experience so far has been rather disappointing.

First, I carefully took everything out of the box and hooked it up to my HDTV. I expected this to go very easy, and yet it didn’t. I thought the package was attractive at first — a shoe-box sized bundle featuring an Ouya, one controller, two AA batteries, an HDMI cable, and a power supply. Easy as can be to figure out how to hook everything up. I plugged everything together and figured out where the power switch was, and turned it on. I expected it to prompt me to pair my controller, which it did. If I remember correctly, the controller came with the right side battery cover off, and although it came with 2 AA batteries, I only could fit one in (and only saw terminals for 1 battery). Not realizing at first that the left cover also was removable and hiding a second battery slot, I puzzled over the purpose of the second battery, and wondered why my controller wouldn’t pair. It said to hold the power button down until only the middle two lights were flashing, but nothing was flashing at all. Was it defective? Had it died on the shelf due to long storage? I tried for a few minutes and then went to googling, and then somehow or other figure out about the second battery cover, and got everything working. What a relief.

I next expected to get connected to the internet, and, probably take updates and sign in to my Ouya account, which I’d set up long ago. I hadn’t read specs in a long time, but I figured that the Ouya would have wifi onboard, and sure enough it did. I had to enter my wifi password several times before it successfully joined my network, though. I’m not sure why, and I was pretty careful about entering it correctly, too. I have to assume I somehow entered it wrong 3-4 times before I got it right, but I don’t actually believe that I did.

I had the same problem again with entering my password when I tried to log into my Ouya account. I actually could not add my account until I ran system updates. This was rather frustrating, using the on-screen keyboard reminded me of the bad old days of NES save state password entry. I’m quite certain that I had entered both my Ouya account credentials, and my wifi credentials carefully and correctly several times before they worked. But I don’t expect anyone to believe that, because it’s simply inexplicable why they wouldn’t work if I had entered them correctly the first time. Once authenticated, the Ouya remembers your password and keeps you logged in, so fortunately I won’t have to re-enter the info again and again.

Here’s the next disappointment I ran into. Eventually, I authenticated and was able to browse the Ouya store for games to download, try, and buy. For some reason, when looking at a game’s description page in the store, my Ouya starts having glitchy video signal processing issues. I shot some video of it with my smartphone.

It’s bad that it does this at all, but fortunately it seems to only do this in the store on the screen where you preview a title before purchasing it. Despite the glitchy video, I was able to complete purchase and download the game.

Towerfall is about 160mb, and downloading it took several minutes. But it felt like the Ouya was slower at downloading than my other devices. Normally 160MB might take 3-4 minutes to download over my connection. I didn’t time it, because I really wasn’t expecting it to be an issue, but it seems like it took 10-12 minutes. And several times the progress bar didn’t seem to be moving and I wondered whether the Ouya might have locked up. Eventually, though, it completed the download. I don’t have any way of telling if the Ouya is just a slower-than-normal device when it comes to downloading files over an 802.11g WPA2/PSK connection, or if maybe the server it connects to doesn’t have the greatest bandwidth. It’s a minor complaint, since it’s a one time thing, and in any case it took far less time than it would have taken me to drive to a store and buy a physical copy of a game and then drive back home.

So, finally, I have everything I need in order to play. I’ve hooked everything up, turned it on, gotten the controller to pair, connected to the internet, updated the system to the latest firmware, entered my credit card info, and bought a game.

I go to launch Towerfall, and start playing the solo campaign mode. The game runs very sluggish, as though in slow motion. I feel like the game is suspended in molasses. WTF? When I played this game at Ben’s birthday party, it was fast and fluid. The action was smooth and frenetic. I wondered if “Normal” mode is just slow like that to make it easier, and switch to “Hardcore” mode. Nope. It’s still playing at maybe 1/4 to 1/2 the speed I remembered. It’s less of a reflex game this way, and more of a strategy game, as I plan out my moves several seconds before I’m able to make them.

I reboot several times, hoping that it will get better somehow. It doesn’t. Resigned, I play through the solo campaign levels. It’s still challenging, but it’s more frustrating because you can see your death coming often several seconds ahead of time, and yet you can’t do anything. After a few tries, I’m able to beat several levels, and unlock most of the game. By the time I get to the level called Mirage, things are waaaaaaaay slow. In fact, the input from my controller seems to be lagging as well, and I watch as my character moves in response to input I’d entered 5-10 seconds ago. I take my had off the controller entirely and watch him run, jump, and shoot all on his own. This is pathetic!

I found that if I quit the game and went back into it, it would become more responsive again, but never more than about 1/2 speed, and if I played for 30-60 minutes and didn’t quit/restart, the controller lag would get bad enough that it felt like I wasn’t playing anymore, and was just watching a demo mode play itself.

I tried to figure out how to reboot the Ouya, the only thing I could figure out through the on-screen menus was putting it to sleep. So I held the power button until it shut down, then restarted it. It didn’t help much, if any.

Could the system updates have introduced so much bloat that they resulted in a vastly slower system? I have no way of knowing for sure; I couldn’t do anything besides join the wifi network without applying updates, and they applied themselves automatically, without asking me if I wanted them or not.

Is there anything I can do to fix this? Add memory? Factory rest? It remains to be seen. Supposedly the Ouya hardware is easy to open up and upgrade if you want to, but I haven’t looked into it yet. I’m reluctant to do the factory reset, after all the problems I had with connecting to wifi and logging into my Ouya account, but that seems like the easiest troubleshooting step to take next.

I’m worried that the launch hardware specs are just that poor, and that this is all I can expect out of my system. Would I get a full-speed Ouya if I bought a current hardware revision? Perhaps I might, but I wouldn’t gamble another $99 on it. The other possibility is that my particular unit is bad for some reason. Maybe the heatsink isn’t properly seated, and it’s throttling its CPU down to prevent overheating, or something like that. I haven’t contacted Ouya yet to inquire about it, but I plan to, and will update this blog entry once I’ve heard from them.

Lastly, I wanted to test the Ouya with other games, to see if the problem was just with Towerfall, or if it was across the board. Since I was having video glitch problems with the Ouya itself, I thought I’d try accessing the Ouya store through my laptop, and push a few titles to the console. I went to shop.ouya.tv, and browsed a bunch of games that looked good, and clicked Push to my Ouya. I get prompted for my Ouya account login again, and supply the user id and password…

Oh oh Something went wrong. Required parameters not provided.
I get this error when I try to push a game to my Ouya from my web browser on my laptop.

So, something’s broken there. I’ve tried it in Chrome, with javascripts unblocked and ads unblocked, and I’ve tried it in IE, and it does it every time. Well, wait a minute, it says to log in with your Ouya Account name OR email address… I wonder if I use my email address instead of my account name… that did it! So at least it works, but it makes Ouya look really bad that it doesn’t take either, when it asks for either. And I’d rather use my account name than my email address anyway.

Update: It STILL doesn’t work! It worked that ONE time, and after that, it hasn’t worked at all. I keep getting the same error message, above, no matter what I do. Whatever web browser, whether I use my user name or my email address. I don’t even understand why I am forced to authenticate for each and every push to my console. Why isn’t it good enough that I’m already logged into the ouya.tv website?

To be continued, after a factory reset, more testing, and a call in to Ouya support….

Day 2

I received an email from Ouya Support in under 24 hours, probably under 12 hours, actually, which is quite good. Not as good as live chat support, but I’ll definitely take it.

The response suggested performing a Factory Reset, and provided instructions on how to boot into Recovery mode. This puzzled me somewhat, since I had seen an option in the System menu for a Factory Reset, and wondered if I needed to bother with Recovery Mode. I replied asking whether the two resets were equivalent, or if the Recovery Mode Factory Reset was a kind of “ultra” factory reset that did more, and if so, what were the differences.

I said I’d wait to hear back from them before proceeding, but then I got impatient and decided to do the regular Factory Reset and see if it made any difference.

Sure enough, it really did. Now Towerfall is playing at full speed. Also, this time when I joined my wifi network and logged into my Ouya account, both authentications worked flawlessly the first time. Of course, I still can’t prove that I didn’t just enter them correctly the first time, but at least I didn’t have to re-try several times before it worked this time.

Also, the video glitch that I was seeing is no longer evident. So, good. It seems that the reset worked, and fixed all of my problems.

The downside of the Factory Reset is that you lose all your games. You have to re-download and reinstall any games that you had on your device prior to the reset. This is even true of games on your removable SD card, if you use one. Which, I suppose, is due to the factory reset performing some kind of key deletion which makes the freshly-reset Ouya no longer able to unlock the games. Which prevents easy piracy, but also prevents you from using the Ouya if you ever need to do a factory reset and the Ouya download store is no longer available due to Ouya going out of business or changing the way they deliver content, or simply pull a title from the store.

I really don’t like this. It is not as good as owning your copy of a game, which is what gamers have been used to since the invention of the home game console, but which the industry seems to be pushing to change.

I don’t like games as a service because they reduce your control and place you at the mercy of the service. It eliminates the secondary market, since by definition you cannot resell the service, whereas in the games-as-products model, you can sell old games secondhand if you want to. Services are great, if they offer something that didn’t exist before, such as the capability to restore your library in the event of media failure, or the capability to log in on any compatible device and have access to your library from anywhere, but services should always be add-on, not take away.

As well, when a company can no longer, or no longer wishes to continue offering a service, the things the service delivered ought not to disappear along with the service. The service provider ought to unlock any DRM so that their owners who paid for them can keep playing them if they wish. Additionally, any services that rely on server-side code (such as multiplayer) should be sold off rather than shut down, or open-sourced so that the entire game experience can continue. For those who wish to preserve game history, this is essential.

However, since game companies tend to behave like companies, this is unlikely to ever happen, so as a gamer, I am not a fan of the games-as-a-service model. It’s been almost 40 years since the Atari VCS, and you can still find and buy Atari VCS games today. Not just remakes and repackaging — although those are also available and continue to sell, despite emulation and free ROM downloads, either — I’m talking about EEPROM cartridges and original consoles.

In 40 years, I doubt very much whether any games-as-a-service being offered today will continue to exist — if they do, you can be certain that we’ll have been made to pay for them many times over, and that they will not exist in the exact form that they did today, thanks to updates and hardware revisions which change the experience.

To make things even worse, the Ouya didn’t remember what games I had downloaded the night before. I had expected this to be tied to my user account, but rather than provide me with a download history that I could easily run through and re-download, the shop only remembered paid games that I had purchased, not any free games that I had also downloaded. This meant browsing through the entire Ouya store again, re-selecting the games and re-downloading them. I had expected to need to re-download them, but that I would have had a list of games I had previously downloaded, and a prompt asking me if/which ones I wished to re-download. Having to hunt for them all again, one by one, was a bit of a pain.

Also, Towerfall is now WAY harder. Oh well, I guess I’m getting what I paid for. This is a good thing :)

In all, the Factory Reset seems to have cured all of the problems I was having, with the exception of Push to My Ouya from outside the device. That still is broken. I’m not surprised the factory reset did nothing to fix that, as it seems to be an issue with the website, not with my device. I’ve replied to Ouya Support to ask them for additional help on this.

Epilogue

Ouya support confirmed that there was a problem with Push to My Ouya, but it wasn’t clear whether this was a problem affecting only my account, or all users. In any case, they advised that they would be looking into it further and would get back to me within a week. They were good as their word, I received a follow-up email from them yesterday advising that they believed the problem to be fixed, and asked me to try to push something to my console in order to verify it, which I did successfully.

Although my unboxing and setup of my Ouya was not without a number of problems that I can only consider to be severe, I found Ouya Support to be quite good at resolving my problems effectively, and treating me personably throughout the resolution of my issues. I always felt like I was receiving personal attention from a real person who knew what they were doing, which is a rare thing. Now that my issues have been resolved, my Ouya is everything I had hoped it would be. While no console is perfect, I find that Ouya provides an enjoyable gaming experience, and is the most friendly company to both gamers and developers, especially indie studios. If you enjoy the sorts of games that indies produce, Ouya gives them a very nice presentation.

As to the future of the console in this difficult market, I hope they continue to have one.

mmap mini maps asset temporarily withdrawn from GameMaker Marketplace

Well, they SAID it’s in beta.

I’ve been struggling with updating my mmap mini maps asset pack in order to fix a bug that I discovered with it. Since I’ve been unable to do so, I’ve elected to temporarily withdraw the product, rather than continue selling a broken asset. I’ll have it back up as soon as I can get it fixed, but I don’t know how long that may take, due to problems I’m having with the tools.

First, the bug. In the mmap mini maps package, there was supposed to have been a collection of Macros (what used to be known until recently as “Constants”), which I used to assist with programming the Mmap object. When I built the Asset Package, I failed to realize that these Macros did not get included. Without the Macros defined, the project doesn’t work.

One workaround would be to add the macros manually. They are documented completely in the user manual that I wrote. I can also furnish a .txt file that can be imported, to save the data entry. If I can’t get the tools to cooperate, that may end up being the solution I go with for the short term.

It was not obvious due to the way the package builder works, and I didn’t notice it in testing because I tested it by bringing the package into the same project that I had used to build it in the first place.

Lesson learned: Build the package in one project. Import the package into a fresh project to test.

Betas gonna beta

When you build an asset package in GameMaker: Studio, you start by taking some project that you’ve been working in, and then going through the Marketplace Package Manager to build a Marketplace Asset using resources from the project. However, the interface that YoYoGames have built is still very beta. It is unstable, resulting in error messages and crashes. But the greater issue is that the design of the interface, and the workflows it supports, is also rather poor and unrefined at the moment.

When you build your Marketplace Asset Package, you are presented with a Package Builder that allows you to select resources from the project and add them to the package. But the resource selection options are not complete. You can’t select Macros. They just aren’t even there.

So how do you add Macros to a Package? By adding them to an Extension, supposedly. There’s an Extension Builder built into the GM:S IDE, as well as this new Marketplace Package builder. I’m presently unclear as to the relationship between Extension builder and Package builder, but the end result of a Package is that you get a package that is ready to be uploaded to the Marketplace as an Asset, and when you download Assets that you’ve purchased from the Marketplace, it installs itself in your Library, where you can add it to a project, where it… becomes an extension.

The Marketplace asset-extension has whatever resources you had added to the Package — sprites, scripts, objects, sound effects, fonts, included files, timelines, shaders, you name it… just no macros.

But if you build an GMEZ extension using the Extension Builder interface, things are very different. I can create an Extension, add a “placeholder” to it, where I can define Macros (one at a time, which is horrible, like each Macro is its own asset in the tree), and I can add a code file, which can be .gml, javascript, a dll, a dy-lib, or java. And I can define Functions which access the code residing in the code file, providing an interface between GM:S and the functions provided by the extension.

And the documentation shows a similar resource picker for handling both importing resources from a completed Extension into the Project, and for moving project resources into an Extension that you’re authoring. But, for some reason when I am in the Extension Builder, it’s one-way only, I can import from the Extension to the project, but not from the project to the extension.

So when I build an Extension, the only things I can put in it are Macros and Functions and Code files. And when I build a Package, the only things I can put into it are project resources other than Macros and Extensions. So I can’t add Macros to an Extension, then add the Extension to the Package. And I can’t add project resources to the Extension Builder. So there’s this impasse that I can’t figure out how to work around.

It could be the documentation is just out of sync with the version of GM:S I’m running, or it could be there’s some serious design bugs in GM:S currently, or it could be I completely misunderstand both the documentation and the user interface, and am missing something that will become apparent to me eventually.

I’m a bit frustrated now, and very tired of banging my head against a wall trying to figure out how to make it work, so I need to step away from it for a short bit.

Return of the Popup

More than a decade ago, the internet userbase (all of humanity) resoundingly rejected popup windows. Popups became a popular method for scumbag web sites to serve advertisements and malware to visitors. They annoyed, they took up system resources needlessly, and they were generally unwanted. The lowly popup was the bane of the IE6 era, and many countermeasures were employed to block them, culminating in browsers adopting default settings to block popup windows and to require the user to approve popups on a per-domain basis.

It’s 2014, and popups have been returning thanks to javascript. Now, instead of popping up a new browser window and loading an entire webpage, popups have become ajaxy, serving an html fragment inside a FancyBox or similar javascript construct. They tend to serve up nags to Like, Share, and Follow the host site, rather than display advertisements for the ad network sponsoring the site, but they are no less annoying, and a stop needs to be put to them. It’s pervasive with clickbait “viral” websites, which are themselves annoying to begin with, due to the way they craft their teasers in often misleading ways. But these modal javascript annoyboxes need to go. Especially on mobile browsers, where the close button frequently doesn’t work well, they harm the user experience on web sites that use them.

FancyBox Etiquette for the Scrupulous Web Developer

There are legitimate uses of FancyBox, to display fullsize content in image galleries, for example, or to bring up contextually relevant controls in a web application. But the social share nag needs to go. The little buttons under the headline or at the bottom of the article ought to be sufficient. If people aren’t clicking on them, you don’t need to shove it in their face after a few seconds delay, or they’ve scrolled halfway down the page.

Here’s how to know whether your popup is a good popup or bad popup:

  1. Does the content being served in the popup serve the user’s needs, or is the site asking the user to do it a favor or asking the user to buy something?
  2. Did the user do something to request it, like click a button or link? Or did you throw the popup at them because they have been in the page for more than 10 seconds or scrolled down to read more of the article?
  3. Is the popup enabling the user to do what they came to the site to do? (eg., reading content, view a gallery of images, interact with features of a web app) Or is the site interrupting what the user came to the site to do and asking them to do something else (eg, buy something, donate money, sign a petition, LikeShareFollowSubscribe?)

There’s really not much gray area possible here. If you’re a web developer, stop doing the scumbag stuff, and get back to providing a good user experience to the user.

An appeal to end FancyBox popup abuse

Unfortunately the new popup phenomenon seems to be increasing in popularity, which means that, apparently, they work. If users don’t stop clicking on the Like|Share|Follow buttons when they’re served, we’re only going to see more of them. We need to stand up and say enough is enough.

Therefore, I’m issuing this appeal:

To the masses: stop Liking, Sharing, Following, and Subscribing to sites that try to signal boost through popup social nagging. In fact, stop going to those sites altogether.

To website developers: Stop making use of popup nags. Just stop already. Stop it.

To browser developers: Javascript has become a crucial part of the web, and necessary for many web sites to serve any content at all. But it is also a too-easily exploited vector for external threats to execute malicious code through the web browser, simply by visiting a URL. Come up with a way to selectively and effectively block javascript from running, so that desired features and functions of a site can be allowed while undesired scripts can be left blocked. Let javascript be used in ways that serves the user’s needs rather than the webmaster’s.

Product Review: Scirra Construct2

Construct2 is available for download at www.scirra.com.

I’ve known about Construct2 for a few years now, and had downloaded it quite some time ago, intending to compare it with GameMaker in order to see which I liked better. I kept getting deeper and deeper into GameMaker, though, and since I was enjoying that, I wanted to stick with one thing until I knew it very well, rather than dabble in a lot of things that I knew only passingly.

One of my Cleveland Game Developers friends, Jarryd, likes Construct2 and I’ve seen him give a few talks about it, and so I’ve had a general impression of what it’s about for a while now. This weekend, I finally sat down with it and started to give it a serious look.

Initial impressions

So far, it feels very different from what I’m used to with GameMaker: Studio and other development environments that I’ve used… but I think there’s a lot of potential for getting stuff up and working faster than with GameMaker.

Two of Construct2’s areas of strength are the built-in project templates and object behaviors. They take a lot of the tedium out of developing your own engine and having to program everything from scratch, which means you’re freed up to focus in design and gameplay more. Creating a new project from a template sets up a lot of “boilerplate” that is common to every game of that type, saving you a ton of work and problem solving. And adding a behavior to an object does in one or two clicks what many programming numerous events and scripts consisting of innumerable lines of code would accomplish in a GameMaker project. And it all works and doesn’t need debugging, although there’ll still be a lot of customization yet to do, and that customization will require plenty of problem solving and debugging. But it still gets you into the juicier parts of game development quicker, and allows you to build on a more featureful foundation than GameMaker does.

On the other hand, what I like about GameMaker is that by leaving these low hanging fruits un-plucked, it gives a newbie programmer some relatively easy things to develop, which affords many learning opportunities. Learning how to attack a problem and break it up into simple, manageable steps that you can solve is an important skill to have in programming, and GM provides such opportunities.

The C2 documentation is very well written, and there are a ton of example projects that come with the IDE, so you can learn by playing around with a project.

It feels different from traditional programming in that there’s no traditional text editor, and not much syntax to learn, for about 90% of it, from what I see so far. If *feeling* like a “real” programmer is important to you, Construct2 may not satisfy, but if you don’t care about coding as much as the ability to quickly make working games, it might be just the trick. I feel like “real” programming is more like designing shapes of pieces to make a jigsaw puzzle, and then assembling the puzzle, and using Construct2 is more like taking a bunch of ready-made jigsaw puzzle pieces out of a bin and putting them together *just so* in order to make a picture that you have in your head. But I don’t consider criticisms that amount to bias toward text editing and syntax as the only true programming to have much legitimacy to them. Surely, if you never understand the circuits of the machine, you’ll never be able to call yourself a Real Programmer, and most modern programming languages abstract the machine entirely. So too, with programming environments that replace linguistic syntax with visual paradigms. Still, learning Construct2 may not be as good a good first step if you’re interested in getting into other types of programming, the vast majority of which do involve coding in a programming language.

Discovering Construct2 through example

One of the first things I did with C2 was to play the Asteroids example project. Labeled as an “Intermediate” project, I quickly noted that while the Player wrapped around at the edges of the screen, the Bullets did not. This bothered me, so without really knowing what I was doing, I looked at the Player’s behaviors, and saw how to modify the Bullets. It took almost no time at all.

But now, the bullets just traveled around the room forever, so in short order I figured out how to add a timer to them so that they would be destroyed after a short time. This took a bit longer, but in maybe 10 minutes I had it figured out. Next, I created a new Sprite (which seems semi-analogous to what GameMaker calls an Object) and added it to the game, defined some behaviors and before too long I had asteroids floating about, that destroyed the ship when they collide with it, are destroyed by bullets, and wrap around the room. I even figured out how to create two smaller asteroids when destroying the large ones.

That’s when I discovered that, if you don’t add an object to the Layout, even if it won’t exist in the initial state of the game, the game won’t run properly. I noticed a previously overlooked bullet sitting in the Layout window, outside the game view, and, thinking I’d somehow accidentally placed it there by mistake, deleted it, only to find that the game no longer worked properly. And then I got an error message about the smaller asteroids not being defined. So then I figured out that in order to have these types of objects available to the game at runtime, they needed to be placed in the Layout, but outside of the visible area, what in GameMaker would be considered “inside the Room”. This confused me, because coming from GameMaker, I expected that objects placed outside of the rooms boundaries are instantiated and run in the game. But in C2, apparently they are just available to the game, to be created when called upon by the program. It’s a bit strange, and I wonder how C2 handles objects that walk “offstage” or need to begin life offstage.

Cost

Construct2 is one of the cheapest options out there right now for fledgling developers. Comparing Construct2 to GameMaker, at $119 C2 is cheaper for a license than GameMaker: Studio is, if you want anything more out of GM:S than the base “Professional” package. The free edition of C2 also has fewer limitations than the free edition of GM:S. There’s also a $400 “business” license, which is for professionals and businesses that have made $5000 or more from game development, but doesn’t seem to give the user any additional new features. I suppose the idea there is that businesses that make that much money from game development can afford to subsidize development for the rest of the customer base.

Performance

I haven’t benchmarked the two side by side, but I understand that C2 builds everything as an HTML5 app and (if you’re not targeting a web browser) wraps it in a native application for whatever platform it builds to. By contrast, GM:S has the option to build native code, depending on how you build it and what platform you’re targeting, so may potentially have performance advantages over Construct2. I don’t want to speculate, and for now it’s merely a hypothesis that I have not myself tested, but it seems plausible that GM:S would the equivalent game as well or better than C2 on most platforms.

On the other hand, C2 is probably more consistent across platform, since on every platform it is essentially running the same code, unlike GameMaker:Studio, which currently has numerous problems with supporting features and getting to work exactly the same, regardless of build target.

Final thoughts (for now…)

I still haven’t gotten very deep into Construct2, and have just barely begun to grasp what it is capable of, but so far I like it quite a bit. Whether I like it as well as GameMaker: Studio, or less, or better, I can’t say yet, but I like the fact that it exists,and and it provides another option for an easy to use tool for game development. I still am much more versed and comfortable with what I know in GameMaker, but I’m impressed with how quickly I was able to pick up Construct2 and do something useful with it.

Verdict: Worth checking out.

Game Review: Busy Busy Beaver by Daniel Linssen

A close shave resulted from a precision fall in Busy Busy Beaver

TL;DR: A fun, quick puzzle platformer, Busy Busy Beaver isn’t as difficult as Linssen’s previous game, the amazing Javel-ein, and is perhaps just a bit less engaging, but it’s charming sense of humor makes up for it. If you’re up for an hour’s worth of platform puzzles, try it out. Built in just 40 hours of marathon game jamming over a weekend, it’s remarkably polished for a game produced so quickly.

Download Busy Busy Beaver here.

You’re a beaver. You need wood to build up your house. Collect the wood, until you have enough, but make sure you don’t touch spikes or eat so much wood that you have no platforms left to get back home.

Simple, yes? The challenge is mild to moderate until the last few levels, but it’s a relaxing kind of intellectual challenge, where you don’t have to think too much, but just enough to make the game interesting without being frustrating.

I got stuck on the very first level, until I learned this tip: Press Down+Z to eat wood that you’re standing on. (I actually tried this early on, and couldn’t get it to work, which left me confused as to how to beat the first level, until I learned the secret: To eat down, you have to be in the center of a grid block. The level is laid out over an invisible grid, and if you’re standing on a grid line, you won’t be able to eat down, even if you’re standing on a grid line between two blocks of wood. As a player, I would have expected to eat both blocks when straddling a boundary, rather than neither.)

Game review: Javel-ein by Daniel Linssen

I loved Javel-ein when it was first released as a Ludum Dare 28 Jam entry. It’s been expanded into a “Full Game” — I put this in quotes because, other than perhaps a lack of background music, there wasn’t anything about the Jam entry that felt incomplete or less than “full” to me. TL;DR: it’s a great game, it’s free, and if you run Windows, you can play it.

Get Javel-ein.

Game Play

You’re a guy armed with a Javelin, jumping and running through a 2D platform world of caves and lava pits. There are dangerous creatures, which you’ll need to kill with your Javelin. Once all the creatures are destroyed, you need to find the door to take you to the next level. The twist is that you only get one Javelin, and you have to retrieve it each time you throw it, leaving you temporarily defenseless. (more…)

Updated Javel-ein released

One of my favorite games to come out of Ludum Dare 28, Javel-ein, has been developed into a full game by its creator, Daniel Linssen. I was amazed with how polished and balanced the original version of the game was, so this expanded version should be a real treat to play.

I’ll probably post an update with a full review once I’ve had a chance to play it. Review here.

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…)

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…)

Fun plays from Ludum Dare 28

I don’t get to vote on LD28 games since I didn’t submit a game of my own, but I can still play them. Here are a few that I found worthwhile so far… these are in no particular order, other than the order I found them.

Asshole Ducks

Asshole Ducks

I love this take on the theme, “You Only Get One”. Gameplay has the feel of an Atari 2600 game, although the graphics are not done in that style — in the early 80’s game designers took a lot of inspiration from everyday life and would take demented inspiration from seemingly mundane activities such as crossing the street or sorting baggage. Asshole Ducks fits right into that type of game concept — you’re feeding ducks, and to make it fun you’ve made a little game out of it, the goal being to feed each duck exactly one piece of bread. But of course once a duck gets a taste for bread, it turns into an asshole and tries to eat all of it. It’s hilarious how well this reflects real-life duck behavior. Despite it being a bit of a one-trick pony, it’s quite fun to play, and pretty difficult. Graphics and sound are crude, but not essential to the success of the game, which is all about gameplay, humor, and that slice of life that is familiar to anyone who’s been to the park.

Javel-ein

javel-ein

Javel-ein is great. Full stop. One of the best games I’ve played in a long time, and one of the best LD48 games I’ve ever played. It’s amazing how well done it is, in all aspects, but particularly core gameplay and level design. It’s a fairly standard platformer, but with a twist. You move using the arrow keys or WASD, and you aim and throw a javelin with the mouse. You Only Get One, so once thrown, you have to retrieve it before you can throw again, leaving you defenseless in between shots. The enemies are just challenging enough, and you have to kill all of them before you can activate the gateway to advance to the next level. You have to stay alive, can’t get hit once or touch lava, and there are also optional bonus pickups scattered throughout the levels for added challenge. Graphics are quite good for the style, using an amazing 16-color palette. The only weak point is the sound effects, which are typical bfxr blandness, but fill the intended purpose adequately. Early levels aren’t terribly challenging, but it ramps up pretty quickly, and the “boss” at the end of the enhanced edition is one of the best, most satisfying videogame battles I’ve won in a long, long time, overcome only by mastery over the controls AND a shrewd strategy that I discovered after dozens of attempts.

A Ronin Heart

A Ronin Heart

Just as impressive as Javel-ein, but a bit less innovative in terms of play mechanics; in this action platformer, your “only get one” thing is your life — take one hit and your artificial heart is cut loose, and you have a few seconds to try to grab it before you die. Since this only comes into play briefly, when you get hit, it doesn’t open up a lot of potential for interesting play, but it’s every bit as well polished as Javel-ein. A strong art style evokes Edo period Japan, the pixel samurai animation is rendered masterfully.

I Can Haz One?

I Can Haz One?

Even though this is a very simple game and kindof stupid, I still like it. The cat is cute, the music is cute, and it is fun to see all teh thingz u can hazzing. Joo r a cat, things fall from teh skyez, an joo haz to haz only one thingz. Try to haz teh moast raer thingz to get moar pointz.

You Only Get One Chance To Save Xmas

youonlygetonechancetosavexmas


Simple, but fun. You run around a shopping mall, trying to find the right colored gift for each person on your list before time expires. Shove other shoppers out of your way if you want to. The minor-chord variant on “Jingle Bells” is fitting. This could really be a fun holiday satire title if developed a bit more — I think there should be a Boss Santa or something that you have to fight at the end.

Ninja Kun’s Final Exam

ninja_kun

This difficult platformer provides challenge through stealth puzzles. You must evade the samurai and get to the door. The samurai are very difficult to defeat if they are alert to your presence, so your best bet is to sneak around them with your stealth, or to hit them with a shuriken while they are still unaware. You can use a rope to climb to the ceiling and hang, which makes for an interesting alternative to jumping, which you also can do. The graphics are well done, cute pixel art, similar in style to the original GameBoy. The major downside is the controls: using the left/right arrow keys to run, up/down arrows to use the rope, space to jump, and the number 1 key to shoot a star makes for a very awkward control layout. Also, if you make any mistakes, you start all over from the very beginning — I really wish the doors served as save points.

1111 pt 1

1111pt1

This literal take on the “You only get one” theme is brilliant. Flying around in space, shooting numbers >1, breaking them down to 1’s, collecting the 1’s to gain points to power up and face ever larger numbers.

The game is very easy, there’s no real challenge here, just button mash your way to victory. But it’s fun to see how your ship changes as you level up, and the interesting forms the higher numbers take.

 That One Coin

thatonecoin

This is a simple platformer, but it comes with a twist. You can win simply by collecting ONE coin. So the challenge becomes how far can you go WITHOUT collecing a coin? It’s like a very difficult platformer where one mistake kills you, but instead of ending the game through death, it ends it through “rewarding” you. It’s an innovative gameplay idea that turns the game on its head. Core gameplay is not terribly sophisticated — I’ve played many run and jump games that were done better — but the music and the sarcastic instruction text make it a fun play.

 One Shot

One Shot

Tiny pixel art stealth platformer where you get one bullet per level to get past multiple lethal sentries. There are also obstacles that will kill you, most of which you’ll discover inadvertently. This game is seriously hard, and will take a determined player a long time to beat all 11 levels. The developer wasn’t able to complete the game by deadline, but I hope they finish the remaining four levels originally intended.

Natural Sheep Care

natural_sheep_care

If you like grinding, then Natural Sheep Care is the game for you. I don’t like grinding, but I have to admit that I found this to be a captivating and well-realized game. It was far too difficult for my patience, but I really felt drawn to the game world, and wanted to find out what would happen if I could win enough to make it through the portal. The difficulty stems from the carefully balanced economy that demands frugality and perfection, as well as intelligent power-up tree management, and the controls, which includes a novel aiming system that demands pinpoint timing and execution.

YouTube reviewer RockLeeSmile is much better than I was at the game, and managed to play through in his video:

The game consists only of one level, and the reward payoff is anticlimactic, but the game shows a lot of promise if the story elements were expanded and allowed a sense of journey to develop.

 One Take

One Take

One of the most original games I’ve ever played, you’re a camera operator shooting a movie. You have to get the shot perfect in a single take — you only get one. Shoot three different movie scenes. Your score is based on how well you capture a sequence of moments that happen during the scene. If you hit your marks and follow the Director’s instructions, your movie will receive a good rating.

Blomster

Blomster

A nonviolent puzzle platformer, Blomster is a well-polished hike through a dark cave to hunt for flowers. The challenge is to figure out how to get to the exit gateway in each cave. You find a glowing ball that lights up when you are carrying it, and which has the power to make some platforms become solid or immaterial. You need to be clever in order to get the platforms to become solid when you need them to be, so you can walk on them and move through the level. The physics, lighting, controls, and camera are fantastic. It’s a fairly short play, and more relaxing than challenging, but quite enjoyable.