Is anyone here purely for nostalgia?

General discussion for topics related to the FreeBASIC project or its community.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Is anyone here purely for nostalgia?

Post by caseih »

Typically games these days revolve around a gaming engine of some kind. If that engine and framework happen to be C-based, then you can use them from FB. But a lot of engines are built out of and extended with C++, so pretty much all game development happens in C++ these days, as far as I can tell.
marcov
Posts: 3462
Joined: Jun 16, 2005 9:45
Location: Netherlands
Contact:

Re: Is anyone here purely for nostalgia?

Post by marcov »

caseih wrote:Typically games these days revolve around a gaming engine of some kind. If that engine and framework happen to be C-based, then you can use them from FB. But a lot of engines are built out of and extended with C++, so pretty much all game development happens in C++ these days, as far as I can tell.
I'd say purely numbers, I think javascript trumps C. Quite some objective C and java probably too in the mobile sphere.
figosdev
Posts: 18
Joined: Jan 06, 2017 7:24

Re: Is anyone here purely for nostalgia?

Post by figosdev »

silly question, but couldnt someone make a c++ version of fb pretty easily? or would they have to do all those headers all over again?
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Is anyone here purely for nostalgia?

Post by caseih »

You mean have FB emit C++ code instead of pure C or assembly? Presumably it could be done. But the real problem with C++ and FB has nothing to do with what intermediate language the FB compiler uses. The problems involve differences between the way FB implements objects and classes and the way C++ does, to say nothing of C++ features like templates which are heavily used but have no equivalent in FB.

Theoretically FB could translate all object-oriented code directly into the equivalent C++ constructs rather than do all the OOP stuff itself. That would solve a lot of interoperability problems as FB's objects would be C++'s objects. But that would also mean they take on the same quirks and behaviors of C++'s OOP. In essence FB would just be a (weaker) version of C++ with a BASIC-like syntax.
figosdev
Posts: 18
Joined: Jan 06, 2017 7:24

Re: Is anyone here purely for nostalgia?

Post by figosdev »

caseih wrote:Presumably it could be done. But the real problem with C++ and FB has nothing to do with what intermediate language the FB compiler uses. The problems involve differences between the way FB implements objects and classes and the way C++ does, to say nothing of C++ features like templates which are heavily used but have no equivalent in FB.
I found your whole reply interesting, but this part answers my question, thanks.
aurelVZAB
Posts: 666
Joined: Jul 02, 2008 14:55
Contact:

Re: Is anyone here purely for nostalgia?

Post by aurelVZAB »

Aurel knows I'm the real Mccoy
Aurel
aurel
Aurel

AND IM HERE !
HELLO MENNONITE MAN ¨!!!
where are you ?
how are you ?
yes i know you are CONSTANT in your UNIVERSE !!
If is not problem for you visit my litte forum on :
http://ruben.55freehost.com/forum/index.php
so ..i hope that you will find few old members from BPorg
and also some interesting pieces of code...!
see ya !!
figosdev
Posts: 18
Joined: Jan 06, 2017 7:24

Re: Is anyone here purely for nostalgia?

Post by figosdev »

hi aurel. when did your forum start requiring javascript? i think i will avoid the bp crowd actually, but feel free to send my love to mark, paul dunn and richard russell. vidimo se kasnije!
h4tt3n
Posts: 698
Joined: Oct 22, 2005 21:12
Location: Denmark

Re: Is anyone here purely for nostalgia?

Post by h4tt3n »

BasicCoder2 wrote:So for the last 10 or so years FreeBasic has not been the best or even a good enough choice for a game programmer?
I notice that in the early years it was used a lot for writing games.
Over the years FreeBasic failed to evolve as a BASIC game playing language.
.

I respectfully disagree. FB has full support for modern OpenGL, shaders, multithreading, alongside with bindings for a number of frameworks like GLFW and SDL that will provide all the game-related functionality you could possibly want. Since the compiler produces binaries that run with a speed comparable to or even above the multitude of other languages, I don't really see any reason not to pick FB, unless you can't live without the extra speed gained from optimizations that only come with the really efficient compilers used in f.inst. c++.

Cheers,
Mike
Boromir
Posts: 463
Joined: Apr 30, 2015 19:28
Location: Oklahoma,U.S., Earth,Solar System
Contact:

Re: Is anyone here purely for nostalgia?

Post by Boromir »

I will agree that making 2d games in freebasic is no problem, but when it comes to 3d games we don't have a good 3d engine such as ogre3d or unity3d. I've started a few games with the Irrlicht wrapper but I cannot get nice graphics in it because it won't allow me to use a normal map and specular texture with the main texture. Nowadays even some 2d games, such as isometric, use 3d engines to help out with some stuff. Freebasic is an awesome language but it's lacking in that it doesn't have as many libraries as other languages.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Is anyone here purely for nostalgia?

Post by caseih »

h4tt3n wrote:I respectfully disagree. FB has full support for modern OpenGL, shaders, multithreading, alongside with bindings for a number of frameworks like GLFW and SDL that will provide all the game-related functionality you could possibly want. Since the compiler produces binaries that run with a speed comparable to or even above the multitude of other languages, I don't really see any reason not to pick FB, unless you can't live without the extra speed gained from optimizations that only come with the really efficient compilers used in f.inst. c++.
But the fact is that C++ is *the* gaming language presently because all the engines (Unity, Unreal, etc) are all written in C++, which is an ideal language for gaming. It has the speed and low-level nature of C when you need it, plus the high level abstractions of OOP that are necessary when managing huge game worlds and complex game play. The downside of C++ is that its object model makes it particularly incompatible with most other languages without thunk layers. Many of these gaming engines do provide thunk layers for some high-level scripting languages and use them for scripting in-game stuff (LUA, Python mainly).

The real problem with FB use isn't that it's not a good language or not a good compiler; the problem is there's little compelling reason to use it over other commonly-used languages, especially if you already know the other languages.

FB is like many open source projects. It scratched an itch and so it came to be. And it's still very useful for many people for their own itch-scratching endeavors. It doesn't need to be widely used to be considered a successful project.
h4tt3n
Posts: 698
Joined: Oct 22, 2005 21:12
Location: Denmark

Re: Is anyone here purely for nostalgia?

Post by h4tt3n »

Boromir wrote:I will agree that making 2d games in freebasic is no problem, but when it comes to 3d games we don't have a good 3d engine such as ogre3d or unity3d. I've started a few games with the Irrlicht wrapper but I cannot get nice graphics in it because it won't allow me to use a normal map and specular texture with the main texture. Nowadays even some 2d games, such as isometric, use 3d engines to help out with some stuff. Freebasic is an awesome language but it's lacking in that it doesn't have as many libraries as other languages.
caseih wrote:
h4tt3n wrote:I respectfully disagree. FB has full support for modern OpenGL, shaders, multithreading, alongside with bindings for a number of frameworks like GLFW and SDL that will provide all the game-related functionality you could possibly want. Since the compiler produces binaries that run with a speed comparable to or even above the multitude of other languages, I don't really see any reason not to pick FB, unless you can't live without the extra speed gained from optimizations that only come with the really efficient compilers used in f.inst. c++.
But the fact is that C++ is *the* gaming language presently because all the engines (Unity, Unreal, etc) are all written in C++, which is an ideal language for gaming. It has the speed and low-level nature of C when you need it, plus the high level abstractions of OOP that are necessary when managing huge game worlds and complex game play. The downside of C++ is that its object model makes it particularly incompatible with most other languages without thunk layers. Many of these gaming engines do provide thunk layers for some high-level scripting languages and use them for scripting in-game stuff (LUA, Python mainly).

The real problem with FB use isn't that it's not a good language or not a good compiler; the problem is there's little compelling reason to use it over other commonly-used languages, especially if you already know the other languages.

FB is like many open source projects. It scratched an itch and so it came to be. And it's still very useful for many people for their own itch-scratching endeavors. It doesn't need to be widely used to be considered a successful project.
Yes, you are both technically correct, but... The kind of games you mention as beeing impractical to write in FreeBASIC are the *HUGE* kind of triple-A games that costs millions of dollars and takes hundreds of developers several years to make. For these kind of projects I would agree that C++ is currently the best option (although people like Jonathan Blow tends to disagree and currently is developing his own language for gamedev because he is increasingly annoyed with C++). But for small to medium sized indie games I would still claim that FreeBASIC is a very good choice.

Cheers,
Mike
BasicCoder2
Posts: 3906
Joined: Jan 01, 2009 7:03
Location: Australia

Re: Is anyone here purely for nostalgia?

Post by BasicCoder2 »

h4tt3n wrote:I don't really see any reason not to pick FB,
Those who may want to write a computer game may not have the knowledge to make use of FreeBASIC the way you suggest. So for them there is a very good reason not to pick FB when other languages offer the support they would need for simple game programming. Of course these other language may not be useful for low level programming instead rely on the professionally written libraries to achieve certain outcomes.

FreeBasic is not a game orientated language it is more like a C language with an added graphics library. It doesn't even have native support for sound found on the old C64. So for someone like myself who can leverage off the knowledge gained as a hobby programmer on the older machines or for someone with the in depth knowledge of a professional C++ programmer than FreeBASIC is fine I guess.
.
Tourist Trap
Posts: 2958
Joined: Jun 02, 2015 16:24

Re: Is anyone here purely for nostalgia?

Post by Tourist Trap »

My theory about game making is that it is something our days that is by essence a team work. So a langage that federates a sufficient amount of crowd of all horizons that are actively writting libraries and examples of their use, becomes the most suitable for this purpose, by a kind of self reinforcing law. So is C++.

To make freebasic being a place for game development so, we just need people making games. And if possible some people really specialized, some in music, some in 3d, and in every aspects. Before this activity starts, it's hard to say a lot about all of this.

I'vent seen around any game project of this nature in order to make a background for a judgement.

About the problem of the 3d. My claim is that a game can only be more popular with simple 3d, because 3d chips are still unavailable on some systems. So big 3d is also a little restricting the audience.
caseih
Posts: 2157
Joined: Feb 26, 2007 5:32

Re: Is anyone here purely for nostalgia?

Post by caseih »

BasicCoder2 wrote:FreeBasic is not a game orientated language it is more like a C language with an added graphics library. It doesn't even have native support for sound found on the old C64.
To be fair, neither does C++ or most any language that is being used in game development of any type these days. And building such things into the language and its runtime doesn't always make sense anyway. So FB is at no disadvantage in this area vs C or C++.
BasicCoder2
Posts: 3906
Joined: Jan 01, 2009 7:03
Location: Australia

Re: Is anyone here purely for nostalgia?

Post by BasicCoder2 »

caseih wrote: FB is at no disadvantage in this area vs C or C++.
But that was not my point. Why do you think I use FreeBASIC instead of C or C++? I used to code in TurboC.
The BASIC language served a different purpose to the professional languages like C++.
The BASIC language came with an innate set of commands for graphics, fonts, sound, music for a reason.
Look at a children's language like Scratch.
Professional C++ programmers can write code for these baby languages not the other way around.
BASIC was written so non professionals could whip up some simple code solutions that would take much longer if they had to learn how to code in C++ and setup the environments required to get those libraries working with it. I have attempted to go back to C++ but simply don't have the know how to get those libraries working with it. With other languages it is done for you with a simple import statement.

Before I found FreeBasic I was writing some simple code to process web cam images using Microsofts Visual C++ compiler. However I didn't have any idea how to use the Window's MFC or understand all the paper work these programs required. It was a nightmare. My solution was to insert my image processing code inside a template code written by someone else without having a clue how they wrote it. And yet with FreeBASIC's innate graphics and escapi.bi I could do it within an hour. That is why I used FreeBASIC and not C++. That is why they are not the same thing.

The same logic applies to writing games. That is why Blitz Basic or Dark Basic was written. Now I see programmers using something called Unity. The point is they don't program from they ground up with C++. They use game writing tools.

FreeBASIC began as a substitute for the QBASIC language but unlike Visual Basic or Blitz BASIC it evolved into a C like language and is dependent on the more able members to provide .bi files to use C libraries. I use FB as a low level language like C but without having to bother with trying to get SDL to work with it. (Interestingly SDL is easy use with FreeBASIC.) With the C++ compiler I had to resort to using something called a DevPac. However I could not figure out how to use a DevPac with CODE:BLOCKS despite following the long winded painful instructions for what to enter in all those setup thingys.

The power of FreeBASIC for a non professional with limited knowledge of modern an OS API's is in its innate ability to just work no set up required.

Evolving FreeBasic into C simply moves it away from being an easy language to learn and quickly use to whip up some simple code like a simple game you might write using Scratch or RPG Maker.
.
Post Reply