Hacker News new | past | comments | ask | show | jobs | submit login
SmileBASIC 4 for Nintendo Switch (nintendo.com)
132 points by Fr0styMatt88 on April 25, 2020 | hide | past | favorite | 68 comments



> In order to upload your works to the server or unlimited downloading of the published works, you need to purchase Server Tickets in the game.

ok.. so it costs money, but if I want to share a game I write, or look at others, I'd have to buy some kind of ticket? $9 to upload a limited amount of code, https://ec.nintendo.com/AU/en/titles/70010000010544/consumab...

What's next, some kind of "purchase another 100 lines of code" DLC package? You know, as a kid I learned BASIC from school friends, neighbors, and family members, and taught BASIC to many more, by trading the source code freely. Books like "BASIC Computer Games" were gotten at the library for free. My computer booted into BASIC for free.

Now I realize how disadvantaged I was, this is the future -- teaching children about "platforms", that hold your code hostage, monetize on your creative works, and nickel and dime away your creative energy.

To think, all that nasty PIRATING of BASIC code !! Without paying anyone?! Thousands of dollars on the table, finally somebody is monetizing this!


Well, let me try explaining how it works, because they honestly do a pretty bad job of it.

So SmileBASIC 4 itself costs 25 USD (40 AUD).

A server ticket costs 5 USD (9 AUD). Despite the name, these tickets never expire or get used up. How these work is as follows:

- If you have 0 tickets, you can only download once every 8 hours, and you can't upload anything.

- If you have n tickets, where n > 0, then you have unlimited downloads, and can upload 10*n projects at once. (Note that you can take down old projects to make room for new ones.)

Personally speaking, unless you really need to upload a lot of projects at once (and 10 slots goes further than you might think), you really only need one ticket.

The reason this server ticket system exists is because SmileBoom is a pretty small company (their site lists 8.2 million yen in capital, about 76,000 USD or 120,000 AUD), and this helps offset server costs.

In any case, if you still find this system distasteful, there's nothing stopping you from continuing to do it the old way, manually typing in programs by hand. That said, I don't think it's so unreasonable to ask for a few bucks for server access, especially as a one-time fee.

(Note also that originally the plan was for SmileBASIC 4 to only be sold as a bundle with one ticket. The standalone version was added because there were issues with it showing up in the eShop properly otherwise.)

EDIT: One more note: this is a project limit, but you can have multiple files in a project, and the maximum project upload size is 20 MB. As you probably know, text doesn't take up much space, so you can cram a LOT of small programs into one project if you need to.


Server costs? Is someone uploading gigabytes of code?


Server: 50,- $ per Month Server for HA: 50,- $ per Month Keeping it up to date (like 1-3h per month): 300,- $ per Month Setup & Backup: 10h? 1000$ initial cost On-Call: Probably not affordable for a small company.

I do get it, it sounds like a super small amount they need to pay to keep this afloat but still, you don't know how much development they put in before and how much maintenance they have after.

Assuming that keeping Servers up-running should not cost any money, is a weird assumption.

Yes i also find it very bewildering that people pay for XBox, PS4 and Nintendo but thats because i'm a generation where it was not typical at all to pay monthly for infrastructure. But i originally had unlimited gmail space, so...

Good infrastructure costs money.


> $ per Month Setup & Backup: 10h? 1000$

Servers do cost money, but storing large amounts of data for upload and download, and keeping them backed up does not cost anywhere near that, unless you have extremely vast quantities of data.

Something I run streams ~200GB/day from a ~1.5TB (and growing) data collection that is highly replicated by the data store. It costs me less than 10USD/month.

It is also all automated - I don't need to touch it unless something goes wrong, which might be once every six months.


Thats what you pay in a private setting when you do it by yourself.

I can do from bare metal to frontend everything. That still doesn't mean that if i need to pay someone doing that, its 10$/month.

When you grow from 'i do that in my time with my ressources and i'm not paying myself anything' to 'i now have an employee and that person actually needs real money every month' you pay more then 10$/month.


Effectively, each server ticket increases your upload limit by 200 MB, permanently. I'd imagine things could add up with custom graphics and things like that, but I have no idea exactly how big the userbase is in Japan. It's definitely bigger than in the West, but I don't know by how much.


see it differently.

The idea:

30€ for game + 10 reusable upload slots (but seperatef for all kinds of nitty bitty details).

This covers most users needs.

But the game will mostly be a niche product reducing profitability. So selling more reusable upload slots to the ones which are fine with afforting it seems a good idea especially given that probably anyone can live with 10 slots.

Also giving unlimited upload space would be a liability for the company.

Be aware that I made that judgment based on this being a game.

If you look at it as a programming development environment it indeed seems very dogy.

But given the context you should see it as a game which also teaches you programming not as a programming environment.


>But given the context you should see it as a game which also teaches you programming

Yeah and they're already teaching kids to accept the need to pay some third party company permission to make their code available on a locked down heavily controlled piece of hardware, just like in real life.


Well can't disagree with that.

I honestly wouldn't recommend this for learning/teaching/introducing programming.

Not just because if the looked down aspect.


Uploading, probably no. Downloading in other hand; since it says unlimited, there's possibility that someone would download gigabytes of code.


if the devs only have 76k of capital right now, maybe also pays for ramen?


Do when I buy this ticket can I write my programs on a pc with a keyboard and transfer them to the console via server?


No, but SmileBASIC itself supports a USB keyboard and mouse.


Sounds like a good use case for a USB rubber ducky.

The original version

https://shop.hak5.org/collections/physical-access/products/u...

The current cheapest off the shelf version (out of stock ATM but even cheaper clones exist)

http://digistump.com/products/1

https://github.com/mame82/duck2spark

Build your own with compatible USB flash drives

https://github.com/brandonlw/Psychson


To be fair that's the Switch doing that.

When connecting to my WiFi this was a huge blessing - because even the toy WiFi for the Switch has a decent password, and again when uploading SMM2 levels. It's a little bit painful to watch really great creators like Barb or PangeaPanga uses a pad to write names & descriptions.

"It can't be bargained with. It can't be reasoned with", but the Youtube video has to cut there because Barb will proceed to take about a minute to painstakingly enter the text. It's not a big deal, but it jumps out because that's the only part I find easier. (I suck at Mario, but it's fun anyway).


The entire console market is retarded like that: you have to sign onerous NDAs, pay incredibly high fees for the "privilege" of creating additional software for the console vendors and thus making their consoles more valuable and all you get is some shoddy SDK with awful licensing terms (what? You used some (L)GPL'd code as your engine's base? Sorry, no can do. - You wrote your engine in an open source language that has no official support and you ported the runtime? Haha, LOL, no buddy, you can't give this back to the mainline developers, this contains our secret sauce, sucks to be you but you'll need to maintain this forever).

I have a PSVita and i really like its hardware, but honestly it was a waste of money since there isn't anything i can do with it. Switch also looks nice, but again it will soon be useless.

The best you can hope for with these is for someone to find some security flaw after the vendor has stopped supporting the device, that will allow homebrew development in the future. But by that time you might as well buy a cheap Chinese android device (or even better something like GPD Win that is a full proper PC in handheld form - though that isn't very cheap) and chances are it'll be both faster and better.


> Switch also looks nice, but again it will soon be useless.

> The best you can hope for with these is for someone to find some security flaw after the vendor has stopped supporting the device, that will allow homebrew development in the future.

Earlier Switches all have an unfixable hardware flaw, and long since there are cfw's (several), homebrew and even a hb eshop.

Even if the new ones are patched, you can easily buy a used prechacked (or not) one. The hackable serials number batches are easy to check, just google for it.


Yes, i've looked into it some time ago and i have my PSVita in a firmware version that was hacked (even installed Quake on it :-P) and was also looking for similar stuff for my PS2. This is mainly because i already have those devices around (except the Switch, i was just curious about that one because of its popularity and really i bought the Vita because i was lured in by the free SDK for C# games... something Sony abandoned and -even worse- completely removed soon after i bought the device) and since i have them, might as well try to use them.

But i shouldn't have to go through all these hoops to write and install software on a device i own.

And even if issues are found in the future, you can't just rely on them and often the way to exploit them are too convoluted (take a look on how to install homebrew on PS2 for example - and note that this is the easy method that people figured out in recent years).


The PS2 is a dream because it apparently has a memory-card softmod.


Yes, it's called "Free McBoot" and also includes a related variant to be installed on internal HDDs called "Free HD Boot". The system architecture may be a bit quirky, but it's nonetheless more capable than the raw numbers might indicate.


Fwiw both the Vita and the Switch have had homebrew support for a while.


I love that privilege, it is what keeps consoles moderately safe from the copy cats garbage of online stores without any kind of quality control.


Clearly you haven't seen the Xbox Live Arcade and its 5000 asset flip Minecraft clones.


I have, Xbox Live Arcade belongs into the same category as something like Steam.



Apparently someone missed the "moderately" keyword on my remark.

Yes there is some garbage there, but it is a drop in the ocean of garbage available on other platforms, with every high school kid dumping a copy cat of their favourite game with various levels of implementation quality.

Welcome back 1983!


I didn't miss it, i ignored it because it doesn't mean anything really. It isn't a matter who has the most garbage, consoles already have enough garbage that any illusions about quality control are just that: illusions. They are long past the point where you can ignore them, as shown in the first video.

The better way is shown by Steam: provide tools for people to find interesting stuff and have people manually make recommendations. Even just the tags that Steam has make it much better than 99% of other stores out there. I'm not a fan of Steam overall due to the DRM pretty much all of the games in there have, but from a UX and discoverability perspective it is pretty much the best store despite being one of the most open stores.

And anyway, consoles aren't locked down for quality control, that is just an excuse and was always an excuse ever since Nintendo said it back in the 80s. They're locked down so that they can have control over the software that appears on console, to get their cut from the software sales and be in control over the console's lifetime so that they can ensure nothing will keep it alive after they decide to make a new one.

None of these are about quality nor anything that is of any benefit for those who have purchased the console.


We need a modern “codable console” in the spirit of the Commodore 64 and Sinclair Spectrum etc.

Something you can just unbox and start playing and programming on right away. The Raspberry Pi is not it, the iPad isn’t it, and neither is any Android. The remakes/revivals of the C64 etc. are not it either.

Something like a laptop that boots into a friendly GUI/CLI hybrid within 1 second, and doesn’t require the internet or signing-up or any other bullshit. Just a big fat blinking cursor.



The Spectrum Next seems to be the closest to the ideal, and obviously it's perfect for Spectrum fans including me, but it's missing:

• A built-in display.

• A platform not tied to imitating an older platform.

• A language not tied to an older language.

As for the others, despite being commendable efforts, they're also missing one or more of:

• Usable straight out of the box; no assembly required, and without need to connect and update the system first.

• A single official repository (not excluding others) for sharing and distributing user-made programs, accessible from the device itself as easily as the App Store.

• Standard keyboard AND standard game controller (most have only one or the other).

• No fragmentation: If you wrote a program for the Commodore 64 or ZX Spectrum, it would run on 99% of the C64s or Speccies (the only differences that I can recall were the 48K/128K versions, and things like "speech" packs etc. but we don't need separate "upgrades" like that today).

As "blondin" commented:

> i see people talking about the arduinos, raspberry pis, and all these micro devices for which you have to pick additional components among myriads and you will be very lucky if 10 more people have the same setup that you have. these people are missing an important point about platform and sharing here.


I kind of agree, however they are the closest one will ever get like those old platforms.

Waiting for the perfect unicorn will not work out.


There have been many attempts but all were failures because they never got any traction or the people behind them couldn't manage what they were making or both. One of my favorites is GCW Zero [0], great little MIPS-based handheld running Linux and easy to port stuff to it (it has SDL, OpenGL and other stuff available out of the box), except... there was some Kickstarter drama or whatever (i think the original Chinese manufacturer screwed up) which had the maker (who was from UK i think) being attacked by everyone and he couldn't handle it so he disappeared from the internet from basically the beginning and only communicated updates, etc, very sporadically and only through others. And for pretty much the entirety of its existence it was incredibly hard to find units to buy (people were importing units from anywhere and they'd quickly sold out to the few distributors that managed to get units). Both of these basically killed the project despite being a great device.

And of course there was the whole OUYA circus - the device was ok (the controller had some connectivity issues but those were fixed later) but the company's communication was atrocious. OUYA was the first "android microconsole" and the last time developers actively targeted these "consoles" and used their branding as an official target, something that not even Nvidia (for Shield) and Amazon (for Fire TV) managed to do despite being much bigger companies, yet they pissed everyone and everything away with their incompetence.

But the main thing you need for any of these is to get it in front of people (or at their hands for the handhelds). You wrote that "Raspberry Pi is not it", but IMO it is by far the closest to "it" because of its sheer volume of sales. All it needs is some form of standard for developers to target and users to easily set up and perhaps some (optional) dressing from whoever comes up with the standard. I haven't seen anything like that though, the closest is RetroPie but that is for emulators and what i'm thinking is for running native ARM games.

[0] http://www.gcw-zero.com/



Wow, while this is very cool (you can even play the games directly in the iPhone browser! [0]) it’s not a self-contained machine with built-in display and keyboard.

Maybe someone can make (or has made?) standalone hardware based on it.

[0] https://www.lexaloffle.com/bbs/?pid=42932#p


The Pocket C.H.I.P. was built around PICO-8

https://shop.pocketchip.co/collections/frontpage/products/po...


Word of warning from someone who has a Pocket CHIP. As nice as it was while it lasted, the company is a ghost, now. They up and vanished, with outstanding orders, and problems with the OS.

Don't touch this.

Flashing, and reflashing, is a pain, and the OS itself requires some binary blobs that have made it incompatible with any modern version of Debian.

The people controlling the site are one of the third party resellers.

> We are one of the original third party retailers for Next Thing Co.'s amazing products. While we never received much of the bulk of our product purchased for our store, we are now offering up the remainder of our stock to interested customers.


Well there's this thing I've been working on and off on for a while: https://mastodon.social/tags/ZX20

It has it's own BASIC but also emulates a Spectrum too. It's not yet quite full speed. I think beeper i/o is slowing things down.

When it's ready it'll be sold in kit form, so kids build it from scratch with their parents. The plan is to eventually have a space for kids to share their stuff, but no way am I charging kids for being creative.


https://www.specnext.com/ <--- these guys just need to make more.


Yeah, the problem with crowdfunded hardware like this is that by the time the devices actually ship to backers and there's a wave of hype/excitement, nobody else is able to buy them.

And the original backers are probably bit less excited than they once were, after waiting years since the first wave of hype when they backed the project...


I completely agree - this should have been a sustained project.


The companies making classic consoles really missed an opportunity with this. Instead of making them temporary specialty items, they could have added a basic API and way to browse and download community games. I know this would have needed moderation and warning messages for the normal user, but it could have been a "developer mode".

Right now the closest thing we have is a linux system running emulation station. It at least has custom apps called "ports", but it's missing a built in app browser/downloader for those, though.

Atari was the closest to realize that potential but completely screwed it up. They put in an actual decent system but it made it too expensive. (https://atarivcs.com/) If this was around the $100 price point, I could see it doing amazingly well even if it was less powerful But more expensive than a nintendo switch? wtf

The pi absolutely has potential to be a programmable game console with the right distro and applications, it just isn't quite there yet.


The closest is probably BBC Micro:Bit, but that uses the Internet. https://microbit.org/

There's also the Maximite: http://geoffg.net/maximite.html


The Micro:Bit doesn't _have_ to use the Internet. It runs MicroPython just fine with upload of a local serial line. (I believe that the Scratch base, that I've never touched, also runs locally, and uploads over serial.)


thank you!

this is why i was drawn to smilebasic since i heard of it. plus nintendo is such a good platform already.

i see people talking about the arduinos, raspberry pis, and all these micro devices for which you have to pick additional components among myriads and you will be very lucky if 10 more people have the same setup that you have.

these people are missing an important point about platform and sharing here.

i also love pico-8 and all the fantasy computers. they somehow just don't feel real. and they have a different sharing problem.


Open Pyra console:

https://pyra-handheld.com/boards/pages/pyra/

Disclaimer: avid fan of the prior generation, Open Pandora console ..


Raspbian was close to this last time I checked. You have to click the start menu, and pick the right development environment, but they have a few good looking options.


I presume your ZX-Spectrum didn't come with an online softwar distribution service. Mind certainly didn't. I typed it in from printouts like we all did.


> My computer booted into BASIC for free.

Your computer wasn't free, and you still had to buy disks if you wanted to save your work or trade with friends.


> You know, as a kid I learned BASIC from school friends, neighbors, and family members, and taught BASIC to many more, by trading the source code freely.

Well you can still do all fo that. Get your friends to send you their BASIC code and type that yourself into the console.

Even as a kid, you weren't paying somebody to host your code.


Not that it matters, but I traded lots of BASIC code on local bbs’s for free, and on floppies and cassettes for free. I didn’t really mind pedaling my bicycle to share my next release of “Pong” or whatever I was up to, kids love sneakernets, but I don’t think this program supports any form of sneakernet, that’s a real shame for kids who don’t have credit cards and most certainly won’t be given permission for “in game purchase”, few parents will understand or approve such a thing.

That’s fine, nobody said this is for kids, or for education, it is what it is, I respect the effort and design to some degree, but won’t fund it. it goes against the very spirit of BASIC as an easy, educational, and naturally open source language.

my other beef is why should content creators, who add value to the platform, pay more money?

I really enjoy publishing FOSS, I maintain half a dozen of pypi’s top 100 packages, I feel joy and pride when I see my packages fly by on screens of colleagues. but if pypi starts charging me “server tickets” to publish these packages, strange EULA’s that sign my rights over, and to have to delete the less popular packages to make room to publish new ones, etc. I’d feel really damn sore about it.

I’d publish it as PDF images and instruct users Like you to print it out and type it in, or dish out $9. This would be my rebellion for not getting a single penny for the thousands of volunteer hours that other people are now paying to receive a copy of. It just rolls my brain around and around to think about both players and creators paying money.


Perhaps if FOSS infrastructure (like PyPI) charged for use they wouldn't need to ask for donations to keep their services up.


Not only that, but you need to actually pay to download other people's games by the looks of it.

>or unlimited downloading of the published works,

Even if you don't intend to write any of your own code, a server ticket seems to be required to even download code.


I was gonna say, if they're going to paywall publishing your programs, we might just see the rise of "type-in" listings once again.


I’m currently mindblown at one of the programs publicly available for download in the software, which is a NEC PC-8801 emulator... I peeked at the BASIC code and it does indeed appear to be emulating a Z80 and it even includes support for loading real BIOS dumps and floppy images seemingly.

I can’t find much information about the software online but I think it was developed for one of the competitions and I’d highly recommend checking it out if you decide to purchase SmileBASIC 4.


Can you share a link? Do you think would it be possible to play with the code from the (free) book "Machine code for beginners" [0] with that emulator? I'd like to get some familiarity with machine code, and thought maybe it's a simplest way to start with. Or maybe you can give other suggestions for the emulator?

From the book (page 3):

> The book is specially written for computers with a Z80 or 6502 microprocessor.

[0] https://usborne.com/browse-books/features/computer-and-codin...


Very cool. This will probably get some kids onto the path of a future programming career. I remember my first PC running MS DOS, being young and curios I just had to try everything, eventually stumbling upon Pascal, and that would basically shape my adult life.

Sometimes I worry about the new generation though, despite the prevalence of technology and information, most grow up on locked down mobile systems, which are made for consumption and don't promote creating very well. They are also very opaque to what's actually happening under the hood. Mobile UI is an godsend for user experience, but it's also one heck of an abstraction layer.

Maybe that's why so many people are trying their luck with becoming influencers, streamers or youtubers, because that's seems like the kind of content creation these devices promote.

Anyway, on the same vein, I was positively surprised when Overwatch added some kind of visual coding environment for custom games a year or so ago. Seemed a bit silly, but give kids the tools, and they'll create. I'm sure that alone will have a real positive impact for many young adults.


I’ve gotten my kid very into Nintendo Labo. You build toys from cardboard that hold the controllers and so you can drive a car in the game with a cardboard wheel, for example. But the whole thing is a veneer on learning how the toys work through additional activities, and then a drag and drop programming interface is available so you can make your own interactive tools using the Switch. He’s not quite old enough to grasp the programming interface, but the discovery section demystifies the abstraction layer of the controller. Its not just a box. Its a box you open up and change.


If you haven't bought the VR kit, they added a full 3D editor on top of the engine from the first few releases, which allows you to create VR or non-VR games. It's absolutely incredible and was sadly overlooked. I've been hoping for them to update it with proper sharing and do a new marketing push but doubtful such a thing is coming. There are 2 VR sets available- the full kit is more impressive but the software is the same on both if you care more about the diy games than what Nintendo provides.


If you are interested in this topic (coding on mobile), can you take a look at my pet project https://github.com/stefanhaustein/tantilla and and let me know what you think? O:)


i waited forever for a release on the DS. it finally came but on the switch. also the developers told me that a switch lite wouldn't be the best experience (not TV output among a few things).


Previous versions of SmileBASIC also exist on the DSi (under the name "Petit Computer") and 3DS (simply called "SmileBASIC").


I wonder how tihs compares to FUZE https://www.fuze.co.uk/nintendo-switch.html



Me as well.

I believe Fuze doesn’t have a server for sharing your work, but they do have a moderated forum where you can share your Nintendo friend code, and this way you can share your project.


No public API docs for either platform it seems?



That's not the first solution, when gaming console gave access to hardware through simple programming language for the purpose of entertainment and education. There was Sega Saturn Game Basic [0], published in 1998 and giving access to almost all console hardware capabilities.

However, 2020 is not 1998, and I personally consider Basic a bit outdated even for education purposes. Don't get me wrong, it's a great tool to introduce world of programming to kids, but Python would have been much more practical and extremely simple to learn.

[0] https://youtu.be/O_QU8eaMymo




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: