? Concept: Open-Source SmileBASIC (Page 1) ● SmileBASIC Source Forums

Sign In

Register
*Usernames are case-sensitive
Forgot my password

Concept: Open-Source SmileBASIC

1 2 3
  • #1 ✎ 406 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website Okay, this is going to sound completely insane, but here goes: I was thinking recently: "How possible would it be to make a completely open-source version of SmileBASIC 4 from the ground up?" If this was successfully done, we could possibly port SmileBASIC to any platform of choice, such as Windows. What really sparked this idea for me though was Wii homebrew. After testing out some homebrew applications, I felt like SmileBASIC could really fit in. It could have a otyasmilebasic-esque file system, with a dedicated folder for projects and files. It could also use SBAPI to download files, if we can get it working with SmileBASIC 4 projects. If anyone would like to help me with this project, we might be able to go through with it. After all SmileBoom is a small team as it is, so how hard could it be? /s It would probably be very hard, but I would still like to have a go at it if anyone was willing to help. Don't know what language it should be coded in though. I was thinking C++, like the real SmileBASIC is. Don't have much experience with that language though, so I guess I would have learn more about it. If you're interested, please let me know. Posted Edited by HTV04
  • #2 ✎ 185 seggiepants BASIC has been ported and remade quite a few times over the years. You can get a taste of just how often at this link: https://en.m.wikipedia.org/wiki/List_of_BASIC_dialects. Most of those are old and defunct of course. If all you want is a version of Basic on Windows to make games with you could look at one of the following. I haven't used any of the following besides VB.net and FuzeBasic. VB.net is not really game oriented and Fuze is locked up behind a login wall at the moment.
    1. VisualBasic.net: https://docs.microsoft.com/en-us/dotnet/visual-basic/
    2. SmallBasic: https://www.microsoft.com/en-us/download/details.aspx?id=22961
    3. Fuze Basic: https://www.fuze.co.uk/
    4. QB64: http://www.qb64.net/
    For open source versions you may want to check out:
    1. FreeBasic: https://freebasic.net/
    2. YaBASIC: http://www.yabasic.de/download.html
    3. SDLBasic: http://www.sdlbasic.altervista.org/main/
    4. WxBasic: https://www.wxbasic.net/
    I haven't personally used any of those, but you should be able to make your own variant with them I seem to remember The V360 was making a SmileBasic style graphics library wrapper for Lua/LOVE http://smilebasicsource.com/forum?ftid=1640. That might prove useful or close enough to what you want. The real problem of course is that while you can make a SmileBasic work alike or variant, it shouldn't be exactly the same so you don't get hit with a lawsuit. You also can't bundle any of the graphics, sounds, or built in programs. However on the plus side you wouldn't need otyax, you would already be on windows/linux and have a real window manager and file system. You wouldn't need SBAPI either since you can just upload the files to GitHub or basically anywhere on the internet. No petit Modem needed either. So, would I recommend this, is it a good idea, can it be done? Well it is possible although you shouldn't make an exact clone. I really wouldn't recommend it. This site is largely populated by 12 year olds who will put any language they have written a hello world program in on their resume. So I don't think you talent pool has much to draw on for this sort of work. Any old Codgers like me don't have much spare time to help you out either what with 9 to 5 jobs and all. So, what do I recommend. Well, you could try adapting programs to an existing variant listed above or .......... Just learn to program on a commonly used language. My real recommendations
    1. Python
    2. JavaScript/TypeScript
    3. C#
    4. Java
    If you go for any Basic variant then go for VB.net as it is a real skill to put on a resume. Lua is good if this is just for fun.
    Posted
  • #3 ✎ 406 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website
    BASIC has been ported and remade quite a few times over the years. You can get a taste of just how often at this link: https://en.m.wikipedia.org/wiki/List_of_BASIC_dialects. Most of those are old and defunct of course. If all you want is a version of Basic on Windows to make games with you could look at one of the following. I haven't used any of the following besides VB.net and FuzeBasic. VB.net is not really game oriented and Fuze is locked up behind a login wall at the moment.
    1. VisualBasic.net: https://docs.microsoft.com/en-us/dotnet/visual-basic/
    2. SmallBasic: https://www.microsoft.com/en-us/download/details.aspx?id=22961
    3. Fuze Basic: https://www.fuze.co.uk/
    4. QB64: http://www.qb64.net/
    For open source versions you may want to check out:
    1. FreeBasic: https://freebasic.net/
    2. YaBASIC: http://www.yabasic.de/download.html
    3. SDLBasic: http://www.sdlbasic.altervista.org/main/
    4. WxBasic: https://www.wxbasic.net/
    I haven't personally used any of those, but you should be able to make your own variant with them I seem to remember The V360 was making a SmileBasic style graphics library wrapper for Lua/LOVE http://smilebasicsource.com/forum?ftid=1640. That might prove useful or close enough to what you want. The real problem of course is that while you can make a SmileBasic work alike or variant, it shouldn't be exactly the same so you don't get hit with a lawsuit. You also can't bundle any of the graphics, sounds, or built in programs. However on the plus side you wouldn't need otyax, you would already be on windows/linux and have a real window manager and file system. You wouldn't need SBAPI either since you can just upload the files to GitHub or basically anywhere on the internet. No petit Modem needed either. So, would I recommend this, is it a good idea, can it be done? Well it is possible although you shouldn't make an exact clone. I really wouldn't recommend it. This site is largely populated by 12 year olds who will put any language they have written a hello world program in on their resume. So I don't think you talent pool has much to draw on for this sort of work. Any old Codgers like me don't have much spare time to help you out either what with 9 to 5 jobs and all. So, what do I recommend. Well, you could try adapting programs to an existing variant listed above or .......... Just learn to program on a commonly used language. My real recommendations
    1. Python
    2. JavaScript/TypeScript
    3. C#
    4. Java
    If you go for any Basic variant then go for VB.net as it is a real skill to put on a resume. Lua is good if this is just for fun.
    Thanks for the recommendations, and I know about how there may be legal issues, but I really just want to do this for fun. I guess I'll ask a SmileBoom official (such as notohoho) about this beforehand, so I can make sure it would be okay to go through with something like this. One way I can probably get around including the samples/assets is posting them on SmileBASIC 4's servers, then having the open-source SmileBASIC download them via SBAPI. I would still like to use SBAPI because I want to see if I can make a 1:1 visual and almost functional recreation of SmileBASIC 4 (with help of course, because there's no way I can do this on my own).
    Posted Edited by HTV04
  • #4 ✎ 247 AnswerXOX Great Page Hidden Achievements osu! Is Awesome! I love osu! Express Yourself Third Year My account is over 3 years old Website I know this is for SmileBASIC 3, but projects like this have already been tackled at. A lot more notable things have already been created for SmileBASIC 3, so it would probably be more worthwhile to contribute to this project or fork it instead of making something new. https://github.com/otya128/otyaSMILEBASIC Posted
  • #5 ✎ 406 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website
    I know this is for SmileBASIC 3, but projects like this have already been tackled at. A lot more notable things have already been created for SmileBASIC 3, so it would probably be more worthwhile to contribute to this project or fork it instead of making something new. https://github.com/otya128/otyaSMILEBASIC
    The problem with otyasmilebasic though is that it's coded in D. I could try to port over some of its code to a different language, but I don't want the experience to be like otyasmilebasic, I want to aim for a similar experience to SmileBASIC 4 on the Switch (UI and all) so it would be easier to port to other platforms. A more Windows-focused SmileBASIC is a project I could probably tackle at some other point in time, especially if this project turns out well. I'm leaning towards coding it in C++, which is the language SmileBASIC 4 is currently coded in. How hard is it to code with C++? And is it possible to code a Wii homebrew application using it? I want to use a language that would be compatible with most platforms.
    Posted Edited by HTV04
  • #6 ✎ 247 AnswerXOX Great Page Hidden Achievements osu! Is Awesome! I love osu! Express Yourself Third Year My account is over 3 years old Website
    The problem with otyasmilebasic though is that it's coded in D. ... A more Windows-focused SmileBASIC is a project I could probably tackle at some other point in time, especially if this project turns out well.
    I don't really see the practicality of something like this outside of a desktop environment.
    Posted
  • #7 ✎ 406 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website
    The problem with otyasmilebasic though is that it's coded in D. ... A more Windows-focused SmileBASIC is a project I could probably tackle at some other point in time, especially if this project turns out well.
    I don't really see the practicality of something like this outside of a desktop environment.
    Just for fun. Not really trying to get a real use out of it, I just wanted to experiment. If I made a Windows-focused version though, I would want to design it with way more features than SmileBASIC currently has.
    Posted
  • #8 ✎ 1037 Yttria
    I know this is for SmileBASIC 3, but projects like this have already been tackled by others. SmileBASIC 3 is a better goal because we understand it better and it isn't going to change
    The problem with otyasmilebasic though is that it's coded in <a good language>. ... I'm leaning towards coding it in <a bad language>
    Posted
  • #9 ✎ 406 HTV04 Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Avatar Taboo I didn't change my avatar for 180 days Website Second Year My account is over 2 years old Website
    I know this is for SmileBASIC 3, but projects like this have already been tackled by others. SmileBASIC 3 is a better goal because we understand it better and it isn't going to change
    The problem with otyasmilebasic though is that it's coded in <a good language>. ... I'm leaning towards coding it in <a bad language>
    Ouch
    Posted
  • #10 ✎ 177 banana RNG Hidden Easter Eggs Third Year My account is over 3 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength *starts coding SmileBASIC port in Rust* Posted
  • #11 ✎ 994 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Video Games I like to play video games! Hobbies
    *starts coding SmileBASIC port in Rust*
    Starts coding a SmileBASIC port in SmileBASIC
    Posted
  • #12 ✎ 94 Simeon Scholar Received for knowing a great deal about programming topics Achievements Amazing Page Hidden Achievements Drawing I like to draw! Hobbies Hi HTV04, I've also been interested in this idea. I built this in the past (plug)http://s1meon.art/project/BASIC-Programming.html which compiles an old iOS version of BASIC known as "MiSoft BASIC!" into JavaScript. For the ~6 months I've been working on a SmileBASIC compiler just like this, I have about half of the SB functions ported, and the full SmileBASIC parser completed, but JavaScript maybe was not the right choice because there is no way to get a in-line WAIT/VSYNC in JavaScript (without busy waits which freeze the browser), so you have to be creative and combine blocks of code into sections, which will get executed one after another on different threads (using SetTimeout). However, if it were made in JavaScript, you get 1) high graphical performance and overall stability, and 2) easy accessibility and device compatibility since it's only a webpage. Python would be fun to make this in, however the graphics capabilities are very limited / slow. C# would work well since it does have in-line WAITs. And Java would be a very good direction as well. I'd be interested in working / helping someone to get a SmileBASIC compiler / interpreter out into the wild, I really love the idea especially because of the SmileBASIC API that was recently released, allowing access to pre-existing codebase. Posted Edited by Simeon
  • #13 ✎ 1828 12Me21 Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself WAIT=f=>new Promise(x=>setTimeout(x,f*1000/60)) PRINT=s=>console.log(s[0]) PRINT`Hey guys, are you bored of OS'es that do nothing at all?` await WAIT`398` PRINT`Then Jack OS Is for you!!!!!` Posted Edited by 12Me21
  • #14 ✎ 94 Simeon Scholar Received for knowing a great deal about programming topics Achievements Amazing Page Hidden Achievements Drawing I like to draw! Hobbies Hmm Posted
  • #15 ✎ 245 the_squat1115 Minecraft Is Awesome! I love Minecraft! Express Yourself Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength Video Games I like to play video games! Hobbies
    Okay, this is going to sound completely insane, but here goes: I was thinking recently: "How possible would it be to make a completely open-source version of SmileBASIC 4 from the ground up?" If this was successfully done, we could possibly port SmileBASIC to any platform of choice, such as Windows. What really sparked this idea for me though was Wii homebrew. After testing out some homebrew applications, I felt like SmileBASIC could really fit in. It could have a otyasmilebasic-esque file system, with a dedicated folder for projects and files. It could also use SBAPI to download files, if we can get it working with SmileBASIC 4 projects. If anyone would like to help me with this project, we might be able to go through with it. After all SmileBoom is a small team as it is, so how hard could it be? /s It would probably be very hard, but I would still like to have a go at it if anyone was willing to help. Don't know what language it should be coded in though. I was thinking C++, like the real SmileBASIC is. Don't have much experience with that language though, so I guess I would have learn more about it. If you're interested, please let me know.
    AWESOMEEEEEEE!!!!!! I'm really interested on this. Is there any way I can contribute? Here is an idea: We should add new capabilities to the new SmileBASIC Open Source code, like support for Mode 7, Multimedia(?), etc. Example for Mode 7: init.mode7'Like it's saying: Hey! Initialize Mode 7! Easier to understand, more easier to program. mode7.rendist,[Render Distance Z],[Sensibility]'This maybe used to the Mode 7's Render Distance. Or a new way to initialize sprites: SPSET [Management Number],[Coordinates],[Control Mode],[Button definitions],[ANIM Toggle On/Off],[ANIM Frames],[ANIM Frameskip,Frame 1 skipper,Frame 2 skipper,etc.]'A bit nicer way to put a player sprite without putting lines of code, making SPOFS, SPANIM and the loops for player movement obsolete.
    Posted Edited by the_squat1115
  • #16 ✎ 94 Simeon Scholar Received for knowing a great deal about programming topics Achievements Amazing Page Hidden Achievements Drawing I like to draw! Hobbies @12Me21 Thank you so much I got it working, I just needed to wrap everything in an async function and use your code! Posted
  • #17 ✎ 177 banana RNG Hidden Easter Eggs Third Year My account is over 3 years old Website Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength
    Okay, this is going to sound completely insane, but here goes: I was thinking recently: "How possible would it be to make a completely open-source version of SmileBASIC 4 from the ground up?" If this was successfully done, we could possibly port SmileBASIC to any platform of choice, such as Windows. What really sparked this idea for me though was Wii homebrew. After testing out some homebrew applications, I felt like SmileBASIC could really fit in. It could have a otyasmilebasic-esque file system, with a dedicated folder for projects and files. It could also use SBAPI to download files, if we can get it working with SmileBASIC 4 projects. If anyone would like to help me with this project, we might be able to go through with it. After all SmileBoom is a small team as it is, so how hard could it be? /s It would probably be very hard, but I would still like to have a go at it if anyone was willing to help. Don't know what language it should be coded in though. I was thinking C++, like the real SmileBASIC is. Don't have much experience with that language though, so I guess I would have learn more about it. If you're interested, please let me know.
    AWESOMEEEEEEE!!!!!! I'm really interested on this. Is there any way I can contribute? Here is an idea: We should add new capabilities to the new SmileBASIC Open Source code, like support for Mode 7, Multimedia(?), etc. Example for Mode 7: init.mode7'Like it's saying: Hey! Initialize Mode 7! Easier to understand, more easier to program. mode7.rendist,[Render Distance Z],[Sensibility]'This maybe used to the Mode 7's Render Distance. Or a new way to initialize sprites: SPSET [Management Number],[Coordinates],[Control Mode],[Button definitions],[ANIM Toggle On/Off],[ANIM Frames],[ANIM Frameskip,Frame 1 skipper,Frame 2 skipper,etc.]'A bit nicer way to put a player sprite without putting lines of code, making SPOFS, SPANIM and the loops for player movement obsolete.
    That SPSET idea makes me cry.
    Posted
  • #18 ✎ 994 random_god Intermediate Programmer I can make programs, but I still have trouble here and there. Programming Strength QSP Contest 1 Contest Participant I participated in the first SmileBASIC Source QSP Contest! Video Games I like to play video games! Hobbies
    Okay, this is going to sound completely insane, but here goes: I was thinking recently: "How possible would it be to make a completely open-source version of SmileBASIC 4 from the ground up?" If this was successfully done, we could possibly port SmileBASIC to any platform of choice, such as Windows. What really sparked this idea for me though was Wii homebrew. After testing out some homebrew applications, I felt like SmileBASIC could really fit in. It could have a otyasmilebasic-esque file system, with a dedicated folder for projects and files. It could also use SBAPI to download files, if we can get it working with SmileBASIC 4 projects. If anyone would like to help me with this project, we might be able to go through with it. After all SmileBoom is a small team as it is, so how hard could it be? /s It would probably be very hard, but I would still like to have a go at it if anyone was willing to help. Don't know what language it should be coded in though. I was thinking C++, like the real SmileBASIC is. Don't have much experience with that language though, so I guess I would have learn more about it. If you're interested, please let me know.
    AWESOMEEEEEEE!!!!!! I'm really interested on this. Is there any way I can contribute? Here is an idea: We should add new capabilities to the new SmileBASIC Open Source code, like support for Mode 7, Multimedia(?), etc. Example for Mode 7: init.mode7'Like it's saying: Hey! Initialize Mode 7! Easier to understand, more easier to program. mode7.rendist,[Render Distance Z],[Sensibility]'This maybe used to the Mode 7's Render Distance. Or a new way to initialize sprites: SPSET [Management Number],[Coordinates],[Control Mode],[Button definitions],[ANIM Toggle On/Off],[ANIM Frames],[ANIM Frameskip,Frame 1 skipper,Frame 2 skipper,etc.]'A bit nicer way to put a player sprite without putting lines of code, making SPOFS, SPANIM and the loops for player movement obsolete.
    That SPSET idea makes me cry.
    Honestly, I'm more fine with using sprite funtions than I am with that.
    Posted
  • #19 ✎ 230 TheV360 Pokemon Is Awesome! I love Pokemon! Express Yourself First Day Joined on the very first day of SmileBASIC Source Website Night Person I like the quiet night and sleep late. Express Yourself If we could add new functions to SmileBASIC, I'd try to do it in a way that's as close to SmileBASIC as possible. For example: A 3D library which can alter the display of existing layers and also draw automatically z-sorted polygons. It would have a system like sprites, only using 3D models as the graphics data, rather than a large spritesheet. For example: PINIT 1,1,16 'Set up screen, sets 1 unit = 16px, sets perspective(1)/orthographic(0) flag, sets a flag that determines if z-coordinates of sprites and backgrounds should take on the properties of this setup. (0 = no effect on BG/SP, 1 = affect BG, 2 = affect SP, 3 = affect both, 4 = I have no idea this is all just an idea) VAR points%[32, 3] 'Make the array that we store our model in. COPY points%, @MODEL_1 'Copy the data in from a model conveniently outside this code preview PSET 0,points% 'Make a model with the ID of 0, and using the model data we copied in POFS 0,-26,0,1 'Just off to the left of the screen, and just into the screen enough to be properly seen by the camera. PANIM 0,"XYZ",-60,26,0,1,0 'Zoom to the right of the screen over 60 frames. Loop this. 'And there you go, a teapot moving at the speed of light! With that prefix for "Polygon", just like "BackGround", "SPrite", "Graphics", and "Text screen" Posted
  • #20 ✎ 7 LucasJG1994 Creating an open-source SmileBasic compiler for a desktop computer. With functional sprites, midi, and animation software the same on the 3ds would be a good idea. But, programmed in a more powerful language. Such as C/C++. I guess other languages can also work, such as java or Python. Though the compilation time will be much slower than made in C/C++ which will be much faster. Posted
1 2 3