All BASIC Game Jam
#11
I want to try this
Reply
#12
(07-18-2022, 10:43 PM)dbox Wrote: Definitely not cheating to use GX.  I'm planning to do the same.  If you do decide to use it I would love to hear any feedback you have on the game engine.  I put together what I hope is a pretty easy tutorial to get started:  https://github.com/boxgaming/gx/wiki/Tutorial

I’ve been using GX for a little while actually, and I’ve really loved it! To me, it feels like a more simple SFML or SDL2 for when you don’t need an advanced language like C++ etc. but with some helpful game dev specific tools added for good measure - it almost certainly my goto (pun not intended) for BASIC game development.
Reply
#13
Awesome! Well definitely let me know of any issues you encounter or suggestions you have for improvements or new features.  That will help me prioritize what to do next.
Reply
#14
(07-19-2022, 10:05 AM)jjharley Wrote:
(07-18-2022, 10:43 PM)dbox Wrote: Definitely not cheating to use GX.  I'm planning to do the same.  If you do decide to use it I would love to hear any feedback you have on the game engine.  I put together what I hope is a pretty easy tutorial to get started:  https://github.com/boxgaming/gx/wiki/Tutorial

I’ve been using GX for a little while actually, and I’ve really loved it! To me, it feels like a more simple SFML or SDL2 for when you don’t need an advanced language like C++ etc. but with some helpful game dev specific tools added for good measure - it almost certainly my goto (pun not intended) for BASIC game development.

Is GX a library you can add to QB64? 
If so, is it cross-platform? (ie works in Windows, Mac, and Linux.)
If so how does it compare in performance and ease of use to the built-in QB64 graphics commands? 
Any QB64 code samples? 
GX has not been on my radar but it sounds like folks here like it, so any info much appreciated...
Reply
#15
Hi @jjharley, thanks for the interest...

Is GX a library you can add to QB64?
Yes, the library is provided as a set of .bi and .bm files that can be included into your program.

If so, is it cross-platform? (ie works in Windows, Mac, and Linux.)
Yes, a lot of effort was put into testing it on Windows, Linux and Mac.  (On Mac, the sound capabilities are disabled due to the fact that the sound library that QB64 uses is not supported in Mac releases after Catalina)
Additionally, GX has an export feature that can convert your game program into a Canvas-based web version.

If so how does it compare in performance and ease of use to the built-in QB64 graphics commands?
The native graphics capabilities of QB64 are great.  GX leverages them and adds an API that allows for support of game-specific concepts like:
  • Scene (viewport) management
  • Entity (sprite) management
  • Tiled map creation and management
    - Including a world/map editor
    - Support for layered tiles
    - Support for animated tiles
    - Support for orthogonal and isometric tilesets
  • Bitmap font support
  • Basic collision detection
  • Basic physics/gravity
  • Device input management
    - Keyboard, mouse, and game controller
  • Interactive debugging
  • Export to Web

Any QB64 code samples?
Absolutely, if you download the project there is a samples folder with a number of examples that demonstrate aspects of the engine.  Additionally, you can check out a couple of examples online that were built with the included "Export to Web" feature:
Reply
#16
(07-19-2022, 04:53 PM)dbox Wrote: Hi @jjharley, thanks for the interest...

Is GX a library you can add to QB64?
Yes, the library is provided as a set of .bi and .bm files that can be included into your program.

If so, is it cross-platform? (ie works in Windows, Mac, and Linux.)
Yes, a lot of effort was put into testing it on Windows, Linux and Mac.  (On Mac, the sound capabilities are disabled due to the fact that the sound library that QB64 uses is not supported in Mac releases after Catalina)
Additionally, GX has an export feature that can convert your game program into a Canvas-based web version.

If so how does it compare in performance and ease of use to the built-in QB64 graphics commands?
The native graphics capabilities of QB64 are great.  GX leverages them and adds an API that allows for support of game-specific concepts like:
  • Scene (viewport) management
  • Entity (sprite) management
  • Tiled map creation and management
    - Including a world/map editor
    - Support for layered tiles
    - Support for animated tiles
    - Support for orthogonal and isometric tilesets
  • Bitmap font support
  • Basic collision detection
  • Basic physics/gravity
  • Device input management
    - Keyboard, mouse, and game controller
  • Interactive debugging
  • Export to Web

Any QB64 code samples?
Absolutely, if you download the project there is a samples folder with a number of examples that demonstrate aspects of the engine.  Additionally, you can check out a couple of examples online that were built with the included "Export to Web" feature:

This sounds very cool. And this is all free, or is it a commercial product?
Reply
#17
Free! I just wanted to do an open source project and contribute back to the QB64 community.
Reply
#18
(07-17-2022, 10:51 AM)TempodiBasic Wrote: "  I have been meaning to check out FreeBASIC, and finally started reading about it, and it's kind of complicated to set up & install.
How has your experience been using it?
"
? Is so difficult to use FreeBasic?
I had downloaded it some years ago, but I had no so many opportunities to use it because I had been not able to configure it in QB mode.
The extensions are so many, but I dunno the maintenance of them  is regular.
I suppose that FreeBasic has a more difficult  curve of apprentiness than QB64.
Under this point of view FreeBasic is more stranger to QuickBasic than QB64 (IMHO)
I believe it's not even worth it if you like importing audio files especially MP3 and OGG and image files other than BMP. If you like using "_SNDRAW" and related commands in QB64, you'll be disappointed. Not even "SOUND" is supported, forget about "PLAY", must use third-party libraries even for a beep. Freebasic is for guys only, but QB64 could be for women also! (Guys want to see, girls want to hear, you know, stuff that one could learn in church...)

Yeah Freebasic has "real" pointers while QB64 has the "_MEM" gang but who cares? I keep choosing BASIC only to run away from pointers most of the time. If I wanted to come up with a program that has pointers then I don't mind doing a little bit of some C/C++ to add to functionality in a QB64 program. The "Draw String" graphics command in Freebasic is interesting but it doesn't mean it supports fonts in TTF files. You'll have to make them yourself from bitmaps. It allows a lot of control though, and is portable when and if either programming system could run successfully eg. on FreeBSD or Haiku.

Freebasic could generate much smaller executable files than QB64 but it's not an advantage neither at this point, away from 64-bit Windows.

Freebasic project focuses a lot on portability and that's why it excludes fonts and fancy audio and image libraries. The "lang" mode other than the default one isn't worth using any longer, the "qb" mode is for people who hate using "OPTION _EXPLICIT", who hate OOP forced upon them (cannot use "SHARED" inside a SUB/FUNCTION enough said), who hate "RETURN" doing something else from expected etc. Don't misunderstand me, I don't like "-lang fb" mode and being M$VB-like but the devs of Freebasic had to set a target.
Reply
#19
target ...
which target
there is no target
pointers are not ghosts...they are just integers
and well FreeBasic is faster
Reply
#20
^
|
Obviously did not read my post correctly. "Target" of programming dialect, not whether or not to use pointers and how. I'm not sure but the original author of Freebasic used M$QB or BASIC PDS v7.1 for the very first release and, for a while, its target was to make QB programs run. Then other people joined the project and decided to make it "by default" act more like Visual Basic. That's what I meant. Programming dialect.

"'FIELD' has been laid aside" is somewhere in the help file. Only one example of what is the target of Freebasic circa 2002 and later. Where does this have to do with pointers?

People who program in BASIC still exist today and some of them want to avoid pointers as much as possible. Not everybody uses QB64 or Freebasic, so that "PC-BASIC" package is some use to a few people, or maybe DOSBOX emulation to run GW-BASIC. I was going to be one of those users -- if only Freebasic worked for me on 32-bit and if it weren't so broken and inconsistent back then, v0.90 I believe, I wouldn't have used QB64 or anything similar ever again. I was going to use Freebasic in "-lang qb" mode.

Here I responded to another user who might not like programming with pointers, might appreciate commands for audio, fonts and video which don't require using pointers, might think it's wasteful having "constructors" and "friends" and "properties" and WTF is "polymorphism", might be irritated with a program refusing to compile because he forgot to define something or something else. I don't know what the other user wanted to do with Freebasic. He said Freebasic "has a more difficult learning curve" but not really unless he insisted using OOP, pointers, overloaded function definitions and other stuff.

Peaks me off when some other site calls PDS v7.1 "QuickBASIC", it wasn't, it was the full-blown offering of the BASIC language by M$. This was before Visual Basic. Call it correctly.

Damn it forum has to make up its mind to put extra lines between paragraphs! Write directly into the "word processor" of this forum and doesn't do it. Paste from text editor into the "word processor" and does it...
Reply




Users browsing this thread: 7 Guest(s)