|
OUT NOW EVERYWHERE!! USD $25/30 €20ish~ idk* https://www.nintendo.com/games/detail/smilebasic-4-switch/ https://www.youtube.com/watch?v=MTsfdJYd5Uo After a long long delay, the fourth iteration of SmileBASIC/Petitcomputer is finally available worldwide. What's SmileBASIC? Good question, its the series of weirdly fully featured BASIC programming environments available for Nintendo systems. Originally these things emulated the crudity and limitations of early microcomputer programming, think like C64/MSX, but 3 and 4? Surprisingly fairly loving powerful. Now why would someone want to pay $30 to code in BASIC of all things on a Nintendo Switch, when you can do big boy programming in a real language on a real computer? No idea, but I do. Of course, if you don't want to make stuff, it has online sharing and you can download all kinds of poo poo other people have made also. Previous versions used keys to download programs, which you had to go scrounge for on Japanese wikis and on twitter, but PTC4 features an online gallery that people can upload to, complete with searchable tags, box art, and descriptions. That's where the multiple prices for this thing come in though, the $25 package has extremely limited access to the server, iirc you can only download one user submitted thing every 8 hours, and you can't upload at all. The $30 package includes a server ticket which gets you unlimited downloading and 10 upload slots, and they sell additional tickets that give you another 10 slots for $5 each Please use this thread to share things you find + post your own works + share information thank you What's new? The dialect of BASIC in PTC4 is pretty similar to 3, which is good because by BASIC standards its pretty good and modern. If you used 3 at all you should be extremely comfortable here. PTC4 is not completely backwards compatible though because architecture changed a lot in some places. Particularly in the way graphic pages work, its a much more regular system now and doesn't require you to juggle paging if you're doing weird stuff with your graphics. Full screen graphics pages and tilemaps don't even exist anymore, everything is a sprite now and full screen graphics are just arbitrarily large sprites. Some other big things that have changed:
Links Official language reference and tech specs Manual PDF Pretty thorough walk through the basic syntax homeless snail fucked around with this message at 19:51 on Apr 24, 2020 |
# ¿ Apr 24, 2020 01:53 |
|
|
# ¿ May 16, 2024 11:11 |
|
SmileBASIC Thread All-Stars!!
Check These Out:
Tools + Resources:
Misc:
homeless snail fucked around with this message at 01:48 on May 23, 2020 |
# ¿ Apr 24, 2020 01:53 |
|
BONESAWWWWWW posted:I never heard of this in the era of my 3DS, but I had a lot of fun tinkering with PICO-8 stuff on my computer. This looks similar. IDK if it really makes sense to spend a lot of time making full games in SmileBASIC though, and a lot of stuff you see does probably have similar scope to P8 projects ultimately. Its totally possible though, and big things do come out occasionally. Here's the Switch port of one of my favorite PTC3 games, Arcanum Stone https://www.youtube.com/watch?v=HunOUyRhShQ
|
# ¿ Apr 24, 2020 02:19 |
|
Your Computer posted:I am very excited it's a lot to get into with no prior SmileBASIC knowledge though, and the software itself isn't that good at giving basic examples so I think it would be really helpful to have some super basic stuff explained (assuming it roughly follows the same logic as the previous version.) Particularly I'm having a difficult time wrapping my head around how I'm supposed to create, save and utilize custom sprites and music since the tutorial only tells you how to play or display the built-in stuff The dead basics of the graphics on this thing though, are that you have 6 GRP pages, indexed 0-5, which are yeah pretty much just 2048x2048 framebuffers. The default spritesheet gets loaded in on GRP4, and also most of 5 is used to store the system fonts. You can load your own graphics files into memory with LOADG, then you use SPDEF to make sprite definitions that reference at what coordinates your sprites are, and finally use SPSET to instantiate sprites based on the definition numbers you picked. By default there's also a full screen sprite mapped to GRP0, which is why the graphics commands work without having to set anything up, but you can turn that off, all the graphics pages are completely general purpose. Out of the box, if you press F10 or hold ZL/ZR on the softkeyboard and hit smile tool #2, you'll load up Gahaku, the default image editor. You can edit all the graphics pages and spdefs in there and save them out to files which takes a lot of the pain out of the process imo Music, I don't think this comes with a tool for that, there are a few in the catalog but they're all in Japanese of course. If you're using the BGM channels though its not too tough to do it without a tool, all the songs are written in MML homeless snail fucked around with this message at 08:45 on Apr 24, 2020 |
# ¿ Apr 24, 2020 08:29 |
|
Pretty good twitter thread full of pubkeys https://twitter.com/gosokkyu/status/1253349847085862913
|
# ¿ Apr 24, 2020 09:32 |
|
magimix posted:Magimix Sokoban will return... (Because I'm assuming I can't just stick the assets for Magimix Mahjongg on my switch, and gently caress drawing all those tileset myself)
|
# ¿ Apr 24, 2020 19:11 |
|
Argue posted:How easy it is to port from PICO-8 to SmileBASIC? I originally thought that the two were related somehow, because I played the original Celeste on SmileBASIC, and I thought that they were the same thing, but I only recently found out that the SmileBASIC version was ported over from PICO-8; it wasn't just a paste job. I think most of it would be pretty straightforward though, pretty much all your sprite code and game logic would be fairly 1:1
|
# ¿ Apr 24, 2020 19:35 |
|
Jim Silly-Balls posted:Does this support bluetooth keyboards? I guess a bigger question is if the switch supports BT keyboards?
|
# ¿ Apr 24, 2020 22:44 |
|
Your Computer posted:this is wonderful! e: when you def your own functions you have to follow that convention also homeless snail fucked around with this message at 00:13 on Apr 25, 2020 |
# ¿ Apr 24, 2020 23:27 |
|
Seems like I was wrong, there's still something like BG layers, by printing your character graphics to the text layers with the text functions?? Unicode characters 0xE800-0xF7FF are mapped by default to the top right corner of page 4, but you can change the mapping with TPAGE. And you can look at the tile mappings in the F9 SmileTool under the USERCHR tab It seems kinda archaic compared to how it worked in version 3, but there's your tilemaps https://twitter.com/notohoho/status/1253833936242765828
|
# ¿ Apr 25, 2020 03:16 |
|
You can load SB3 pubkeys into SB4 I'm pretty sure, they just won't run
|
# ¿ Apr 25, 2020 05:13 |
|
Actually I should say, there are a few programs in the catalog that are titled like Puchikon 3-4 converter so maybe you can get then to run idk. I haven't tried those so I don't know if they're patchers or how automated they are or anything e: actually it works really well on most of the stuff I've tried so far, including the SB3 port of Celeste, 4V3X8442S it even has an English translation homeless snail fucked around with this message at 06:14 on Apr 25, 2020 |
# ¿ Apr 25, 2020 05:45 |
|
Yeah option strict is absolutely essential, I should probably put that in the op or something. defint was also something I used a fair amount on the last version, where everything was floating point unless you specifically declared variables otherwise, the type system seems a little bit saner in this one though so there's probably no benefit anymore
|
# ¿ Apr 26, 2020 07:13 |
|
Yeah, Monpara is an extremely good version of Mappy, definitely a pro-download. I forgot to mention I edited a bunch of pubkeys into the second post, its mostly all stuff you'll see on the top rankings in the published section though.
|
# ¿ Apr 26, 2020 08:41 |
|
Tempura Wizard posted:It’s page one and I’m very excited!
|
# ¿ Apr 26, 2020 21:55 |
|
Argue posted:So uhh, the response of my keyboard is really slow. I can't code anything like this, with it skipping letters unless I type very slowly, like 2 characters a second at most. Is that normal, or should I look into getting a better keyboard (which I can't really do because my city is on lockdown)? I haven't had trouble with that keyboard on my PC.
|
# ¿ Apr 27, 2020 09:39 |
|
The Kins posted:Smileboom are also not officially supporting wireless keyboards or mice.
|
# ¿ Apr 27, 2020 10:24 |
|
Yeah, graphics operations are extremely slow, GARRAY or GLOAD to blit everything all at once should be a lot faster. Just glancing it looks like the GSAVE/GLOAD format is the same as was in PTC3, its just an array of 32-bit ARGB values. RGB/HSL can deal with them or you can shift bits into it yourself The halfassed and extremely slow raycaster I made on the 3DS version I just drew all my textures in smiletool and GSAVEd them into arrays to do the lookups
|
# ¿ Apr 28, 2020 08:42 |
|
Not that cool to look at but here's what I've been loving with this weekend. https://mobile.twitter.com/itssnails/status/1255085100808540160 I was working on something else and realized I was going to need some GUI for it, so I dropped what I was doing and wrote a whole dang GUI library. Its immediate mode and uses GRP primitives to draw everything though so it's real slow, kind of regret it.
|
# ¿ Apr 28, 2020 12:05 |
|
Tempura Wizard posted:Thanks everyone for your help. Another newbie question, hopefully it will help someone else too.
|
# ¿ May 1, 2020 18:33 |
|
Tempura Wizard posted:Thanks! Now I'm trying to figure out how to call a specific sprite sheet I've edited. I'll edit a sprite sheet using the Gahaku tool, and it'll show up in the Smiletool when I'm looking through the userchr, however when I call it and run my program it immediately defaults back to the default sprite sheet.
|
# ¿ May 1, 2020 19:17 |
|
Your Computer posted:is there some neat way of storing a collection of data similar to a struct? I've found this is honestly the thing I'm missing the most so far If its data that's associated with a sprite, you're almost always better off storing them in spvars, at least.
|
# ¿ May 2, 2020 00:37 |
|
Yeah it just goes off what layout you have setup in the Switch system settings, there aren't many choices.
|
# ¿ May 4, 2020 19:29 |
|
Don't forget you can just rotate the sprite your board is drawn to, so for tate you can draw it to grp memory the exact same way as regular
|
# ¿ May 4, 2020 21:35 |
|
This sure is a productive use of my time https://twitter.com/itssnails/status/1258659153926451200
|
# ¿ May 8, 2020 08:25 |
|
Famicom emulator spotted https://twitter.com/otya403/status/1257918634246066178
|
# ¿ May 9, 2020 10:07 |
|
Finally got off my rear end and wrote the controller support for this thing, performance is not good though. Drops down to 30fps at around 2000 particles iirc, depending on what those particles are. Got some optimization work to do https://twitter.com/itssnails/status/1263717203452420096
|
# ¿ May 22, 2020 07:26 |
|
In the little bit of profiling I've done, it turns out array accesses are a killer, if you're doing a couple thousand of them a frame at least. Range checking or something I guess
|
# ¿ May 22, 2020 07:39 |
|
Yeah, there's no way to export constants. Best you can do is put all your consts and enums in one big block and copy them over, and hope you never have to change them
|
# ¿ May 29, 2020 01:10 |
|
I don't think it's universal, but most of them seem to
|
# ¿ Jun 4, 2020 22:58 |
|
overeager overeater posted:Have SmileBoom said anything about when this is going to be available in Europe again?
|
# ¿ Jun 5, 2020 00:48 |
|
The circumstances with SB3 were a little different, because they actually had to do the localization and stuff in that time, where its already all done with SB4 they just had to pull it for whatever the deal with the ratings was. Smileboom is a small company though and the EU release might not be their top priority
|
# ¿ Jun 5, 2020 01:00 |
|
https://twitter.com/smilebasic_com/status/1272803013439000578 English translation is a little improved, and they did some wild poo poo to the data reading functions
|
# ¿ Jun 16, 2020 16:06 |
|
|
# ¿ May 16, 2024 11:11 |
|
https://twitter.com/smilebasic_com/status/1272953964686794753
|
# ¿ Jun 16, 2020 19:21 |