Published on April 2nd, 2013 | by Joe Matar


NightSky Review

Spread the love

android-night-sky-thumbyAt first glance, nothing about NightSky looks particularly inventive. It’s an indie physics puzzle-platformer with a minimal color palette that seems to be quite chic these days (Limbo, Contre Jour, Furfur and Nublo). Still, while it’s perhaps not groundbreaking, it does what it’s doing very well indeed. It establishes a consistent mood and, most importantly for this type of game, presents the player with clever new applications of its core mechanic from beginning to end.

There’s a story in NightSky that both is and isn’t irrelevant. Conceived by Daisuke Amaya (better known as Pixel, the developer of the best indie game ever made, Cave Story), the game’s narrative is only directly showcased in the short opening and ending cut scenes. It’s about a guy who finds a glowing sphere on the beach, takes it home, and from that point on has a lot of strange dreams about surreal lands. You control the sphere in question through these dreams and, though the narrative doesn’t appear to do much more than introduce the setting, it also subtly influences the level design.

The game progresses through 11 worlds, each divided into smaller levels (usually 13) with the goal of getting the sphere from one end to the next. These levels are generally composed of three screens and one might expect (since it’s typically the case with games in this genre) puzzle solving on all of them. But NightSky’s levels handle things differently. Often, there’s really only one major puzzle restricted to one of the level’s screens hindering your progress and the remaining screens are much simpler. Very frequently the first or last screen of the level contains no obstacles whatsoever, simply requiring you to roll to the right. Although the worlds are divided up into such tiny levels, this small touch provides a palpable sense of progression through the dreamscape, rather than just being a series of isolated brainteasers.


Furthermore, NightSky is a very solid puzzle game. Each level presents a variation on the core concept, so the challenge is consistently refreshing. In most levels you have direct control over the sphere’s speed and direction but in others your options will be reduced: you’ll have no direct speed control or you won’t be in control of the sphere at all, only being able to affect it by manipulating environmental objects like pinball paddles or stationary pellet guns. A handful of really fun levels start off with the sphere inside a vehicle, like a car or a jumping contraption, and your manipulation of the sphere controls how the vehicle moves.

When directly controlling the sphere, much of the challenge comes down to controlling it with finesse to clear obstructions and avoid gaps. You can choose between three control types with which to do so. With one you swipe repeatedly to control speed and hold to stop; another lets you tilt your Android to move; and a third simply adds left and right arrows and speed and stop buttons to the bottom of the screen. Unfortunately, for all of the developer’s efforts, the third and least inventive control scheme feels like the only real option. Swiping, I could never get fast enough to clear some obstacles and with tilt controls it proved difficult to get the sphere to ever stop completely. Regardless of which control type you’re using, another issue is that tapping with two fingers resets the level and there are times that the game will register your presses incorrectly, putting you back at the start. Still, on the whole, control is generally serviceable.


NightSky is commendable for the somber, relaxed tone that it achieves. The graphics are largely in silhouette. This is not an entirely atypical look for indie games with more modest budgets, but it doesn’t look like a cheap copout here, instead adding to its serene aesthetic. There’s actually quite a lot of color, like the blue glow of the sphere that grows along with your speed and the backgrounds composed of various colors fading into each other communicating different times of day. The environment on the whole is highly detailed. At one point, I genuinely gawked at how intricately designed some of the trees were. The music is appropriately tranquil electronica that kicks in sporadically and even the sound effects are pleasant with little clinking noises every time the sphere collides with something.

The game is a little buggy. It suffered some occasional fairly major slowdown on my Galaxy Nexus. Also, changing things in the options menu sometimes crashed the game out. Finally, there were several occasions that the sound disappeared completely and didn’t return until I restarted the app.

NightSky is a challenging puzzle-platformer that manages to have a sense of an overarching adventure despite its small levels. It’s inventive throughout and features hidden areas and an alternative mode that adds significant changes to each level, making for a lot of content. I had to drop it down a few points because of the bugs, but, make no mistake, this is the best physics puzzle-platformer I’ve played in some time and easily the best on the Android.

NightSky Review Joe Matar

Is it hardcore?

Summary: A rare—not to mention inventive and fun—example of a moody indie puzzle-platformer that actually achieves the mood it’s going for. Unfortunately, it’s also a bit buggy.



User Rating: 0 (0 votes)

Tags: , ,

About the Author

Joe Matar hasn't stopped gaming ever since he first played Zak McKracken and the Alien Mindbenders for the Commodore 64. He is always on the lookout for solid game narratives and never gets tired of writing about the games that do it right. Or terribly wrong.

2 Responses to NightSky Review

  1. Pingback: Welcome to the Spring Issue of Hardcore Droid! | Hardcore Droid

  2. Pingback: The Best Android Indies of 2013 | Android Indie | Hardcore Droid

Leave a Reply

Back to Top ↑

(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//','ga'); ga('create', 'UA-40229548-1', ''); ga('require', 'displayfeatures'); ga('send', 'pageview');