We've said it before, and we'll say it again: The general-purpose, relatively simple programming environments of the BASIC family are a great place to get started with coding. Developer SmileBoom first brought its own variant of BASIC to DSiWare in 2012 with the charming Petit Computer, and now is back and stronger than ever with SmileBASIC (known as Petit Computer 3 in Japan). This edition expands its scope to open up for all of the nifty hardware features the 3DS has to offer, while making some smart changes to become more user friendly.
Just like Petit Computer, SmileBASIC channels the Commodore 64, MSX and similar gaming hardware of yesteryear to create an open environment in which users can code their own applications using the BASIC language. However, this isn't the BASIC of yore - SmileBASIC shakes up the syntax and capabilities enough to be considered its own dialect of the language. BASIC vets won't be able to bring over their old computer-lab code untouched, nor might Petit Computer programs work if directly ported. It shouldn't take too long to get up to speed if you have prior experience with the language, though.
SmileBASIC the application is first and foremost a tool: it's capable of powerful things in the right hands, but only goes so far to teach you how to wield it. If you want to learn, you'll need to do your homework. There isn't a guided tutorial to walk you through how to code - or even how to navigate, which can be a challenge for someone unfamiliar with things as basic as file structures - so you're pretty much thrown into the deep end from the get-go.
Even if there isn't an instructor, there's plenty of documentation to dive into. A handy web manual is accessible from the main menu, which then opens in the 3DS Browser. Thanks to console multitasking you can switch back and forth between the manual and documentation on the same device. Having access to a second screen will help immensely if you need to reference the manual a lot, but this is workable. And, of course, since the manual is online, you'll need an Internet connection to access it - something to keep in mind for those who code on the go. In addition to the manual there are a number of sample programs that you can tinker with and learn how to accomplish both simple and more advanced coding feats; the "Help" button can also offer contextual assistance when coding, but that too can only teach so much. There's a "bigger picture" education component lacking, so for that you'll need to rely on your own experimentation or seek out help in the community.
That said, BASIC is a relatively simple programming language to get the hang of. Of course, that doesn't mean it isn't capable of complicated things, and thanks to the newer features of the 3DS hardware compared to the DSi, SmileBASIC has access to even more inputs and outputs to code for beyond the face buttons, D-Pad, and shoulder buttons. Want to code a game that uses the Circle Pad? Go analogue until your heart's content. Think that game would be cooler in stereoscopic 3D? Do it up with three planes on which to put stuff. The microphone and accelerometer are fair game, too. Go nuts.
You also don't need to be a pixel-art savant to make pretty games with SmileBASIC. Over 2,000 built-in sprites are yours for the using, or fire up the SMILE TOOL to design your own. A large library of sound materials for effects and music are included as well, or you can again compose your own masterpiece.
While SmileBASIC supports all sorts of cool features, it sadly has a keyboard-shaped hole in its box of tricks. Coding in SmileBASIC requires pecking away with the stylus on the touchscreen's keyboard, as there's no keyboard support for 3DS. It's a functional but tedious way of entering text. Niceties like autocompleting commands can streamline the process a tad, but put in enough time and eventually you'll long for an easier way to type.
Community plays a really big part in SmileBASIC. While programming for yourself is great and all, it's just as exciting and educational to see what others can do with the same tools. Mercifully, sharing work is much improved this time around. With Petit Computer, importing and exporting software involved cumbersome QR codes to scan and manage - it got the job done, but wasn't a particularly intuitive way to share anything. SmileBASIC streamlines this process by allowing users to upload their work to a server, which can then be shared with a download key. The download key is a simple string of text, and so much easier to share than a series of images. We cannot stress enough how much simpler this new system is - alone, this one feature makes Petit Computer entirely obsolete. Well, that and Miiverse, which is practically built for SmileBASIC. Share screenshots of your work along with the download key and explore all the cool things other people are up to, all without having to hunt down an off-console community. (Although there's some great stuff outside of Miiverse, too.)
You can store up to 10 of your files at a time on SmileBoom's servers for sharing, with a max file size of 4 megabytes. Splurging for a SmileBASIC Gold Membership will increase these limits to 100 files up to 20 megabytes each. These limits only apply to files shared on servers, not on what you keep on your system - the only limit on local files is the size of your memory card.
Conclusion
SmileBASIC is a crazily powerful sandbox in which to mess around with programming, offering a great entry point for beginners and a rad utility for seasoned coders to play with. Remember, though, that this is a straight-up coding environment - not a Mario Maker-style WYSIWYG editor - so it'll take a lot of work to achieve results.
While it's still cumbersome to type longer stretches of code with the stylus, clunky text entry is a small price to pay to have such a powerful utility with you at all times. The improvements to sharing work go a long way towards making SmileBASIC a more pleasant experience over Petit Computer, and having code access to the 3DS' hardware features propels this suite to the top of the programming heap.
If you're willing to educate yourself in this dialect of BASIC then you just might find yourself pulling off some stellar coding feats. Or, if you don't want to put in the time, you can still check out the cool stuff that others create. Either way, you're sure to be impressed.
Comments 29
@Captain_Gonru I missed the first one too but I definitely want to try Smile Basic. Really happy with the review and it could be a day one purchase for me.
Both are great. This one is better.
This seems like a great tool but it is too hard for me.
I would purchase a RPG Tsukuru 3DS any time, if they were willing to release such softwares in the occidental world.
Is this coming out in Europe? If it is, I'm interested.
@Rei Did one come out in Japan or something? I'd be open to that, too, provided the fonts available aren't complete bovine manure.
On-topic:
I wonder if they're going to put out a SmileAssembly. SmileBASIC is one of those things I sort of want, though, so I'll get it once I snag an eShop card.
I'm really looking forward to the Wii U version!
I've always kinda wanted to learn programming. I guess this might be a good way to start? Not sure if learning this thing will help you learn programming/coding on PC and other stuff too.
Anyone know what the price is off-hand? As @Captain_Gonru has stated, I'm in the same boat. For the right price, this and Terraria will be mine tonight. Merry Christmas!
This could be a useful revision tool for my exams because I'm starting Visual Basic after Christmas in school. Hopefully the dialect isn't too different so I don't end up failing my coding exam.
You gonna have a bad time thinking you can learn programming with such game
@Yosher No, if you really want to learn something useful, start programming with PHP & MySQL or Python. All you need is freeware and well documented with plenty of online tutorials etc.
Looks great! I think I might get this just to mess around, although that'll be my first exposure to BASIC. Not sure if that's a valuable language to learn nowadays, at least we can have fun with it.
@KomrathDE I learned programming in Petit Computer. It's certainly not the most up-to-date language, but it's helped me understand the logic and kind of thinking you need to use when programming!
Anyways, SmileBASIC is soon going to become my most played 3DS app! I'm working on a pretty big project that I'll probably never finsish, but hey, I still enjoy the programming so who cares?! I honestly don't mind the touch screen keyboard, especially since I have an XL. Plus I'm pretty slow and steady when it comes to programming, so the slow typing pace doesn't phase me. SmileBASIC probably has the best keyboard on any 3DS app too, with copy/past functions, L/R for shift, autofill suggestions, and a few other nice shortcuts, so again, it's not as bad as it might sound. (There are also a few workarounds where you can type code on a PC and then transfer it via audio cable, but that might be even more cumbersome than just using the touchscreen.)
Miiverse is also an amazing part of the app. People can go on there with questions, post pictures of their code, share games, it's amazing how easy it is to get help through it. Finally, there are already some great games available that immediately make this worth the $10. Solid Gunner, Spooky Maze, Bub, Celeste (Although this is also available on Pico-8), Strawberry Storm Striker, Yuki no Reigndeer (Perfect for Christmas, and one of my personal favorite games so far!), and, of course, GSi Live - The SEQUEL!!! (Shameless plug) Not to mention all the great tools that could be made. Basically, buying this game is a no brainer. Even if you have no plans of programming, you still have tons of games and apps you can try out, and if you are interested in programming, this is a great place to start and having it with you all the time is one of the coolest things out there. (Programming while waiting in a long line is, for example, pretty cool feeling! )
Maybe I'm a bit biased since Petit Computer was what got me into programming in the first place, but I think this is a must have for all 3DS owners!
@Yosher I don't think it's obsolete, but BASIC isn't really used by anyone anymore. If you want to learn programming I would suggest Python or Javascript as your first language.
Note that SmileBASIC isn't just retro BASIC circa 1970. It's modernized and some C++ components are in there.
@mystman12 I agree with everything you said. Imaginary Like button clicked.
@Yosher People might tell you that BASIC isn't really useful or used, and they may be right, but you can still develop awesome games like this with this app. https://miiverse.nintendo.net/posts/AYMHAAACAAADVHksGOfT8w
@TerrapinJess For just 10 bucks you can create and download unlimited games from the others! Best deal on 3DS.
Learning programming concepts is far more important that learning the syntax of a particular language. Maybe BASIC isn't widely used but becoming proficient in this would make picking up another language much easier.
Learning how to think about programming is much more important than the language. Even when I am programming on steady basis I always have a cheat sheet for commands. The commands and format are simple, it's learning about how to plan out what you want each part of your program to do is important. Plus efficiency. That's sexy.
You could have the most powerful database software but if you don't know how to plan a database it's not worth anything, same concept here.
This looks great but I am waiting on the Wii U version. I haven't been doing much programming at all and Unity isn't pulling me in so this might be great for some time killer projects.
Thank you the great review! I was on the fence about getting it, but not anymore. I also appreciate the comments - they've been insightful as well.
If you learn programming in BASIC you can easily pick up other languages later.
this is i wanted for,learning programming the neat and most valueble in my mind,so then it's great for you who's weak at programming, i still learning a programming app/game of course the great is simple and neat looking
@Rei same here. Ive pretty much given up on programming at this point. It is not as simple as you might think. It is neat though to download stuff people have finished. There is a page with all the download codes th s t gets updated daily. Some people have made some incredible games
@Rockmin Thanks for pointing that out to me. I'd never heard of those before.
For those worried about whether it's good to learn programming using BASIC, if this is enticing you to try programming, go for it!
Is it related to Visual Basic? Not really at all, directly. But go use it anyway.
Like others have suggested, there's plenty to learn about how to think like a programmer before getting specific about languages. If you are completely new to it, you can try code.org to get some foundational stuff down.
If you have fun with this and programming is rewarding for you, then go pursue some more structured learning. Why? Because there are plenty of "bad" habits you won't want to form if you kind of go it alone. Plus, you can progress towards finding better easier to manage solutions much more quickly that way.
For now, though, go with what inspires you!
@TheWPCTraveler Why in the world would anyone want to use Assembly over BASIC? Unless it's the only option (like programming for the NES), or you really, really need to make the code as efficient as possible, nobody cares about those archaic assembly languages anymore.
Anyway, this sounds like an excellent app that is right up my alley. I'm going to wait and see how the Wii U version compares, though, as I only want to buy one of them.
@BulbasaurusRex I started with Assembler, then hit BASIC (this was back in the 80's). Assembler was the best thing I ever did, because it forces you to understand what the hardware is doing.
The main advantage of assembler is pure, RAW speed. You can do things in assembler that are impossible in C or C++. Of course the bigger and more complex a project gets, the less relevant (and useful) assembler is ... as 98% of the source code for a project makes no difference to the running speed of it ... and headache of coding all that in Assembler is a pain.
I dug up Catapult the other day (Google it), and was thinking about bringing it to the WiiU. It would be cool - but also a heap of work. And it doesn't support 3D in any form, which is where the WiiU excels. Too much work, not enough time ... on the "would love to" projects backlog...
@Cathousemaster Sure, it can help you learn that kind of theory, but it's still useless in modern application. Like you said, a complex program is too much of a headache, and any simple program runs just fine on a 3DS or any other modern computer system without any need for the extra speed. Of course, said speed and size efficiency is literally the only advantage an assembly language provides, as any high-level language can do anything assembly can do while providing a ton more features and superior programmer-friendly interfaces.
Europe?
Why isn't this released in Europe yet? Please, let us have this cool app
Contest results (with download codes for all winning entries) now available here: http://smilebasic.com/en/ogiri4/
Pretty cool stuff.
Tap here to load 29 comments
Leave A Comment
Hold on there, you need to login to post a comment...