ModernBASIC 128 Studio

Started by round157, May 08, 2021, 02:33:55

Previous topic - Next topic

zelda64bit

Hello the cheerful programmer.

Everything you say is very promising and exciting, I have some final questions.

Gamemaker brings a good amount of variables, functions and predesigned methods to help you in the creation of video games of all kinds, will modern basic 128 be more similar to gamemaker? Or it will be more like bliztmax that does not bring any help and you have to create everything from scratch.

I would like to know if the code editor will have autocompletion, in gamemaker when you program in addition to autocompletion at the bottom of the ide a summary of the function you are calling appears to see the parameters that you have to pass, this way you don't have to be all the time looking at the documentation.

Will Modern Basic bring documentation, tutorials, examples, etc.?

Will the documentation be in English only or will there be more languages?

What will happen with time and updates, how are you going to raise it? Gamemaker at first was a small and optimized language and everything worked very well and with few resources, but when Gamemaker Studio arrived, too many things were added to the language and the editor, and it came out very heavy and with many errors. Then gamemaker studio 2 arrived and they inflated everything, now the language is complex and the environment as well, it asks for almost the same requirements as unreal engine 4 ... I stayed in gamemaker 8. I have seen that this also usually happens with many languages. Can the same happen to modern basic 128?

Lastly, I would like to know where I could see the progress of the modern basic or maybe I will show it here in this forum.

Aurel [banned]

(Y)

The Joyful Programmer

#32
Wow! Great comments and questions! This is going to be fun!

Quote[Derron] The logo reminds me of an inca tribe on drugs (font choice of the "text logo" supports the aztec/inca/... reminiscence).

Actually... It kinds does doesn't it? I absolutely enjoy learning about past civilizations like the Incas, Aztecs, and Egyptians, so they may have mingled into my logo.

I would like to tell everyone how I appreciate their ideas about the logo, and that the design is never finished until the overall project is complete.

Quote[Derron] In itself it might look cheerful, and eye attracting
Thank you. That was my intention.

Quote[Derron] but when having to judge the intention / usecase of the logo it is - in my opinion of course - not fitting.
Good to know! I was a typesetter/graphic artist for 20 years, but logo design was really never my thing. So the information you provided was excellent.

Quote[Derron] - it is too complex for a (todays) logo
That I agree with. I kept thinking the same thing myself. I removed the teeth from the "cog wheels" on the outer edge,as they made the logo look way too busy. I also fattened up the circles a bit.

Now, I would like to point out that the logo was only created in a couple of hours, and was a rough draft of an idea I had in a dream (Strange as it may sound). Usually when logo designers work on logos, they generally provide multi-variations. I too have multiple versions, but only showed the best of them.

Quote[Derron] it uses too many colors for individual focus points (one of the exceptions is the "rainbow" as it is seen as "one piece")
I was thinking the same thing. All the colors were making it distracting, but I do like the "rainbow" idea as it symbolizes "diversity". On the new version, I cut down on the colors.

Quote[Derron] minor: it contains a "tm" - sure it is trademarked?
The "Trademark" symbol you see on the logo is the ™ mark, which shows it is a trademark, but it isn't registered with the "The United States Patent and Trademark Office (USPTO)". It is not the ® mark which would mean it was registered. By using the ™ mark, my logo is protected by law, thought it wasn't registered. This is the same effect as placing "Copyrighted..." on your materials.

Quote[Derron] the cogwheels are bent ... sturdy cogwheels do not bend!
Yeah... I agree. I was trying to make them look like they were spinning, but it didn't turn out very well. So... Scratch that idea...

Quote[Derron] cogwheel in the center is differently designed than the outer ones (things should not look like "different sources mixed togethe
Originally, they were all the same. I just duplicated the same cog wheel, then did an overall twist on the entire pattern.



Quote[Derron] take away the distracting colours of the outer cogwheels ... and what is left looks like an "all observing robot eye"
While I did not think of it like that, that's actually a pretty clever symbolism that actually will fit the product.

Quote[Derron] The idea of 8, 16 ... 128 etc might be nice to have - but maybe do not force it.
While I wasn't thinking like that, it does appear to be the case. Lesson learned: What might appear to be cool, isn't.

Quote[Derron] Sometimes "less is more".
That is so true!

Quote[Derron] Maybe see this logo as a "revision #1" and let others follow - settle down on colours, simplify shapes ...
Most definitely! I did take your advice on those last two points and removed the teeth on the cogs of the outer rim, and removed the darker background colors. I knew I would be revising the logo over time, however, that was revision #9.

Quote[Derron] Above is only my opinion - and it is only about the logo.
I appreciate all opinions (good or bad).

Here's the latest incarnation of the logo. What are your thoughts about it?



Quote[Derron] The other parts of the project I am not utterly interested (now) so I neither judge that nor have an opinion about it.
Completely fair and I appreciate that.

Quote[Aurel] I don't know that Inca tribe  :o
but yes considering logo looking nice but also little bit complex
Thank you and I do agree.

Quote[zelda64bit] Everything you say is very promising and exciting, I have some final questions.
Please, ask all the questions you want! They help the project a lot, especially since I can't think of everything by myself. Questions allow me to think about the different persepctives I missed before.

Quote[zelda64bit] Gamemaker brings a good amount of variables, functions and predesigned methods to help you in the creation of video games of all kinds, will modern basic 128 be more similar to gamemaker? Or it will be more like bliztmax that does not bring any help and you have to create everything from scratch.
You really do ask some AWESOME questions!

The overall design of ModernBasic 128 Studio is to provide us with the facilities to help us create our games and apps faster and easier.

ModernBasic 128 Studio isn't your run-of-the-mill IDE & compiler product, like BlitzMax, QB64, or even FreeBasic. That has been overly done over the years and my goal is to get away from that.

ModernBasic 128 Studio is a general development suite which allows you to develop apps and games. Personally, the whole reason I got into computer programming back in 1982 was due to graphic animation and games. My favorite types of games are 2D, 2-1/2D, side scrollers, orthogonal, top-down view, text adventures, and graphical text adventures. Implementing tools to help us create these types of games, and more, are a must.

As I mentioned in a previous post, ModernBasic 128 Studio will provide us with multiple editors to use to build our projects with. Here's a list of some of the ones I have in my notes:

  • Code Editor
  • Text Editor
  • Image Editor (vector/bitmap, with layers, color palettes, filters, etc...)
  • Animation Editor (character, object, scene, etc... [I'm envisioning something similar to Adobe Flash])
  • Sound Editor
  • Filter Editor
  • Style Sheet Editor
  • WYSIWYG (What You See Is What You Get) Editor
  • Database Editor
  • Sprite Sheet Editor
  • Font Editor (starting off with bitmap fonts, and possibly others later on)
  • Script Editor
  • Frame Editor (A frame is a display unit [like a window in Windows - especially those used to draw GUI objects] which supports a subsystem controlled by either a scripting language [interpreted], or [compiled] code, and has the ability to have many different functions like loading assets, maps, sounds, and more, all defined in a frame-database.)

Quote[zelda64bit] I would like to know if the code editor will have autocompletion
Most definitely! The autocompletion can be toggled on or off if you so choose. There are a large group of people out there that believe autocompletion is bad because it can cause laziness, among other things. I personally don't agree with that, but those people will have the option of turning it off if they choose.

Quote[zelda64bit] Will Modern Basic bring documentation, tutorials, examples, etc.?
Absolutely and most definitely! My goal with the project is to create the documentation as we build the product. I can not stand downloading a product like BlitzMax, MonkeyX, Godot, or others, and not have a good documentation with it. This makes it difficult to use the product right out-of-the-box, and leaves way too many questions in the air. Many times, I don't want to invest my time into a project whose developers refused to invest their time in good documentation. I can not see any reason why the documentation can't be created as each part is made, like each command in a language.

Quote[zelda64bit] Will the documentation be in English only or will there be more languages?
The preliminary documentation will be in English only. English is the most dominant language on the planet (out of the 7'139 living languages - 4'065 with a developed writing system), and 99% of the countries out there are able to read English.

I personally only speak English and I have no interest in learning any other. However, the community is more than welcome to translate the documentation to other languages if they want, but that would be a massive undertaking in it self.

Quote[zelda64bit] What will happen with time and updates, how are you going to raise it?
Another excellent question!

Let me start off by reiterating the fact that ModernBasic 128 Studio is a FLOSS (Free/Libre Open Source Software) project. This means you will be able to download the source code, and all other elements, make other the modifications you want and recompile it yourself.

ModernBasic 128 Studio will be placed on a site like GitHub or GitLab (still debating on this one), and all updates will be maintained there. Pre-compiled versions can be download from our website at https://www.ModernBasic128.com.

The pre-compiled binary versions of ModernBasic 128 Studio will provide an automatic update system, but the source code version will not.

The pre-compiled binary versions of ModernBasic 128 Studio will come with an "Asset Store" where you can download assets like: Music, sound effects, tile sheets, sprite sheets, filters, shaders, and so much more, but the source code version will not.

Any system that will require access to our website, or other online presence, will not be provided in the source code due to security reasons.

Quote[zelda64bit] Gamemaker at first was a small and optimized language and everything worked very well and with few resources, but when Gamemaker Studio arrived, too many things were added to the language and the editor, and it came out very heavy and with many errors.
I remeber when GameMaker first came out, and I remember when the original creator of the project walked away from it and sold it to somebody else, which is when GameMaker Studio was born.

It's not possible to craft a large software product that doesn't have bugs in the beginning, but good planning, attention to detail, and good management will help developers cut down on those errors. A lot of errors come from the system the software is running on, but careful error-checking in the code will cut down on those errors as well.

Another problem in the software industry, is that most of the companies are under a deadline, and irregardless if the product is ready for production or not (as long as it is working somewhat), they will release the product to market. Their ideas are to fix the errors later, but get the product to the clients/users ASAP!

As a FLOSS product, we are not bound to deadlines, at least not with this product. So, we will enjoy the pleasures of providing countless beta versions until will get to the point of being able to call the latest version, "release".

Quote[zelda64bit] Then gamemaker studio 2 arrived and they inflated everything, now the language is complex and the environment as well, it asks for almost the same requirements as unreal engine 4 ... I stayed in gamemaker 8. I have seen that this also usually happens with many languages. Can the same happen to modern basic 128?
The word, "complexity" is a relative term and doesn't really explain the issues. The more tools a product has to offer, the more of learning curve it has. But this is true in any industry. Take a look at all the new tools and ideas in the medical care industry. Once you take the time to learn all the tools of a product (Unreal 4, Unity, GameMaker Studio, ModernBasic 128 Studio, Godot, Adobe Photoshop, Adobe Illustrator, Adobe Flash, Corel Draw, construction industry, painting/drawing, etc...) then things are not as "complex" as you first thought. This is the nature of having more tools.

Another aspect of the word "complex" being relative... What may be complex to me, may be simple to you, or Vica-Versa.

In saying all that, this is where documentation, tutorials, and examples will help make things easier.

There will be tons of examples for ModernBasic 128 Studio for people to play around with. Since I will also be a big user of the product, and one of the developers, I will need to create demos to test out every part of the product. Those demos will be provided for everyone to enjoy. Plus, like I have with many other programming languages over the years, I will be creating tons of personal demos that I will want to share with the world.

Let's not forget that will we have beta testers for the project, and they too may provide great demos for the project.

There's no telling at this point how far ModernBasic 128 Studio will grow in the future, so I can not say either way.

Quote[zelda65bit] Lastly, I would like to know where I could see the progress of the modern basic or maybe I will show it here in this forum.
Originally, I was posting about it on my brand's (The Joyful Programmer) Discord server, but I have removed most of that content due to the constant changes, as well as security for the product. There are still a ton of details about the project that I haven't mentioned, and planned to keep as a secret for time being.

However, I do have a Discord server specifically for ModernBasic 128 Studio that I will be utilizing at some point soon. However, now that you asked I may go ahead and get it going.

As I previously mentioned, we are currently working on a website for ModernBasic 128 Studio, which is located at https://www.ModernBasic128.com. Both it, and my main website, located at https://www.TheJoyfulProgrammer.com are powered by TikiWiki, a very powerful CMS software, which is a "complex" product.




As I had mentioned before, ModernBasic 128 Studio will be designed around newer computers and hardware. The minimum hardware support (for PC's) is:

  • Linux Ubuntu/Mint version 20
  • Windows 8 (originally I posted Windows 7)
  • OpenGL 4.0
  • 256MB of video memory
  • 64-Bit processor
The minimum support specs for Android devices and Raspberry Pi are unknown at this time.



Walter Whitman
The Joyful Programmer

iWasAdam

Here's some thoughts for you:
1. the font used is very close to comicsans style - I would suggest changing it to something... else
2. the 128 has no meaning - suggest dropping it
3. the current logo is way to complex - suggest simplifying it - can it be used black and white?
4. 'modern basic' doesn't sound right - surely all basics are not 'modern' to some extent? suggest something that would give and instant in your face remember me name
5. I like the thought process of the aztec logo, suggest using that concept

OK. here's my base attempt at taking all the above and reconstructing the name, logo, etc so everything all fits into a single unified approach:


Some explanation to the thought process:
1. aztec seems a good foundation. so lets call it Aztec Basic - I checked and there is not an existing Aztec Basic :)
2. find a nice clear font that also has some sort of backward influence
3. research and pick a suitable logo symbol. In this case the aztec bird - birds are usually decoded as 'freedom', and 'happiness'
4. take a basic color swatch that is common to aztec and use them
5. place bird logo on block - this is not geometric, but slightly drawn that fits in with the solid hand made rock

Using all the above you now have a name and a logo with different variations and also a main icon :)

Derron

#34
so the different corner radius are intented? (and that the corners seem to be "slanted/offset/" and not perfect symmetrical diagonally ?)
I think the basic idea (3 bigger "curved corners" and a tinier one) works well - might work better if exaggerated a bit more.

Aztec Basic sounds cool (really!) - but might remind on "ancient" (and who wants to code in something "ancient"). But might also mean "old and proven".

The bird is a bit "blurry/smoothed" compared to the sharp text. If someone settles for the idea the bird might better be redrawn to have a more "sharp" appearance - and not to look "vectorized bitmap" as of now.

Edit - instead of the bird a "custom" asztek-style icon would suit well for a coding language too ... like an "asztec computer" - or here, something which reminds on a nerd face :D


https://www.iconfinder.com/icons/5951043/animal_antique_aztec_bird_civilization_gold_pyramid_icon


bye
Ron

Aurel [banned]

Quoteand who wants to code in something "ancient"

yeah good one   ;D
(Y)

Midimaster

the name "aztec-basic" is genius!

it is a combination of "a to z", which is a synonymus for "complete" and the word "tec" which is a abbreviation for "technic". Together is it symbolized with a acient "aztec"-sign, which make it unique and easy to remember.
...on the way to Egypt

Aurel [banned]

sorry Ron but your icon looks like
castle with 3D glasses and big nose and big tongue  :o
;D
(Y)

Derron

It is not my icon - and I only wanted to have an example of an icon/symbol which might not be based on an actual ancient aztec/inca.... symbol but just using their "style".


@midi master
yes, had this "a-z + tech" in my mind too :)


Sorry @OP for derailing the thread so much.


bye
Ron

bplus

#39
https://www.syntaxbomb.com/index.php/topic,8440.msg347050171.html#msg347050171

One may wonder if Walter will ever get anything done with Studio 128 with replies like this.

but not me ;-))

PS And we are still redesigning the logo I see, ha! I like the cogs myself, specially if you can get them turning, I think I have some cogs on fire thingy you might like, maybe Walter remembers it?

PPS Come to think of it, I have an Interpreter waiting for some private variables for Subs, so much more fun socializing at forums ;-))

1 person likes this

The Joyful Programmer

Quote[iWasAdam] the font used is very close to comicsans style - I would suggest changing it to something... else
That font was the only "fun" one I could find on my Windows 8 machine. I literally have over a hundred thousand fonts that I collected for the last 20+ years, on my 8TB external harddrive, but I can't access it since it was formatted with the ext4 file format, which can only be accessed in Linux.

My primary operating system is Linux Mint, but due to some strange turns of events, I am stuck with Windows 8. When my old laptop fried (literally), I used my daughters old machine. Then her computer is having a hardware failure, which kept causing my hard drives to get corrupted. So, I started using a PC I was given when a previous company I worked for for over 18 years closed its doors. However, it has an old video card with 64MB of memory and it has some serious issues. I have to get a new video card. Due to the issues I am having with the video card, when I boot into Linux Mint, I can't see any icons or text.

However, the font I finally choose needs to be fun, almost childish looking.

Quote[iWasAdam] the 128 has no meaning - suggest dropping it
Actually, the "128" has plenty of meaning in the name. Here are a few of them:

  • The "128" stems from my history with "QB64" since 2009.
  • ModernBasic 128 offers 128-Bit integer variables.
  • ModernBasic 128 offers 128-Bit floating-point numbers.
  • The "128" sublimally suggest "Modern".
  • ModernBasic 128 started out as QB128, an updated version of "QB64".
ModernBasic 128 offers the following integer sizes:

  • 8-Bit
  • 16-Bit
  • 32-Bit
  • 64-Bit
  • 128-Bit
  • 256-Bit
  • 512-Bit
  • 1'024-Bit
ModernBasic 128 offers the following floating-point sizes:

  • 32-Bit
  • 64-Bit
  • 80-Bit
  • 128-Bit

Quote[iWasAdam] the current logo is way to complex - suggest simplifying it - can it be used black and white?
Yes, the logo can be turned into black & white.



I took your advice and simplified the logo a bit to see what I could come up with. Here is a spread of the updated version:



Here's the spread at a smaller resolution:



Quote[iWasSam] 'modern basic' doesn't sound right - surely all basics are not 'modern' to some extent? suggest something that would give and instant in your face remember me name
I know my posts are long, but you should reread them. ModernBasic 128 Studio will be way more modern then current programming languages, which is why I chose the "modern" for the name.

The "modern" part of the name does NOT in imply the language (syntax) is more modern. The "modern" part implies that the way you code, and how projects are designed. As I mentioned before, I will be introducing a revolutionary concept of "fileless" coding. This new concept will be explained in greater detail when the product enters the "BETA" stage. So, the "Modern" part of the name is a major concept for the product.

Quote[iWasSam] I like the thought process of the aztec logo, suggest using that concept
While the Aztec's were complex and advanced, they represent the past, as where ModernBasic 128 Studio represents the future of coding. The name must point to the future, not the past.

Now, as I stated before, there are three programming languages in the product:

  • RBasic (RetroBasic) -- A QBasic 4.5 Clone
  • RBasicX (RetroBasic eXtended) -- An extended version of RBasic
  • ModernBasic 128 -- The flagship programming language
You have a very cool idea, and we could incorporate a forth programming language called, "AztecBasic", but that will be after the product has been placed in "Release". Adding more (custom) programming languages to ModernBasic 128 Studio will be very easy to do (hence: Modern).

Quote[Derron] Aztec Basic sounds cool (really!) - but might remind on "ancient" (and who wants to code in something "ancient").
My point exactly! Well, it's my point when it comes to the "ModernBasic 128" programming language name, not the "ModernBasic 128 Studio" name. They are two different things, which I can see could be confusing.

However, as I mentioned above, we could add it as a forth programming language and maybe even do something crazy and out of this world with it, but for now, I have to stick with what we have planned.

Like I said, AztecBasic can be added to the ModernBasic 128 Studio when it is released. We are making ModernBasic 128 Studio easy enough to add more "custom" programming languages to the product.


Quote[Derron] Sorry @OP for derailing the thread so much.
No, you didn't derail the thread. The OP posted a copy of some information I posted on my Facebook page, so this whole thread is all about ModernBasic 128 Studio, including its logo.
Quote[Bplus] One may wonder if Walter will ever get anything done with Studio 128 with replies like this.
Actually, Bplus, I am working on ModernBasic 128 Studio. Remember, we are still in the planning stages of the product, even though I am working on the SRS (Software Requirement Specification).

ModernBasic 128 Studio is a community FLOSS project, so whenever we get a chance to discuss it, I am ready. You never know what ideas we might uncover to incorporate into the product.

Quote[BPlus] but not me ;-))
I know, Bplus. I know.

Quote[BPlus] PS And we are still redesigning the logo I see, ha!
Yes, we are still working on the logo. It's not finalized at this point.

Quote[BPlus] I like the cogs myself, specially if you can get them turning,
Yeah, I like the cogs myself too, and I had plans on animating them. However, when I started comparing the cogs to the smooth "wheels" version, the cogs were to overwhelming.

Quote[BPlus] I think I have some cogs on fire thingy you might like, maybe Walter remembers it?
Yes, I do remember it very well!


Walter Whitman
The Joyful Programmer

iWasAdam

You cannot use basic for a forth language. Forth is forth, basic is basic.
I wish you luck

zelda64bit

I still like the first logo more and the name of the modern basic 128 I also like.

Some engines to give you some new ideas.
https://www.construct.net/en
https://pilas-engine.com.ar/
http://www.stencyl.com/

Some languages to give you new ideas.
https://www.python.org/
https://www.ruby-lang.org/es/
https://golang.org/
https://www.lua.org/
https://divgo.net/
https://coolbasic.com/

I would like to know how you are going to present the examples, they will be like the ones that bliztmax brings, which are very long and only suitable for experienced programmers of the language, or they will be small examples as a tutorial for beginners.

The use of pointers such as sera, manual or smart pointers.

I would also like to know if the modern core language will bring new features that no language currently has, or will it just copy features from current languages.

zelda64bit

Quote from: Aurel on May 13, 2021, 23:10:43
Maybe you should try Visual batari basic
https://www.youtube.com/watch?v=Ww3her2zk_I&t=358s

This is for making games for the Atari 2600 and is also obsolete.
Better this which is more current:

Aurel [banned]

If i would  use something new-er then Godot
(Y)