Why indie developers should consider making games
for the Nintendo 3DS!


DZU3Oz8VQAAR1EH.jpg

The TLDR version is:

Firstly, I’ll start by saying, I’m no indie, I’m just an old hobbyist, so take all this with a grain of salt!
Also, if it’s not apparent by my (Playstation) site, I’m not a Nintendo FanBoy, but there’s a lot that impressed me with the 3DS!



My last Nintendo device was a GameBoy Color (2000) which I got mostly for the digital camera add-on.
I signed up to the Nintendo Developer Portal (developer program) in early 2017, but I don’t have access to the Switch development, nor do I directly know anyone that does.

Below is mostly from my personal experience with the Net Yaroze, the official Playstation hobbyist program, and from what I’ve read and hear on the internet.
To my knowledge there’s no NDA braking information here, so don’t expect any secrets :D

Even with the Nintendo Switch well and truly here, I still believe the 3DS has great potential and I’m pretty happy and optimistic to be making a game for the 3DS!

Why the Nintendo 3DS?

I’ve considered here on my blog, many different gaming platforms, including:

  • Android, not 100% convinced about developing touch screen games and Android TV consoles (aka micro consoles) I think are still very niche.
  • PC, the more time I look into gaming, the more I loathe Steam and PC gaming in general.
  • XBox One, I’m not a fan of Universal Windows Platform (UWP), so not for me!
  • I contacted Sony to see if they would ever list Net Yaroze games, they won’t.


So why the Nintendo 3DS? why not?

Nintendo’s Developer Portal program is free (3DS & Wii-U only).
A bit dated but there’s a lot of current information here by @Dan_Adelman and worth a read if you’re new.

The hardware and features are completely new to me and I found it curious, so why not, I signed up.
I read their developer materials, got the software setup, built the demos, but without the development hardware I couldn’t see any of it working.

Without breaching Nintendo’s NDA, at this stage there was things I liked about it and things I really couldn’t stand, and all of which are just my personal preference and opinion (devOps stuff), so I wont mention them here, but I will say Nintendo are professional and helpful.

Strong recent sales, a long life left in 3DS

Admittedly, I wasn’t fully committed to 3DS development, mostly because of the strong adoption of the Nintendo Switch and rumors by internet ‘influencers’ predicting the end for the 3DS, so I just left it at that, that was 2017.
In hindsight, Nintendo from the launch of Switch, have stated it will continue to keep the 3DS alive well into the Switch’s lifespan and recently in a 2018 financial briefing:

The Nintendo 3DS characteristics, price points, and play styles differ from Nintendo Switch, and we intend to continue the Nintendo 3DS business separately and in parallel.

A multitude of titles across a wide variety of genres have been released for Nintendo 3DS, creating one of the strongest lineups ever.
We are, of course, continuing to develop new software, but we believe it is important to leverage the rich library of Nintendo 3DS series titles to drive sales with Nintendo 3DS owners, as well as consumers who recently purchased Nintendo 3DS hardware.

The affordability of the Nintendo 3DS family of systems places it in a critical position as the first dedicated video game platform for children who have no prior experience with dedicated video game systems. It is also positioned as an affordable product for budget-conscious consumers.
We will continue working to promote Nintendo 3DS to these consumers.

But, it wasn’t until seeing Nintendo Direct 3.8.2018 and the obvious strong level of commitment to the 3DS by Nintendo.

I watched it live and I was blown away by the (admittedly few) up coming 3DS titles!

Honestly, I was expecting something like Sony’s Vita update, Vita? what Vita?
And that’s when I invested in development hardware!
However, I had to wait for it, so in the meantime I picked up a cheap, original 3DS to play games and get familiar with it (and got time to write this!).

Apparently, the demand for the 3DS is so strong, it had it’s best January sales since 2013!

The 3DS had a strong December, but its January turned out to be even better.
January 2018 was the best January that the 3DS has had, “in terms of consoles sold”, since 2013.
The 3DS also saw its best January hardware dollar sales since January 2014.

And with 24 million units in Japan alone, and over 70 million units in the wild in total, that’s a huge install base and still wanting software support!

It’s a very well known and common practice for gaming platforms to keep alive their previous generation, if it was popular enough.
Usually, the newer hardware is sold below it’s profit margin (called lost leader).
Only after the Bill of Materials becomes cheaper and the console goes a revision, will the R&D get recouped and then finally be profitable.
This is why, I think the previous generation is maintained, it actually generates real profits!
Also the software developers, having many years of experience on the platform, amass a large code base (game engines, common routines, etc) which make development faster and usually with better quality & features!

As an example, when the PS2 launched (2000), the cost reduced and compact PSone model came out just a few months before, similar to the 2DS(August, 2013) and 2DS XL (July, 2017).
The original Playstation lived another 5-6 years after the PS2 launched!
(9 years if you include the Net Yaroze support, which officially closed in 2009!).

That’s the feeling I get with the 3DS, especially considering the 2DS range are cost cutting models, similar to what the PSOne was.
However, it’s not a perfect analogy, the Nintendo Switch didn’t launch with backwards compatibility like the PS2 did.
But saying that, the Playstation was only a single generation, the new 3DS/2DS spans three generations in one device!



3DS Hardware

Although, the original 3DS hardware is showing it’s age, its still an impressive platform today and still being sold in the form of 2DS.
The 2DS is the cheapest at around $80US and bundled with Mario Kart!
And all hardware revisions support DS physical and digital (eShop) games.

Some of the stand out hardware features for me include:

  • Augmented Reality capability.
  • Front and back facing cameras.
  • Gyroscope.
  • Stereoscopic 3D gaming, photos and videos.
  • Dual screen configuration.
  • Bottom touch screen.
  • Wifi & local networking.


The DS family

The DS family 2004 - 2013 The 3DS family 2011 – present The New 3DS family 2014 – present

Original DS - Discontinued


Original 3DS - Discontinued


2DS


New 3DS


New 3DS XL


New 2DS XL



The different versions can be a bit confusing, firstly the 2D versions don’t have the Stereoscopic 3D feature.
The “New” versions have better hardware specifications (increased RAM and faster CPU), support for amiibo, stereoscopic 3D is greatly improved with face tracking and includes a C Stick and extra shoulder buttons (two per side), which is an inbuilt version for the older 3DS’s Circle Pad Pro for the original 3DS.
The XL versions, have larger top and bottom screens, but with the same resolutions.

The hardware definitely has the potential for new and interesting forms of game play and applications, and it still (mostly) fits in your pocket ;)

And back catalog is obviously huge (which also includes virtual console 8bit & 16bit games) and with more new AAA & indie games also launching soon, for both 3DS and new 3DS, more gamers will buy more 3DS’s.
More hardware in the wild means more gamers buying more games!



3DS Software

The software features are too many for me to list here in any detail,
but here is a quick list of features which impressed me:

  • Face & Hand gesture recognition
  • Voice & handwriting recognition
  • Text-to-speech
  • Mii Face features

The Activity Log (pedometer) is a great idea, especially to motivate children to walk and to be physically active.

The Activity Log tracks both your game play activity, noting which games you’ve played and how long you’ve played them, as well as your physical activity, counting every step you take while carrying your system.


StreetPass
, is the transfer of player data with others close by, while in sleep mode.


There are tons of games with cool StreetPass features, and the list keeps getting longer. Challenge each other, exchange items, recruit helpers, and more!

Be sure to turn on the StreetPass feature in each game, so you can take advantage of StreetPass tags and information.

Oh, it’s not coming to the switch, so it’s completely unique to the 3DS!

My Nintendo is Nintendo’s rewards program.
It rewards users by game playing, StreetPass, Activity log, etc with Play Coins that can be redeemed for in-game content and discounts.


Sustainable ecosystem & eShop features



Nintendo’s eShop
has a lot going for it from a developer point of view!
For the uninitiated, the eShop is very easy to use and navigate, it’s not cluttered with features but what’s their is very polished and well done.
It has simple categories (genre & budget) & search, each listing has screenshots with optional video trailers and demo, theres also a watch list feature.
Although, the categories aren’t perfect, “there is no curated homepage pushing acclaimed games, and no algorithm behind the scenes recommending games to you based on what you play” via gamesindustry.biz.

Funding is also very easy, using Nintendo eShop cards which are sold everywhere and don’t expire, there’s also a credit card option.

Also Nintendo’s focus on security and age restricting content is very important.
Obviously when dealing with children a good parental control feature is required, and again it’s very simple and effective, spanning across all content.


Developer friendly rating & review system


The review system is again a simple, 5 star rating system and with 2 poll results:

Who do you think this title appeals to more? Everyone or Gamers

Which style of play is this title more suited to? Casual or Intense

In my opinion, this is a great review system, it makes the ‘reviewer’ focus on just the app!
And purchasers can gauge quickly if it’s good or not and who it’s for.
Perfectly simple!


[RANT ON]
It’s not full of unrelated opinions, questions and requests for support like in other stores.
I mean, is opinion really an ideal feature of an digital store?
With so many review sites, forums, etc etc, do ‘reviews’ even have to be there?

I think reviews have turned into something similar to social media “shit posting”.
I think this because “review bombing” is just part of life now and unfortunately the prevailing ‘meme culture’ isn’t a celebration of intellect and prosperity, but the opposite!
And who would moderate it for a family-friendly platform?

Don’t misunderstand me, I think there’s a place for opinions, questions, banter, scrutiny and yes even memes and shit posting, just not in a store, next to a product for sale.
To be clear, imagine walking into a physical store and seeing nothing but red and green, post-it notes with opinions, all over an item, so many you can’t even see the actual product!
Would you bother looking through the red ones? (admittedly I have weird taste, so I would start with red)

But it looks like that’s the inevitable future of the online, eCommerce world!
[RANT OFF]

So enjoy the 3DS’s ‘creator friendly’ rating systems while it’s still here!


Nintendo brand & pricing

As a ‘hopeful’ developer, there are many standout features of the eShop!
But personally, the most important is the Nintendo brand, it’s had it’s ups and downs, and most likely will continue to have them, but in general, its always been a symbol of gaming quality.
They value their own games & IP highly and I believe that spirit and brand quality is passed onto their 2nd and 3rd party developers by association.

Obviously, the developers can price and discount their own apps how they like, but in general the ecosystem isn’t focused on price but on providing a higher value proposition through quality of experience (games, apps, videos, etc) for a fair price, which is far more sustainable then other stores.


The ecosystem and a Visibility solution

The 3DS eShop in many ways is old fashioned, but I don’t think that’s a bad thing.
If you’ve been tuned into any game development discussions, these terms need no explanations.
Mobile stores and Steam have Shovelware (asset flips / fake games, broken or under developed games (bad controls & collisions, audio/video issues etc) where there’s a flood of apps onto the ecosystem, resulting in visibility issues.

Not a flooded ecosystem with shovelware

The 3DS has access to a huge library of games and applications, but it’s not growing exponentially with low quality games, actually I don’t think that ever was the case with the 3DS!

The original 3DS is really an under powered mobile phone, which makes it harder to develop for.

This typically means high level development tools (ie game engines), tend not to be supported because of the low RAM amount and/or weak CPU power.
Which brings the technical barrier to entry back up to around the 1990’s, I’m talking about C/C++, compiler, linker, make, etc, etc.
Basically requiring a Computer Science degree just to compile and run a triangle demo!

In 2014 the New 3DS was launched and with it came unity3D support.
However, it didn’t bring a flood of typically unity3D related shovelware onto the eShop!

I can guess why, it’s widely understood that porting high level engines to consoles is not smooth sailing, it’s often difficult and requires specific hardware knowledge, not so much the hardware details but how the engine ‘fits’ with the hardware and all the tricks it brings with it.

Well the new 3DS, being 2 to 4 times better then the original 3DS, is akin to a calculator in comparison to a modern day PC or current console, unfortunately this makes porting more nuanced, requiring more specific expertise.
The good new is that the support is there, if you can understand it and do it yourself, if not it can get expensive contracting that out.

So this process by itself, tends to separate the boys from the men (or if you prefer, the girls from the ladies), so to speak!
But there’s still a lot more to getting on the store!


QR Code a visibility tool
Games and apps are most visible when they launch, there’s a buzz on the internet and the store promotes it, which creates even more buzz!
However a few months, years later, visibility becomes a problem.
It’s still a good game (or app) but it’s hard for people to find it on the store, what can be done about it?
Well, Nintendo implemented a tool to alleviate this.

QR codes are similar to barcodes, but can hold more information, usually a website address (URL).
The eShop QR feature is again very simple and yet effective.
All you have to do is just get your QR image out there via social media, emails, print, merchandise etc, etc.
Anyone who’s interested with a 3DS, only needs to scan the QR code with the camera app and they will be redirected to your game’s eShop listing!
From there, it’s easy to see screenshots, video, download a demo, add it to your watch list or actually buy it.


Have you played Mutant Mudds?

Here’s the QR code:


Path way to Switch

This is a little speculative, but bear with me!
I would say it’s a safe bet that if you can make a “good” game and launch it on the 3DS (or even Wii-U) then eventually I would say your game would get on Switch before other games of a similar type that isn’t already on a Nintendo platform before hand.

Currently Nintendo’s curation process has high standards and I can safely assume this is initially because of the limited amounts of Development Kits.

Traditionally console development kits cost $20+ thousands which included a specialized hardware console units (with extra RAM for testing) and PC expansion board(s) or a heavily altered console which would allow programmers to step through code, trace variables and see RAM/VRAM directly.

Looks like Nintendo has chosen to make their switch development hardware, very similar to a retail unit, a development kit and test unit in one!

Unless these reports are completely wrong and mistook a test unit with a development kit which are more expensive (but a lot less then 20k these days).
I’m a little skeptical, there’s reason to keep the development kit and a test unit as completely separate devices, they serve two very different roles with very different hardware requirements and costs.
But seeing as the Switch is built from mobile technology, Nvidia Tegra, it’s very possible the same development philosophy was adopted.

If you have any mobile development experience, you’d know you can send you application via wifi or USB to the device and also remotely debug it.

That all said, most people use apps and don’t make them, so the manufacturing run of these devices are very, very low.
So in my opinion, it’s not a curation process so to speak, but a triage process, allocating units to the ‘more likely to live’ games.

If you haven’t built your game yet, develop it in a way that it is platform agnostic.
I would assume, most C/C++ programmers do this automatically, similar to what SDL does to abstract the hardware away.

As an example, say your gameplay.cpp draws objects via render.cpp which just outputs triangles and graphics states of the object to another cpp file which does the actual 3D graphic card calls.
The other file in this case would be compiled in depending on the target, ie graphicsOpenGL.cpp, graphicsDirectX.cpp, graphicsNintendo3DS.cpp or even graphicsNintendoSwitch.cpp, this is typically controlled via a makefile, IDE or even precompiler #define.

SDL doesn’t abstract 3D hardware, but it does other interfaces such as filesystem, sound, input, networking etc.
And speaking of SDL, it’s on the 3DS, but it’s still a work in progress, but still worth looking at.

This has been my approach anyway, I want to develop mostly on my preferred environment, (Eclipse IDE on GNU Linux) with frequent building and testing on different platforms and targets.
Actually, putting your code through multiple compilers is a great way to make sure your code is less buggy and more resilient.

I’m not familiar with Unity3D development, but I’ve seen a few people talking about how to best develop with consoles in mind.


Launching on a console

Nintendo provides very little public information on the process of launching.
I haven’t been through the self-publish phase with Nintendo (nor any other app store for that matter), but I can guess it’s not as simple as a mobile store or PC platform.

Again reading @Dan_Adelman’s interview is still very informative.

Net Yaroze had no official path to publishing but many games were distributed on the UK’s Official Playstation Magazine, so they drafted a Technical Requirements Checklist for Net Yaroze Software’ and without getting into details of that, here are some generalities:

Check list

  • Suitable content
  • Correct use of
    • logos and trademarks
    • platform conventions & standards
    • hardware and peripherals
    • System software and loading/saving
  • Can stay on for many hours without crashing in title, game demo, paused or menu screens.

In general, consoles pay extra scrutiny to all the apps on their hardware.

Conclusion

As a hobbyist, I don’t mind spending a few hundred dollars on hardware to develop on.
If I was more serious and actually released things, it would be a few thousands for sure!

I like the “computer science” of entertainment, it’s very creative and I enjoy the STEM challenges and more importantly, the victories!
I’m probably pretty low in the ranks of programmers and a teenager would know their mathematics better then me, but I’m pretty strong in persistence!
And with persistence you can overcome most challenges.

Well this has been my wall of text on Nintendo 3DS!
Now choose your own path, for your own reasons.
Good luck!


Mike.
@mgarcia_org

PS: Any questions, comments, feedback or corrections, feel free to contact me.
Or Sign up to my newsletter to get updates.