Modernize GLBasic?

Previous topic - Next topic

Youkaisan

I'm still using GLBasic for some hobby and simple projects, but I feel it's getting old, however I understand the corss-compiling capabilities of GLBasic is still some very advanced concept.

However, if there're some changes to happen I think GLBaic can do better:

1.Removal dead platforms to save space and don't have to care too much about limited platforms.

2.A more advanced IDE, maybe based on Atom/VSCode or some open source products.

3.Unicode support, I think this need some internal change but many platforms are now Unicode based.

BTW I'm also a Monkey-X user, I think GLBasic works better in regards of 2D and 3D suport, but I think it's not something bad to make GLBasic looks cool.

Ian Price

You've obviously not been paying too much attention...

1. V14 allows you to download only the formats that you require. If you don't want Wiz, Caanoo, Pandora compiler modules then don't download them.

2. Yes, that's something we'd all like. Unfortunately that's not high on the agenda for GLB at the moment, however, now that others are working on the GLB core it's a definite possibility in the future. :)

3. GLB already supports more platforms than pretty much every other development software without full unicode support. Unicode has its uses, but it's not perhaps as necessary as you seem to think. Have you got something specific in mind that you want GLB to do but can't because of this reason alone? Remember the core strength of GLB is the last part of its name - it is designed to be a BASIC style language. It's already far exceeded it's original purpose and scope.

GLBasic doesn't have to "look cool" - what it does it does very well (on the whole) - it's up to the end user to make their stuff look cool. GLBasic just has to be functional. I don't want or need superfluous fluff or shiny buttons - it doesn't add anything to my productions. Yeah, sure, the IDE itself does look dated, but would it actually make GLB better? All the various IDEs available for Blitz, 3D, Max, and MonkeyX don't make the end product any better (in fact with all of those products I stuck with the original IDEs - I didn't want or need (or even understand) half the extras available.

SO yes, we all agree that GLB is a bit behind with the times in its presentation, but its ability to produce stuff for muliple platforms at the drop of a hat is still way ahead of many similar products.
I came. I saw. I played.

spacefractal

#2
Unicode is also a highly missing. This due some languages require it, and we can not miss that really. China is a great example. Im got some request to let translate Genius Greedy Mouse to chineses, which is impossible without Unicode support.

But more important, its just time to implement some sort of TrueType or such format, which come with Unicode support. Glbasic strings does not eventuelly require to support 16bit throught, which can been done using utf8 format. This due this is only important to display the font required, and there is easy to convert Unicode to Utf8 and the other way as well.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

Ian Price

I agree that having a TrueType font system would be great (I've definitely missed that in the past), but like everything else in computing there are ways of getting around it: bitmap images of pre-rendered text is one example. Not ideal, I admit, but it's not "impossible" to do this for your game.

Time is indeed the biggest hurdle to the development and modernising of GLB - there just aren't enough hours in the day and there's only so much that a very small team can achieve - especially since that team has been pretty much one man for a decade.
I came. I saw. I played.

Youkaisan

I'm still using V12, I think I missed the V14 release as I'm diving into Godot Engine for a while.

Checking V14 now.

In my experience it's still posible to make double-byte language support without Unicode core, like GBK or Extended Hangual, literally it's easy to display Chinese etc on screen but somehow hard to take input properly.

spacefractal

Using bitmap with large charset is a hell to implement and uses many images, and take a lots of fillespace. So it's not practical trying to convert double byte language to single images.

So supporting TrueFont would been pretty nice, then it's could scale much better than bitmap ever could.
Genius.Greedy Mouse - Karma Miwa - Spot Race - CatchOut - PowerUp Elevation - The beagle Jam - Cave Heroes 2023 - https://spacefractal.itch.io/

Ian Price

I said it was possible, not practical! :P
I came. I saw. I played.

Youkaisan

For example, if you use GBK(simplified chinese) range of double-byte text, it's about 5MB for a 24x24 per character within the character code range, which is not very heavy for  a text sprite, but if you want to utilize big font size (like 96x96) or use multiple fonts, that'll be wasting many memory.

If using a TTF(FreeType for example) to display GBK, it typically took 8~10MB per font but he character is not limited in size and if you want change the font it much easier.

The free unicode fonts like Droid Sans Fallback or MS Hei is very small and suitable for displaying multiple country texts, however they have some license limitation if you want to bundle wit your binary.

MrPlow

Another good point for GLB is the bloat size is minimal...

So a basic 2D game in GLB can be 6 mb -- in Unity its 20mb+

:)
Comp:
Speccy-48k, Speccy-128k, Amigas, PCs

Ian Price

In BMax the size would be 1MB... ;)
I came. I saw. I played.

MrPlow

Quote from: Ian Price on 2015-Oct-09
In BMax the size would be 1MB... ;)

I should have specified I meant 6mb on Android mobile... but yes - a windows only system would compile to smaller size I expect :)

Comp:
Speccy-48k, Speccy-128k, Amigas, PCs

Ian Price

BlitzMax does Android too now BTW :)
I came. I saw. I played.