10 ms·
Fuze for Nintendo Switch: An easy-to-learn text-based programming language
- Quequau 9y agoThere's Labview, Scratch, and now I think, Luna. Are visual programming languages really now so common that we need to specify "text-based" for new computer programming languages?
- mbel 9y agoIt makes sense in this context because Switch is a game console with touch screen and game pad (joy cons) as default input modes. Both of those types of input are not really typing-friendly, so one may expect that the language will accommodate for that and be fully or partially visual.
- narag 9y agoIn the article they say it supports standard usb keyboards.
- JusticeJuice 9y agoThey are in the space of educational, 'create your own app / game' space for kids. It's a unique selling point compared to their competition.
- Angostura 9y agoI so, so wish something like Fuze was available for ioS. I'm an old-school ZX-Spectrum tinkerer and I still miss Basic. I can't help thinking it would still be unsurpassed as a simple (text-based) way of teaching coding to kids.
- jamespo 9y agoHow about pythonista?
- robterrell 9y agoThere are so many things like Fuze for iOS. I've tested a number of them on my kids over the years, and I'd suggest: Codea is great. Lua, not basic. Great asset management for games. Pythonista is pretty good. Python, not basic. Swift Playgrounds is pretty great. Swift, not basic. You can do pretty much anything, including 3D and AR.
- Angostura 9y agoYou know what Lua, Python and Swift have in common? None of them are as immediately accessible as Basic. Visual programming languages like Scratch et al have risen for a reason.
- jamespo 9y agopython is pretty accessible and isn't a dead end like Basic
- ryanianian 9y agoI've taught middle-schoolers coding with scratch and they like it a first but quickly get tired of the interface especially for anything more than 'hello world'. Some even went as far as coding things up in pseudo-code on pencil-paper and then translating to visual/scratch. IMHO the best scratch impls let you switch to python/js without losing fidelity.
- mmjaa 9y agoI'd argue that Lua is far, far more accessible than Basic. It really depends on the environment in which you stick it, though. Take a look at antirez' LOAD81 for example: http://github.com/antirez/load81.git
- MattRix 9y agoLua can be as accessible as Basic in the right environment, it has a very simple syntax for most things.
- robterrell 9y agoSwift in a playground is as immediately accessible as basic. My 5th grade son has been out of school sick this week, and he wanted to "learn to code" while he was out. Monday he started with scratch on RPi. He quickly hit the wall there; dragging blocks around was tedious and (from my perspective) the event model isn't obvious enough or rich enough to what he wanted (a simple space shooter). He asked if he could try something where he could type his code. I decided to let him try swift playgrounds. As of this morning he's worked through the chapters on commands, composition, functions, for loops, and conditionals. He's completely baffled by the logic chapter -- he was in tears trying to understand the concept of NOT, and so I asked him to take a break from it. (I don't get it... he understand booleans fine, but the idea of negating the boolean is clearly throwing him.) He skipped ! and did fine with && so shrug. Fifth graders aren't going to get everything. I have quibbles with the content progression in the Swift Playground lessons but overall it's working as intended. It's pretty buggy though -- sometimes the animated character is clearly on the wrong squares due to an apple bug and that really hurts learning comprehension. The real carrot for him, though, is that he's learning the language that iOS apps are made in. That's really motivating him. With his older siblings I helped them learn Codea and while Lua is great for learning, they got hung up on the concept of per-frame update functions, which is not a Lua thing but a Codea thing. I think an OOP model is a better metaphor for learners. They had fun in Codea but none of it stuck with them. My six year old daughter is also working (slowly) through swift playgrounds. She asked me for help and when I did she berated me for not using camel case. God help me when she learns about tabs versus spaces. Anyway: screw BASIC.
- pjmlp 9y agoWhy not Playgrounds?
- Angostura 9y agoDoesn't run on an iPhone/iPod
- ReverseCold 9y agoTiC-80 is pretty cool. It's on Android, not sure about iOS.
- Yhippa 9y agoI learned on QBasic and have been out of the game for a long time but how do the kids start out these days? Do they use Python or JS? BASIC seems like the perfect language for complete beginners to start out on due to the lack of things like imports or main methods needed initially.
- ryanianian 9y agoScratch is frequently used to teach kids, but my (middle-school-aged) students found actual code in Python and JavaScript to be easier. There was a couple hours of frustration around some syntax things (python especially if you can believe it!) but once they had a good mental model they were much much faster with text than with visuals. Perhaps Scratch is good for the first couple days of learning, but I think the ceiling hits pretty fast especially if the kids are really understanding the principles.
- n-gauge 9y agoScratch then Construct 2 (outputs js)
- ricardobeat 9y agoThere is an all called LowRes that implements a BASIC-like language. The sample games are really nice, the editor meh (no syntax coloring).
- mhd 9y agoLooks a lot like BBC Basic.
- voltagex_ 9y ago>If you are a budding creative digital artist and are willing to provide game style graphics, free of any royalty, for use in the release version then in return, you will be credited within the application and receive a free full version of the software for both Nintendo Switch and Windows, along with a selection of merchandising items we may have available at the time. To get in touch please use the contact page here How about, you know, paying the artist?
- goldenkey 9y agoIt's just an offer and you see, those words 'budding' imply amateur work which might not be worth much. It gets me sore to see innocent things picked to pieces. I agree on BS internships that use people. But this doesn't appear malicious.
- voltagex_ 9y agoYou may be right. Wouldn't it be better to run it as a competition or something in that case? Anyway, it doesn't inspire confidence - developing a game and getting it published (especially on a physical Switch cartridge) is much more expensive than hiring an artist. How do they expect to succeed? Why aren't they crowdfunding?
- jerf 9y ago"Wouldn't it be better to run it as a competition or something in that case?" Sounds like a worse idea to me. Lots of people do work and only a handful win. With their current offer, lots of people can do work and lots of people can win. Also, the Switch is perfectly capable of using the internet, and has onboard storage. There is no technical barrier to them choosing 25 winners a month and offering them as download packs even after release.
- epicide 9y agoHave they announced anything about a physical version?
- extrememacaroni 9y ago
- drcode 9y agoWhat's great about this is that my daughter and I could use the living room tv to make a game- Even if the game is simple, it'll be a lot more compelling to a kid if they can design it themselves and then play it on a giant tv- Looking forward to trying this!
- rocky1138 9y agoI think it's fantastic that it brings us right back to one of the things that made the first home computers so compelling: the ability to see what you just did on your TV.
- fsloth 9y agoEh, what. You can connect any modern device to a tv through hdmi and hdmi convertor. Pc:s, phones, pads...
- rocky1138 9y agoI think maybe I'm explaining it wrong. I'm sorry. What I mean to say is that there was a certain wonder and a strange form of legitimacy that writing software on a "real" computer that kids got when they were able to type something into the same device that ran their favourite games/software from "real" developers and see it show up on the screen just like the big boys. There was a sense of "Wow, anything is possible now that I can develop real software!" The legitimacy of the company that produced Mario, etc. will rub off onto a new generation of kids and make them feel like they are really playing with the big boys. I don't know how to explain this right. I know that I myself still get this feeling when I see something I wrote running on an actual Atari Jaguar because I was such a fan of that console when I was a kid. It's like, "wow, I'm actually a real developer! I made it!" I start thinking about all the things I can do and all of the possibilities that are more than just firing pixels on a screen. It's a form of technological empowerment, and it's something that makes a huge difference in a kid's life. I know it did for me when I first discovered BASIC on the Commodore.
- 9y ago
- micheljansen 9y agoThis makes me so excited. I grew up just after the BASIC era and my first computer was a 486 running MS-DOS (without a BASIC interpreter), so my introduction to programming came quite late. I had endless fun tinkering around in a commercial product called DIV Games Studio [1]. It included a very simple language with everything from parallel game loops to video modes, in an IDE with a debugger, sprite editor etc. You could even compile your games to DOS executables for distribution. Apparently people are still keeping the project alive and are making games with it: http://div-arena.co.uk/games/ http://div-arena.co.uk/games/ [1] https://es.wikipedia.org/wiki/DIV_Games_Studio https://es.wikipedia.org/wiki/DIV_Games_Studio
- sd8dgf8ds8g8dsg 9y agoMS-DOS shipped with QBASIC. https://en.wikipedia.org/wiki/QBasic#History https://en.wikipedia.org/wiki/QBasic#History
- Roboprog 9y agoOr GW-BASIC, for people and computers of a certain age.
- cableshaft 9y agoIf this is anywhere near as powerful as PICO-8, we could start seeing ports of those games over to this. In fact, I'd probably port (and finish) my PICO-8 game if it's powerful enough.
- bhouston 9y agoIs this an official Switch release sanctioned by Nintendo or do you need to jailbreak the Switch to run this?
- speps 9y agoFrom the press release PDF: "And just in case you run out, you can create your own or even purchase additional game packs directly from the Nintendo e-shop." It also says it retails at 30 USD. I think it's a legit app for the Switch.
- mmjaa 9y agoDoes anyone have any experience with developing home-brew or indie games on the Switch here? I've considered getting one, but I'm limited by the rule "never buy a system for which I can't develop my own software" .. to what extent is this true of the Switch? I'd love to put my Lua-based programming IDE on the Switch, which turns out is a bit similar to this Fuze project .. but I'm un-certain just how much of the Switch is locked down and how much is available. Do I have to register to get full features as a developer, or something?
- j2bax 9y agoI haven't checked in on it recently, but last I did inquire, they were being very selective with developers that they approved for development on the platform. I think they decided to go with a highly selective quality over quantity approach unlike what they did on the Wii U which was pretty easy for just about anyone to get a development kit for.
- kbenson 9y agoThe original Wii was very selective when I looked into what it took when it first came out. Do you know whether the Wii U was fairly open initially, or just towards the end? I'm wondering if they just always start off being selective to ensure the quality is there initially, and open up more later? That would make sense, as I think there's plenty of cases where a device hasn't been selective enough with the marketplace initially, and the deluge of crap makes people think the market isn't worth using. It's much easier to shovel crap out the door immediately than it is to deliver a polished product, so early markets can be quite bad.
- j2bax 9y agoIt was probably 1/2 way through the lifespan of the Wii U that our team was approved to develop for the platform. Not sure how restrictive they were before that. Everything I've heard is that Nintendo is really trying to keep the quality bar high on the Switch e-shop though, which I can definitely appreciate. Sucks for really small shops that don't have the ability to jump through all the hoops and get approved, but its nice as a player to know the games probably aren't going to just be gimmicks. That said, the initial release of NBA Playgrounds on Switch was pretty abysmal... Fortunately they've been working to clean it up. I guess Nintendo probably just didn't want to be left out on their initial release and felt like an arcadey basketball game would be a perfect fit for the Switch demographic.
- jamesgeck0 9y agoIf Nintendo's policies haven't changed since SmileBASIC on 3DS/WiiU, the Fuze IDE will be the only way to modify your code. Editing on PC or even emailing it to yourself is right out.
- strmpnk 9y agoAt least they say USB keyboards are supported. SmileBASIC on the 3DS is great until you realize you have to use the stylus for all input. I think I’d rather go back to TI basic on a calculator at that point.
- dash_shi 9y agoOne quick note, they did not get the google analytics right on their download page. You can see the JS tracking code under their black head banner at https://www.fuze.co.uk/download-fuze.html https://www.fuze.co.uk/download-fuze.html.
- 0d311 9y ago... As opposed to all those non-text-based programming languages?
- lumisota 9y agoas opposed to all those _difficult-to-learn_ text-based programming languages
- Arzh 9y agoThis is a non-text based programming language. https://www.google.com/doodles/celebrating-50-years-of-kids-coding https://www.google.com/doodles/celebrating-50-years-of-kids-...
- btown 9y agoIt's important to distinguish from visual/block-based programming environments directed at families and children, such as Lego Mindstorms, https://scratch.mit.edu/ https://scratch.mit.edu/ , https://developers.google.com/blockly/ https://developers.google.com/blockly/ , etc.
- masukomi 9y agoI disagree. When talking about things you don't need to go out of your way to indicate you are the same as 99% of the group you are in. It is assumed. You need to go out of your way to indicate when you are NOT like 99% of the group. and the fact that it's for the switch doesn't make one automatically assume it's part of the visual programming group because most of the switch games were probably programmed with text based languages.
- dazmax 9y agoWhen it's for a touch-based system that doesn't typically have a keyboard, my mind goes to graphical drag-and-drop programming first.
- deleted 9y ago[deleted]
- gjem97 9y agoJust to make sure I'm not missing anything, this is not yet available, right?
- xchaotic 9y agoSorry to sound so negative, but the closed ecosystem for this is a very bad fit for encouraging young people to code. They won't be able to share it amongst themselves, share to other devices such as smartphones etc. There clearly is a gap in the market and someone with enough resources could come up with an ecosystem that let's young people code in a simplified environment and share those results. in fact there's quite a few of such initiatives, it's just that they are lacking in terms of embracing many modern devices and latest trends such as sharing via github etc.
- fixermark 9y agoWhy is "sharing to smartphones" in the set of things we want out of the technology stack that encourages young people to code? Smartphones aren't the Nintendo Switch, and (for me, at least) wallpapering over the differences in hardware platforms is not an exciting part of the learning-to-code experience.
- MonkeyDan 9y agoJust in time for Labo?
- ajford 9y agoIs anyone else greatly annoyed by the FUZE/Python comparison block on the homepage (fuze.co.uk, ~halfway down the page) that compares the Fuze loop and Python? They write the "print" statement like it's damn Java. A simple `print(outstring)` would have been sufficient, instead of two lines of Java-esque sys.stdout.write nonsense. Not to mention something like `colored` and `colorama` or `click` would solve the colored text thing. Though I'll admit having globals like INK and PAPER makes things a bit more intuitive for kids. But the fact that they go out of their way to make the Python example more intimidating is a little... annoying.
- samfriedman 9y agoIncluding the shebang and encoding at the top, using stdout for some reason, handling all the color formatting in one dense string... This smacks of the writers trying to intentionally make their comparison language look obtuse. A pattern I've seen elsewhere and am never a fan of.
- gadgetoid 9y agoThis is absolutely what they're doing. It condenses quite easily even to: import random import time while True: col = random.randint(30, 48) print("\x1b[{}m{}\x1b[0m".format(col, "Hello World")) time.sleep(1) Which is still pretty obtuse, but the "random colours" task seems hand-picked to penalize Python. It neglects to mention that Fuze has virtually no utility beyond an educational curio, too, versus Python which is used for many, many things.
- samfriedman 9y agoThe sad thing is, I'd bet that the developer first turned in something like what you've written, but was then asked to "make it more complex". I'd like to see a satire done in a code-golf style: you think writing a line to a file in Python is easy? Think again, after you read this 400-character line of lambdas, string interpolation, and chained ternary operators! Assembly code could be made to look like the sane alternative at the (il)logical extreme.
- felideon 9y agoThis looks awesome and I can't wait to give it a whirl with my kids. I am, however, a little concerned about one of Dijkstra's "unpleasant truths"[0]: > It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration. I'm not qualified to interpret Dijkstra, so how serious of a warning or truth is this? Is he just generally polemical? [0] http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EWD498.html http://www.cs.utexas.edu/users/EWD/transcriptions/EWD04xx/EW...
- chamakits 9y agoMy first exposure to programming was basic for the TI calculators. Didn’t even really realize I was programming. The second was Visual Basic. The third was C, and that’s when I really took off, got interested in programming and enjoyed it since. My experience may nor count for much, as I didn’t dive too deep to either of the first two basics. But I’ve read far too many stories of good programmers getting started on BASIC from code samples they read on books and magazines. So I would say it’s fine. Also, for all the great things that can be said if Dijkstra, he wasn’t exactly known as a positive motivator, so I’d take his statement with huge grains of salt.
- romaniv 9y agoFirst, we teach people variables, loops and conditions. Then we teach them procedures. Then we are horrified that newly minted "programmers" write code that is a giant mess of nested loops and conditionals, split across arbitrarily created procedures that manage bloated and fully mutable program state. Mental models are important. Life would be better for everyone if people started learning programming with LISP, Smalltalk, or at least C#'s LINQ in LINQPad.
- hasanas 9y agoCould you recommend a remedy for someone who's spent a great chunk of their programming experience in misdirection? I have only recently realised that my terrible misunderstanding of programming is slowing me a lot.
- LeicaLatte 9y agoHello Bluetooth Keyboard support! Cannot wait to try this.
- gadgetoid 9y agoIt's worth noting that FUZE BASIC is a commercial fork of Gordon Henderson's RTB: https://projects.drogon.net/rtb/ https://projects.drogon.net/rtb/ If you want to hack on the code, there's a mirror for the original RTB source here: https://github.com/scruss/rtb https://github.com/scruss/rtb It diverged from FUZE back in 2013, though, so it will be quite different but may be fun for anyone who's more interested in the guts of the interpreter than the language itself.
- quickoats 9y agowhat is a text-based programming language?
- oliyoung 9y agoThere's no reason i can see yet that this won't pair well with the Labo (since the Labo uses the joy-con's standard IO to work) and THAT sounds fun