LB Booster
« The weakness of Just Basic & Liberty Basic! »

Welcome Guest. Please Login or Register.
Apr 1st, 2018, 03:35am



ATTENTION MEMBERS: Conforums will be closing it doors and discontinuing its service on April 15, 2018.
We apologize Conforums does not have any export functions to migrate data.
Ad-Free has been deactivated. Outstanding Ad-Free credits will be reimbursed to respective payment methods.

Thank you Conforums members.
Speed up Liberty BASIC programs by up to ten times!
Compile Liberty BASIC programs to compact, standalone executables!
Overcome many of Liberty BASIC's bugs and limitations!
LB Booster Resources
LB Booster documentation
LB Booster Home Page
LB Booster technical Wiki
Just BASIC forum
BBC BASIC Home Page
Liberty BASIC forum (the original)

« Previous Topic | Next Topic »
Pages: 1  Notify Send Topic Print
 thread  Author  Topic: The weakness of Just Basic & Liberty Basic!  (Read 191 times)
kigohhere
New Member
Image


member is offline

Avatar




PM


Posts: 11
xx The weakness of Just Basic & Liberty Basic!
« Thread started on: Jan 29th, 2018, 12:58am »

Hello, cool

First, I want to say that my programming knowledge is not too much. However, I am not foolish.

I discovered the weakness of Liberty Basic and Just Basic after two weeks of trying. I downloaded some game examples and sprite examples. (EXE files) and I was upset by these examples. Why?? Two reasons:

1. Those EXE files could not handle moving sprites well. Why? Graphic flickering! Yes...it is a weak point of Liberty Basic or Just Basic.

2. Those EXE files, when I pressed a key, there was a short delay on the game screen. This is another weak point of Libery Basic and Just Basic.

It was easy for me to find a lot of game examples(LB and JB) on the Internet. However, all examples were not ideal.

Maybe these two softwares(LB and JB) are not suitable for programming game.


On the contrary, if any Liberty Basic or Just Basic user is curious, you should download BBC BASIC for SDL here:
http://bbcbasic.conforums.com/index.cgi?board=announcements

After download, double click bbcsdl.exe, then load file,

There is a game folder and there are many game examples in this folder. Yes, try to run these game examples. They are professional game examples. These examples show that BBC BASIC for SDL can handle these two aspects so well and is suitable for programming game.

In conclusion, I have a very good suggestion to Richard. Put some good sprite examples and good game examples in the next version of LB Booster. If any LB or JB user download this version and run these examples, they will say that LB Booster is so wonderful and so fantastic. Sure! They will become supporters of LB Booster. Right? cheesy

One more thing, if LB Booster actually cannot handle these two aspects well as well, I suggest that Richard can make LB Booster also use SDL to solve these two problems.(Just like BBC BASIC for SDL using SDL)
User IP Logged

tsh73
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 210
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #1 on: Jan 29th, 2018, 05:48am »

kigohhere, hello.

Please keep in mind that each programming language has it's destinated use - thing it was created for.
So some things are easy in given language - others are hard(er) - last are almost impossible.
LB/ JB is "hobbist" language. So there are fiewer folks go "hard" road.

Reading key is easy in jb/lb - but reading key without initial delay is harder. It requires Windows API call.
Why?
basically because Windows was designed with business/text processing in mind, not games and multimedia. (I could be somewhat wrong about that).
But you can do it via Windws API. It is a bit harder for LB, and for JB is plain impossible (just because JB is free stripped-down version).

So LB/ JB is "hobbist" language. Folks who want to polish their game go and change key handling to Windows API. Others (and JB users, including me) do what thay can and enjoy that.

Same about flickering.
First, it heavily depends on hardware used - so one man smooth scrolling could became flickering mess on another machine.
Second, LB/ JB includes sprite engine, that *really* cuts flicker down.
Now, again, if one wants more, it could go further with LB/LBB by using API calls (there is even open GL/ direct 3d examples)

Now SDL is library created for games, from the start. That really should make it better at things.

Last thing.
There is no golden hammer - all languages are different, but all are just tools.
You can do lots by mastering a tool - but not all.
If tool doesn't suit you - go ahead and try another one.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #2 on: Jan 29th, 2018, 08:41am »

on Jan 29th, 2018, 12:58am, kigohhere wrote:
Graphic flickering! Yes...it is a weak point of Liberty Basic or Just Basic.

There are probably two main factors at play here:

Firstly, the languages have no built-in mechanism for synchronising graphic animation with display refresh ('vsync'); that is something you ideally need for smooth movement and absence of 'tearing'.

Secondly, the languages have no built-in way to draw general purpose graphics 'invisibly' and then display the final result 'in one hit'. This means that if you are rendering some complex scene you may be able to see it being 'built up' which can spoil the effect and lead to 'flickering'.

I would say it's rare for these limitations to be serious in practice. I've seen many acceptable animated games written in LB and JB. However you are probably right in suggesting that they aren't the best choice of language for certain genres of game.

Quote:
One more thing, if LB Booster actually cannot handle these two aspects well as well, I suggest that Richard can make LB Booster also use SDL

I have discussed previously the prospect of creating a 'cross-platform' version of LBB based on SDL. However there is a major problem which makes it much more difficult than it was with BBC BASIC: Liberty BASIC's GUI features, which are simply 'thin wrappers' around the Windows API.

Once you try to separate LB from Windows, as Carl himself found, you face the difficulty of how to implement the GUI features with an acceptable degree of compatibility.

Richard.
User IP Logged

Rod
Full Member
ImageImageImage


member is offline

Avatar




PM

Gender: Male
Posts: 110
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #3 on: Jan 29th, 2018, 7:07pm »

Keyboard control? What about mouse, touch and joystick?

The keyboard was never designed to control games.
User IP Logged

Richard Russell
Administrator
ImageImageImageImageImage


member is offline

Avatar




Homepage PM


Posts: 1348
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #4 on: Jan 29th, 2018, 8:40pm »

on Jan 29th, 2018, 7:07pm, Rod wrote:
The keyboard was never designed to control games.

I think you'll find that the keyboard is the preferred interface for many video games. When porting David Williams' prizewinning 'Forces of Darkness' to Android I added touch control, but the game was difficult to play that way.

Richard.
User IP Logged

kigohhere
New Member
Image


member is offline

Avatar




PM


Posts: 11
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #5 on: Jan 30th, 2018, 01:51am »

on Jan 29th, 2018, 7:07pm, Rod wrote:
Keyboard control? What about mouse, touch and joystick?

The keyboard was never designed to control games.



Ha...mouse, touch and joystick, thanks for your suggestions.
User IP Logged

kigohhere
New Member
Image


member is offline

Avatar




PM


Posts: 11
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #6 on: Jan 30th, 2018, 01:55am »

on Jan 29th, 2018, 05:48am, tsh73 wrote:
kigohhere, hello.

LB/ JB is "hobbist" language. So there are fiewer folks go "hard" road.



Ok. thank you. I see.


Quote:
Reading key is easy in jb/lb - but reading key without initial delay is harder. It requires Windows API call.
Why?
basically because Windows was designed with business/text processing in mind, not games and multimedia. (I could be somewhat wrong about that).
But you can do it via Windws API. It is a bit harder for LB, and for JB is plain impossible (just because JB is free stripped-down version).



Thanks for your detailed explanation.

Windows Api call should be a complicated thing for me.


Quote:
Now, again, if one wants more, it could go further with LB/LBB by using API calls (there is even open GL/ direct 3d examples)


ok, API calls, ..I understand now, thanks.

Quote:
If tool doesn't suit you - go ahead and try another one.


Since both LB Booster and Just Basic are freewares, I downloaded them and looked into them. I also look into other free language softwares. I am also a gamer. Searching for good games made with these language softwares is actually my interest.

Just Basic is still a good software!

User IP Logged

kigohhere
New Member
Image


member is offline

Avatar




PM


Posts: 11
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #7 on: Jan 30th, 2018, 01:56am »

on Jan 29th, 2018, 08:41am, Richard Russell wrote:
I would say it's rare for these limitations to be serious in practice. I've seen many acceptable animated games written in LB and JB. However you are probably right in suggesting that they aren't the best choice of language for certain genres of game.



Both languages are suitable for puzzle game, card game, chess game, etc. but not suitable for action game, platform game, shooting game, etc.
cool
User IP Logged

kigohhere
New Member
Image


member is offline

Avatar




PM


Posts: 11
xx Re: The weakness of Just Basic & Liberty Basic!
« Reply #8 on: Jan 30th, 2018, 02:01am »

on Jan 29th, 2018, 08:41am, Richard Russell wrote:
There are probably two main factors at play here:



Thanks for your detailed explanation. Screen tearing and front/back buffers!

Though LB and JB are general purpose languages, there are "Games and Graphics" sub-forums in the LB forum and the JB forum. Their users also frequently list their game examples and games in the sub-forums. There should be a group of users being interested in using LB and JB to write games and game examples. Moreover, both LB and JB have very long histories. (1992 and 2004, from Wikipedia) No LB or JB user gives suggestion to the author to solve the keyboard problem and graphic flickering problem? Strange. Actually, many general purpose
BASIC dialects are suitable for game programming nowadays.

Quote:
I have discussed previously the prospect of creating a 'cross-platform' version of LBB based on SDL. However there is a major problem which makes it much more difficult than it was with BBC BASIC: Liberty BASIC's GUI features, which are simply 'thin wrappers' around the Windows API.


BBC for SDL are on five platforms, I think that Android platform and Windows platform are more important than the other three platforms because much much more users are using these two platforms....sure!

cheesy
User IP Logged

Pages: 1  Notify Send Topic Print
« Previous Topic | Next Topic »

| |

This forum powered for FREE by Conforums ©
Terms of Service | Privacy Policy | Conforums Support | Parental Controls