Posted on Leave a comment

Free Weekend – Tom Clancy’s Ghost Recon® Wildlands

Play Tom Clancy’s Ghost Recon® Wildlands for FREE starting now through Sunday at 1PM Pacific Time. You can also pickup Tom Clancy’s Ghost Recon® Wildlands at 50% off the regular price!*

If you already have Steam installed, click here to install or play Tom Clancy’s Ghost Recon® Wildlands. If you don’t have Steam, you can download it here.

*Offer ends Monday at 10AM Pacific Time

Posted on Leave a comment

Forever Entertainment is ‘Amazed’ at Progress of Hollow on Nintendo Switch

If you’ve been browsing the ‘Coming Soon’ section of the European eShop with regularity you’ve likely seen Hollow in the mix. A first-person shooter / horror title, it’s been hard to judge for Switch as the store’s trailer was only a cinematic video.

The developer is keen to highlight that progress is solid, however, tweeting a video of off-screen footage to show how the game is running to date. In tweeted replies it’s stated that the game is targeting native 1080p docked and 720p on the portable.

It seems to be another positive use of the Unreal engine, in particular – The Flame in the Flood, out today, is another title using Unreal. It’s been a notable step-up for Switch, as the Wii U was well known for struggling with the relatively common toolset.

Hollow is out on PC (Steam) on 16th November, so hopefully the Switch won’t be too far behind.

Posted on Leave a comment

Review: Neon Chrome (Switch eShop)

Finding a home on consoles is an ongoing challenge for games that have seen success on Steam and smart devices. While free-to-play or relatively inexpensive titles are becoming available on digital marketplaces thick and fast, it could be argued that there is a degree of stigma that comes with titles making the shift from mobile to console. There are some genuinely great releases and a select few have transferred well over to the console space, including the Switch eShop. While this ‘gold rush’ of titles on the Switch can reveal some hidden gems, it also runs the risk of being a victim of its own success.

Neon Chrome arrives on Switch as a stylish top-down, twin-stick and rogue-lite shooter, with the backdrop of a moody cyberpunk dystopia; the central plot is a combination of Thomas Anderson, Rick Deckard and John Mclain’s worst ‘bad day at the office’. 

You take up the role of a hacker whose mission it is to infiltrate the giant titular tower block known as Neon Chrome, and free the city by remotely taking down its ruler – the elected enigma that the building’s one million enslaved inhabitants ‘trust’, known only as the ‘Overseer’. Climbing thirty two floors in any given ‘neural link’,  the end goal is to reach the top and face off with said nemesis. 

From the outset the player sits in the ‘immersion chair’, able to possess one of three possible, randomly generated avatars referred to as ‘assets’ – representations of human inhabitants that have different weapon load-outs and strengths. Of course there is a local multiplayer option, so you can find a friend or three and snap off those Joy-Cons for some cooperative action. 

When dropped into the procedurally generated set of levels there is a mix of destructible corridor walls, drones to disable, scuttling little beasties to combat, lasers to avoid and special operatives to take of, as well as loot boxes and weapon upgrades to collect. If your avatar dies weapons and stats are retained for your next run, while cash can be traded to increase health, luck, energy or slots; there are a wealth of impressive sounding ‘cybernetic enhancements’ (abilities) to gather while progressing through the levels. You will die and grind a lot in the opening hour or so, but defeating a boss ensures that you at least get closer to the summit without having to start from the bottom again. 

Despite the evil mega corporation, themes of manipulation, control and a maniacal puppet master overlord rhetoric, the overall presentation of the game is pretty lacklustre. The opening cutscene, complete with mauve impressionist skyline and glowing signage, mostly takes care of exposition, with the selectable characters displayed as boxes of text and icons. The appropriately ominous and ambient synth soundtrack fits in well with the aesthetic, harking back to the Sci-Fi classics such as Blade Runner or Terminator. Within the levels, Neon Chrome also sets up a rich, interesting interface – you jump into chambers that are scattered around the levels, with futuristic fonts and fancy insignia for excitingly named special abilities – but the experience is diluted by actually making no real noticeable impact to the actual gameplay; the changes are stat based and don’t translate well into the action. 

Although the levels are procedurally generated, they rarely show any drastic variety in their layout, but the structures of narrow passageways and cubicle-like spaces or rooms – full of power generators – make for some impressive explosions. In terms of extra challenge outside of the gunplay, only colour coded doors that require finding the corresponding keys or taking down particular beacons provide any kind of obstacle, so navigating each floor becomes rather predictable. 

Despite stealth kills, strafing around bigger enemies, the occasional chain reaction of explosions causing widespread carnage – and the ensuing lighting effects that are undeniably satisfying – and Neon Chrome’s fixed top-down viewpoint doing a decent job of showing level layouts, the sprite models feel bland and so distant that the characters (only seen in the pause menu) possess very little personality or physical identity. This is especially notable in handheld mode, where the whole experience seems rather blurry compared to docked gameplay. 

Conclusion

When all is said and done, when the glow of the stylish aesthetic and the intrigue of the Cyberpunk Orwellian narrative have fizzled out, Neon Chrome emerges as an average, sometimes fun but more often than not generic twin-stick rogue-like with a Sci-Fi coat of paint; it rarely lives up to its explosive promise or explores its thematic potential in any meaningful way. It could be argued that the genre is solely about the mechanics, but with a neglected back story failing to compliment the reasonable if hardly revolutionary gameplay, it’s difficult not to feel a little flat about the experience on offer. 

Posted on Leave a comment

Blog: Scaling dedicated game servers with Kubernetes – Part 3

The following blog post, unless otherwise noted, was written by a member of Gamasutra’s community.
The thoughts and opinions expressed are those of the writer and not Gamasutra or its parent company.


Originally posted on compoundtheory.com.

This is part three of a five-part series on scaling game servers with Kubernetes.

In the previous two posts we looked at hosting dedicated game servers on Kubernetes and measuring and limiting their memory and CPU resources. In this instalment we look at how we can use the CPU information from the previous post to determine when we need to scale up our Kubernetes cluster because we’ve run out of room for more game servers as our player base increases.

Separating Apps and Game Servers

The first step we should make before starting to write code to increase the size of the Kubernetes cluster, is to separate our applications — such as match makers, the game server controllers, and the soon-to-be-written node scaler — onto different nodes in the cluster than where the game servers would be running. This has several benefits:

  1. The resource usage of our applications is now going to have no effect on the game servers, as they are on different machines. This means that if the matchmaker has a CPU spike for some reason, there is an extra barrier to ensure there is no way it could unduly affect a dedicated game server in play.
  2. It makes scaling up and down capacity for dedicated game servers easier – as we only need to look at game server usage across a specific set of nodes, rather than all potential containers across the entire cluster.
  3. We can use bigger machines with more CPU cores and memory for the game server nodes, and smaller machines with less cores and memory for the controller applications as they need less resources, in this instance. We essentially are able to pick the right size of machine for the job at hand. This is gives us great flexibility while still being cost effective.

Kubernetes makes setting up a heterogenous cluster relatively straightforward and gives us the tools to specify where Pods are scheduled within the cluster – via the power of Node Selectors on our Pods. It’s worth noting that that there is also a more sophisticated Node Affinity feature in beta, but we don’t need it for this example, so we’ll ignore its extra complexity for now. To get started, we need to assign labels (a set of key-value pairs) to the nodes in our cluster. This is exactly the same as you would have seen if you’ve ever created Pods with Deployments and exposed them with Services, but applied to nodes instead. I’m using Google Cloud Platform’s Container Engine, and it uses Node Pools to apply labels to nodes in the cluster as they are created and set up heterogenous clusters – but you can also do similar things on other cloud providers, as well as directly through the Kubernetes API or the command line client. In this example, I added the labels role:apps and role:game-server to the appropriate nodes in my cluster. We can then add a nodeSelector option to our Kubernetes configurations to control which nodes in the cluster Pods are scheduled onto.

For example, here is the configuration for the matchmaker application, where you can see the nodeSelector set to role:apps to ensure it has container instances created only on the application nodes (those tagged with the “apps” role).

apiVersion: extensions/v1beta1
kind: Deployment
metadata: name: matchmaker
spec: replicas: 5 template: metadata: labels: role: matchmaker-server spec: nodeSelector: role: apps # here is the node selector containers: - name: matchmaker image: gcr.io/soccer/matchmaker ports: - containerPort: 8080

By the same token, we can adjust the configuration from the previous article to make all the dedicated game server Pods schedule just on the machines we specifically designated for them, i.e. those tagged with role: game-server:

apiVersion: v1
kind: Pod
metadata: generateName: "game-"
spec: hostNetwork: true restartPolicy: Never nodeSelector: role: game-server # here is the node selector containers: - name: soccer-server image: gcr.io/soccer/soccer-server:0.1 env: - name: SESSION_NAME valueFrom: fieldRef: fieldPath: metadata.name resources: limits: cpu: "0.1"

Note that in my sample code, I use the Kubernetes API to provide a configuration identical to the one above, but the yaml version is easier to understand, and it is the format we’ve been using throughout this series.

A Strategy for Scaling Up

Kubernetes on cloud providers tends to come with automated scaling capabilities, such as the Google Cloud Platform Cluster Autoscaler, but since they are generally built for stateless applications, and our dedicated game servers store the game simulation in memory, they won’t work in this case. However, with the tools that Kubernetes gives us, it’s not particularly difficult to build our own custom Kubernetes cluster autoscaler! Scaling up and down the nodes in a Kubernetes cluster probably makes more sense for a cloud environment, since we only want to pay for the resources that we need/use. If we were running in our own premises, it may make less sense to change the size of our Kubernetes cluster, and we could just run a large cluster(s) across all the machines we own and leave them at a static size, since adding and removing physical machines is far more onerous than on the Cloud and wouldn’t necessarily save us money since we own/lease the machines for much longer periods. There are multiple potential strategies for determining when you want to scale up the number of nodes in your cluster, but for this example we’ll keep things relatively simple:

  • Define a minimum and maximum number of nodes for game servers, and make sure we are within that limit.
  • Use CPU resource capacity and usage as our metric to track how many dedicated game servers we can fit on a node in our cluster (in this example we’re going to assume we always have enough memory).
  • Define a buffer of CPU capacity for a set number of game servers at all times in the cluster. I.e. add more nodes if at any point you couldn’t add n number of servers to the cluster without running out of CPU resources in the cluster at any point in time.
  • Whenever a new dedicated game server is started, calculate if we need to add a new node in the cluster because the CPU capacity across the nodes is under the buffer amount.
  • As a fail-safe, every n seconds, also calculate if we need to add a new node to the cluster because the measured CPU capacity resources are under the buffer.

Creating a Node Scaler

The node scaler essentially runs an event loop to carry out the strategy outlined above. Using Go in combination with the native Kubernetes Go client library makes this relatively straightforward to implement, as you can see below in the Start() function of my node scaler. Note that I’ve removed most of the error handling and other boilerplate to make the event loop clearer, but the original code is here if you are interested.

// Start the HTTP server on the given port
func (s *Server) Start() error { // Access Kubernetes and return a client s.cs, _ = kube.ClientSet() // ... there be more code here ... // Use the K8s client's watcher channels to see game server events gw, _ := s.newGameWatcher() gw.start() // async loop around either the tick, or the event stream // and then scaleNodes() if either occur. go func() { log.Print("[Info][Start] Starting node scaling...") tick := time.Tick(s.tick) // ^^^ MAIN EVENT LOOP HERE ^^^ for { select { case <-gw.events: log.Print("[Info][Scaling] Received Event, Scaling...") s.scaleNodes() case <-tick: log.Printf("[Info][Scaling] Tick of %#v, Scaling...", tick) s.scaleNodes() } } }() // Start the HTTP server return errors.Wrap(s.srv.ListenAndServe(), "Error starting server")
}

For those of you who aren’t as familiar with Go, let’s break this down a little bit:

  1. kube.ClientSet() – we have a small piece of utility code, which returns to us a Kubernetes ClientSet that gives us access to the Kubernetes API of the cluster that we are running on.
  2. gw, _ := s.newGameWatcher – Kubernetes has APIs that allow you to watch for changes across the cluster. In this particular case, the code here returns a data structure containing a Go Channel (essentially a blocking-queue), specifically gw.events, that will return a value whenever a Pod for a game is added or deleted in the cluster.  Look here for the full source for the gameWatcher.
  3. tick := time.Tick(s.tick) – this creates another Go Channel that blocks until a given time, in this case 10 seconds, and then returns a value. If you would like to look at it, here is the reference for time.Tick.
  4. The main event loop is under the “// ^^^ MAIN EVENT LOOP HERE ^^^” comment. Within this code block is a select statement. This essentially declares that the system will block until either the gw.events channel or the tick channel (firing every 10s) returns a value, and then execute s.scaleNodes(). This means that a scaleNodes command will fire whenever a game server is added/removed or every 10 seconds.
  5. s.scaleNodes() – run the scale node strategy as outlined above.

Within s.scaleNodes() we query the CPU limits that we set on each Pod, as well as the total CPU available on each Kubernetes node within the cluster, through the Kubernetes API. We can see the configured CPU limits in the Pod specification via the Rest API and Go Client, which gives us the ability to track how much CPU each of our game servers is taking up, as well as any of the Kubernetes management Pods that may also exist on the node. Through the Node specification, the Go client can also track the amount of CPU capacity available in each node. From here it is a case of summing up the amount of CPU used by Pods, subtracting it from the capacity for each node, and then determining if one or more nodes need to be added to the cluster, such that we can maintain that buffer space for new game servers to be created in. If you dig into the code in this example, you’ll see that we are using the APIs on Google Cloud Platform to add new nodes to the cluster. The APIs that are provided for Google Compute Engine Managed Instance Groups allow us to add (and remove) instances from the Nodepool in the Kubernetes cluster. That being said, any cloud provider will have similar APIs to let you do the same thing, and here you can see the interface we’ve defined to abstract this implementation detail in such a way that it could be easily modified to work with another provider.

Deploying the Node Scaler

Below you can see the deployment YAML for the node scaler. As you can see, environment variables are used to set all the configuration options, including:

  • Which nodes in the cluster should be managed
  • How much CPU each dedicated game server needs
  • The minimum and maximum number of nodes
  • How much buffer should exist at all times
apiVersion: extensions/v1beta1
kind: Deployment
metadata: name: nodescaler
spec: replicas: 1 # only want one, to avoid race conditions template: metadata: labels: role: nodescaler-server spec: nodeSelector: role: apps strategy: type: Recreate containers: - name: nodescaler image: gcr.io/soccer/nodescaler env: - name: NODE_SELECTOR # the nodes to be managed value: "role=game-server" - name: CPU_REQUEST # how much CPU each server needs value: "0.1" - name: BUFFER_COUNT # how many servers do we need buffer for value: "30" - name: TICK # how often to tick over and recheck everything value: "10s" - name: MIN_NODE # minimum number of nodes for game servers value: "1" - name: MAX_NODE # maximum number of nodes for game servers value: "15"

You may have noticed that we set the deployment to have replicas: 1. We did this because  we always want to have only one instance of the node scaler active in our Kubernetes cluster at any given point in time. This ensures that we do not have more than one process attempting to scale up, and eventually scale down, our nodes within the cluster, which could definitely lead to race conditions and likely cause all kinds of weirdness. Similarly, to ensure that the node scaler is properly shut down before creating a new instance of it if we want to update the node scaler, we also configure strategy.type: Recreate so that Kubernetes will destroy the currently running node scaler Pod before recreating the newer version on updates, also avoiding any potential race conditions.

See it in Action

Once we have deployed our node scaler, let’s tail the logs and see it in action. In the video below, we see via the logs that when we have one node in the cluster assigned to game servers, we have capacity to potentially start forty dedicated game servers, and have configured a requirement of a buffer of 30 dedicated game servers. As we fill the available CPU capacity with running dedicated game servers via the matchmaker, pay attention to how the number of game servers that can be created in the remaining space drops and eventually, a new node is added to maintain the buffer!

[embedded content]

Next Steps

The fact that we can do this without having to build so much of the foundation is one of the things that gets me so excited about Kubernetes. While we touched on the Kubernetes client in the first post in this series, in this post we’ve really started to take advantage of it. This is what I feel the true power of Kubernetes really is – an integrated set of tools for running software over a large cluster, that you have a huge amount of control over. In this instance, we haven’t had to write code to spin up and spin down dedicated game servers in very specific ways – we could just leverage Pods. When we want to take control and react to events within the Kubernetes cluster itself, we have the Watch APIs that enable us to do just that! It’s quite amazing the core set of utility that Kubernetes gives you out of the box that many of us have been building ourselves for years and years. That all being said, scaling up nodes and game servers in our cluster is the comparatively easy part; scaling down is a trickier proposition. We’ll need to make sure nodes don’t have game servers on them before shutting them down, while also ensuring that game servers don’t end up widely fragmented across the cluster, but in the next post in this series we’ll look at how Kubernetes can also help in these areas as well! In the meantime, as with the previous posts – I welcome questions and comments here, or reach out to me via Twitter. You can see my presentation at GDC this year as well as check out the code in GitHub, which is still being actively worked on! All posts in this series:

  1. Containerising and Deploying
  2. Managing CPU and Memory
  3. Scaling Up Nodes
  4. Scaling Down Nodes (upcoming)
  5. Running Globally (upcoming)
Posted on Leave a comment

Mobile developer Supersolid nets $4M to expand London team

Mobile game developer Supersolid has netted $4 million in funding to ramp up production and expand its London team.

The studio has worked on a variety of titles including infinite runner, Super Penguin, and city-building RPG, Adventure Town

As reported by VentureBeat, the company’s growing roster has racked up over 50 million downloads to date. 

Supersolid CEO and co-founder Ed Chin believes the studio’s knack for creating engaging social and casual free-to-play titles is the secret to its success. 

“I think a big part of our success comes from the long experience we have in the team for developing engaging social and casual free-to-play games,” explained Chin. 

“Much of our senior team have worked together for many years prior to the founding of Supersolid, and together we created some of the most successful early free-to-play games, which happened to be on Facebook.

“The mobile games market has seen high saturation in particular game genres, but there remains a lot of opportunity in mastering new genres. We believe this to be especially the case for several under-served genres with a wider casual audience.”

Posted on Leave a comment

Riot co-founders returning to the front lines of game development

Riot co-founders Brandon Beck and Marc Merrill are leaving the world of management and heading back to the front lines of game development. 

Writing in a blog post, the pair said they’re clamoring for a return to the early days when they could spend their time thinking about how to turn League of Legends into a hit.

“When we founded Riot eleven years ago, we spent virtually every waking hour of the da thinking about how to make League of Legends as great of an experience as possible,” they wrote.

“As League started having success however, Riot Games grew from those humble beginnings where we could feed the whole team with a handful of pizzas to now having over 2,500 Rioters across 20 offices around the world.

“That growth had lots of benefits: our capabilities improved, our reach broadened, and we could deliver League of Legends and eSports to more players than ever before. But it also meant the majority of our time was allocated to ‘managing’ the company rather than creating incredible experiences for players.”

For the duo, it was an unfortunate side effect of League’s success, but now they’ll be winding back the clock and jumping back into the trenches for the company’s next chapter.  

In their absence, Riot president Nicolo Laurent, CFO Dylan Jadeja, and CTO Scott Gelb will work together to handle the day-to-day running of the studio.

Posted on Leave a comment

Nintendo Download: 12th October (Europe)

It’s that time, once again, for the European Nintendo Download Update. It’s another busy week with the Switch in particular getting loaded up with tempting options, though the 3DS and Wii U also have a bit to offer. Let’s just right into the details, shall we?

Switch Retail Download

Sine Mora EX (THQ Nordic, €29.99 / £24.99) – A shoot ’em up originally developed by Digital Reality and Grasshopper Manufacture, this is a stylish shooter in which you can slow down time. It has a mature, gritty story to work through, along with other modes for pick up and play sessions. Unfortunately some of the ‘EX’ add-ons are underwhelming (to put it mildly), but we still gave it a modest recommendation in our Sine Mora EX review.

88 Heroes: 98 Heroes Edition (Rising Star Games, €29.99 / £29.99) – An action platformer with an interesting twist; you have 88 levels to clear with a time limit of 88 seconds in each. The gameplay seems to throw in various twists to keep things interesting, and on Switch it includes all of the DLC that was sold separately in other versions.

Tiny Barbarian DX (Nicalis, €29.99 / £26.99) – An action platformer that pays homage to the retro era, it supports local co-op and also has “four lengthy episodes”. We suspect most will aim to get the physical edition of this, however, which will include various goodies in the first run. Our review will be with you very soon.

Touhou Kobuto V: Burst Battle (NIS America, €29.99 / £29.99) – A spin-off of the popular Touhou Project series, Touhou Kobuto V: Burst Battle is described as a 3D shooter with fighting elements, which tasks you with taking down opponents 1 vs 1 using projectile and melee attacks. Unfortunately we were left rather unimpressed in our Touhou Kobuto V: Burst Battle review. Available from 13th October.

Switch eShop

Wulverblade (Fully Illustrated, €16.99 / £14.99) – The beat ‘em up genre isn’t as popular as it once was, but this intriguing release does an excellent job of reminding us of its merits. Rooted in British history and packed full of passion, it’s a brutally tough game but one we gave a hearty recommendation in our Wulverblade review.

The Flame in the Flood (The Molasses Flood, €14.99 / £14.99) – Created by a team of former ‘AAA’ developers, this arrives on Switch as the Complete Edition. An intriguing ‘roguelite’ survival game, you travel along the river and alight at various towns and buildings to seek gear and vital supplies. We’ll bring you a review soon, but in the meantime here’s an interview with the game’s designer.

Yono and the Celestial Elephants (Plug In Digital, €14.99 / £12.99) – A rather charming adventure game in which a plucky elephant explores, tackles puzzles and even gets into a bit of combat. Introduced in the most recent Nindies Showcase it’s undoubtedly appealing, but we’ll see whether it’s worth a purchase in our upcoming review.

Unbox: Newbie’s Adventure (Merge Games, €26.99 / £22.49 until 18th October, then €29.99 / £24.99) – Also coming to retail in November, this is a physics-based 3D platformer aims to encourage reminiscing over the genre’s golden era while introducing its own ideas. In some ways it succeeds but there are some flaws; we gave it a light recommendation in our Unbox: Newbie’s Adventure review.

Neon Chrome (10Tons, €14.99 / £12.99) – A ‘top-down Cyberpunk shooter, this looks big on action and supports co-op for up to four players if you want to tackle it with a buddy. It has procedurally generated stages on offer but struggles to inspire that ‘one-more go’ feeling, as we explain in our Neon Chrome review.

Squareboy vs Bullies: Arena Edition (Ratalaika Games, €4.99 / £4.49) – A beat ‘em up that was once on mobile, you can brawl alone or with a friend to beat up wannabe tormentors. A reasonable game, albeit one perhaps lacking a little overall, we gave it a modest recommendation in our review.

The King of Fighters ’95 (HAMSTER, €6.99 / £6.29) – Another ASA release, in this case continuing our run of KoF titles. This second game in the series brings a rather welcome option that would go to become a series staple: You are not confined to pre-determined teams, so you can pick any characters from the roster to make your own dream trio. That said, its arguably superior successor is already available.

Switch eShop Demo

Oceanhorn: Monster of Uncharted Seas (FDG Entertainment, free)

Switch eShop Temporary Discounts

Infinite Minigolf (Zen Studios, €10.49 / £9.44 until 17th October, normally €14.99 / £13.49)

The Bridge (The Quantum Astrophysicists Guild, €7.49 / £6.74 until 2nd November, normally €9.99 / £8.99)

3DS Retail Download

Story of Seasons: Trio of Towns (Nintendo, €39.99 / £34.99) – This sequel (which is a Harvest Moon game in all but name) builds upon the charming farm-sim aspects of the original and adds new ideas while expanding the concept. We were rather impressed with it in our Story of Seasons: Trio of Towns review. Available from 13th October.

New Nintendo 3DS eShop

Physical Contact: 2048 (Collavier Corporation, €3.73 / £3.29) – A series we first saw on Switch that now jumps to New 3DS, in this case offering local multiplayer and solo play in a variation on a popular smart device number game. We weren’t particularly impressed with the Switch version.

Physical Contact: Picture Place (Collavier Corporation, €3.73 / £3.29) – Another in this series of relatively simplistic games that encourages local multiplayer. Like its brethren this was unimpressive on Switch.

Physical Contact: SPEED (Collavier €3.75 / £3.29) – A rather simplistic card game that can be played solo or with another player; it had a notoriously bad trailer on the Switch eShop; it’s not a great game.

3DS DLC

Culdcept Revolt – Double Helix (NIS America, free)

3DS eShop Temporary Discounts

Farming Simulator 18 (Focus Home Interactive, €26.99 / £22.49 until 19th October, normally €29.99 / £24.99)

Jett Rocket II: The Wrath of Taikai (Shin’en Multimedia, €6.70 / £5.70 until 2nd November, normally €8.99 / £7.66)

Gunslugs (Engine Software, €1.00 / £0.80 until 19th October, normally €1.99 / £1.79)

Gunslugs 2 (Engine Software, €1.00 / £0.80 until 19th October, normally €4.99 / £4.49)

Mindfeud (Engine Software, €1.00 / £0.80 until 19th October, normally €1.99 / £1.79)

Proun+ (Engine Software, €1.00 / £0.90 until 19th October, normally €3.99 / £3.50)

Sumico (Engine Software, €1.00 / £0.90 until 19th October, normally €2.99 / £2.69)

Snow Moto Racing 3D (Zordix AB, €3.99 / £3.59 until 19th October, normally €7.99 / £7.19)

Gourmet Dream (CIRCLE Entertainment, €4.00 / £3.83 until 26th October, normally €5.00 / £4.79)

Fairune 2 (CIRCLE Entertainment, €5.59 / £5.51 until 26th October, normally €6.99 / £6.89)

Mercenaries Saga 3 (CIRCLE Entertainment, €4.79 / £4.71 until 26th October, normally €5.99 / £5.89)

Noah’s Cradle (CIRCLE Entertainment, €3.49 / £2.79 until 26th October, normally €4.99 / £3.99)

Of Mice and Sand (CIRCLE Entertainment, €6.39 / £6.31 until 26th October, normally €7.99 / £7.89)

Parascientific Escape – Gear Detective (CIRCLE Entertainment, €4.00 / £3.83 until 26th October, normally €5.00 / £4.79)

Polara (CIRCLE Entertainment, €3.50 / £3.49 until 26th October, normally €5.00 / £4.99)

The Legend of Dark Witch 2 (CIRCLE Entertainment, €5.59 / £5.51 until 26th October, normally €6.99 / £6.89)

Carps & Dragons (Abylight, €1.99 / £1.79 until 19th October, normally €4.99 / £4.49)

Darts Up 3D (EnjoyUp Games, €0.98 / £0.88 until 9th November, normally €2.99 / £2.69)

Football Up 3D (EnjoyUp Games, €1.97 / £1.55 until 9th November, normally €2.99 / £2.36)

Murder on the Titanic (Joindots, €3.99 / £2.99 until 26th October, normally €7.99 / £5.99)

Pazuru (Joindots, €2.99 / £1.99 until 26th October, normally €5.99 / £3.99)

Safari Quest (Joindots, €3.49 / £2.49 until 26th October, normally €6.99 / £4.99)

New 3DS eShop Temporary Discounts

Hit Ninja (Petite Games, €1.59 / £1.43 until 26th October, normally €1.99 / £1.79)

Pinball Breakout (nuGAME, €4.90 / £4.20 until 9th November, normally €7.00 / £6.00)

3DS eShop Permanent Discounts

Luigi’s Mansion 2 (Nintendo Selects, €19.99 / £15.99, previously €44.99 / £39.99)

Kirby: Triple Deluxe (Nintendo Selects, €19.99 / £15.99, previously €39.99 / £34.99)

Super Mario 3D Land (Nintendo Selects, €19.99 / £15.99, previously €44.99 / £39.99)

Wii U eShop

Eba & Egg: A Hatch Trip (Giga Drill Games, €4.99 / £4.49) – In an idea seen recently in I and Me, you control two characters at the same time while working through over 25 levels. Despite some nice ideas it’s lacking in quality and polish, as we suggest in our Eba & Egg: A Hatch Trip review.

Wii U Virtual Console

MOTOROADER (IREM, €5.99 / £5.39) – An overhead racer that likely had a lot of competition back in the day, and perhaps struggled as a result. We were certainly unimpressed in our Wii Virtual Console review.

Legend of Hero Tonma (EXTREME, €5.99 / £5.39) – We described it as a kids’ version of Ninja Spirit once upon a time, a colourful action platformer that arguably fails to live up to its contemporaries. You can read all about it in our Legend of Hero Tonma review from the Wii Virtual Console days.

Wii U eShop Temporary Discounts

Dragon Skills (Joindots, €3.99 / £3.39 until 26th October, normally €7.99 / £6.79)

Jones on Fire (Joindots, €2.99 / £2.29 until 26th October, normally €5.99 / £4.59)

Queen’s Garden (Joindots, €3.49 / £2.74 until 26th October, normally €6.99 / £5.49)

Sweetest Thing (Joindots, €3.49 / £2.74 until 26th October, normally €6.99 / £5.49)

360 Breakout (nuGAME, €4.90 / £4.20 until 9th November, normally €7.00 / £6.00)

Laser Blaster (Petite Games, €1.59 / £1.43 until 26th October, normally €1.99 / £1.79)


Lots of options to tempt you this week – let us know what you’ll be downloading in the poll and comments below.

Posted on Leave a comment

New Z-Moves Revealed In Pokémon Ultra Sun And Ultra Moon

Just in case you’re not already excited enough about the forthcoming Pokémon Ultra Sun and Pokémon Ultra Moon, Nintendo has released more information on new Z-Moves in the game as well as details on the Pokémon Necrozma.

First up is the Photon Geyser, is a Psychic-type special move that only Necrozma can learn:

This attack engulfs the target in a pillar of light and compares the user’s Attack and Sp. Atk stats, dealing damage to the opponent according to whichever is higher. Necrozma can also learn this move when it is in Dusk Mane form or Dawn Wings form. 

But that’s not all; Solgaleo and Lunala will receive the exclusive Z-Moves Searing Sunraze Smash and Menacing Moonraze Maelstrom respectively:

Searing Sunraze Smash is a new Steel-type Z-Move that can be used if you have a Solgaleo that knows Sunsteel Strike hold the exclusive Z-Crystal Solganium Z. This attack damages a target while ignoring any effects of the target’s Ability. Menacing Moonraze Maelstrom is a new Ghost-type Z-Move that can be used if you have a Lunala that knows Moongeist Beam hold the exclusive Z-Crystal Lunalium Z. As with Searing Sunraze Smash, this attack also damages a target while ignoring any effects of the target’s Ability. A Necrozma that knows Sunsteel Strike or Moongeist Beam and is holding the corresponding Z-Crystal will also be able to unleash Searing Sunraze Smash or Menacing Moonraze Maelstrom!

In addition to this info, we also know that after taking over the Legendary Pokémon Solgaleo in Pokémon Ultra Sun or the Legendary Pokémon Lunala in Pokémon Ultra Moon, the mysterious Necrozma becomes Dusk Mane Necrozma (Psychic/Steel) or Dawn Wings Necrozma (Psychic/Ghost).

Phew! We’re not done yet, though. The Rotom Dex returns in Pokémon Ultra Sun and Ultra Moon, too. You can form a bond with the Rotom to unlock its Z-Power, which allows you to use a second Z-Move in battle. Swish!

Does all this new info interest you? Let us know with a comment.