Product Chat / Why LUA and Not "BASIC"?

Author
Message
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 04:33
Hello all. This is just a question out of curiosity. Back in the day, TGC came up with DarkBasic, which allowed game creators to use a basic-like syntax to code games. I remember it being incredibly popular. As I've seen, both AGK and AGK Studio use a form of BASIC for tier one coding. So, this begs the question - why didn't GameGuru follow in the footsteps of DarkBasic and AGK and use TGC form of BASIC programming instead of using LUA?
PM
AmenMoses
GameGuru Master
8
Years of Service
User Offline
Joined: 20th Feb 2016
Location: Portsmouth, England
Posted: 27th Aug 2019 08:54
Because Lua is a million times better.
Been there, done that, got all the T-Shirts!
PM
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 12:53
If that's the reason, then why not C#? But your answer doesn't seem like a good enough reason, especially considering that TGC's latest-and-greatest, AppGameKit Studio, STILL uses TGC's form of BASIC for tier #1 programming. If LUA is that great (compared to TGC's version of BASIC), then why not drop BASIC from AGK Studio in favor of LUA? DarkBasic Pro had quite the following in its day and it appears that APK Classic and APK Studio have a decent following, too. Many who use them program using their tier #1 BASIC to do so. So, why does GG break from this mold?

Secondly, since GG is supposed to be (or WAS supposed to be) the easy game maker, made more for those who want to do little or no programming, then why not opt for the "easier" programming language of BASIC instead of LUA for when programming becomes necessary?
PM
Belidos
3D Media Maker
9
Years of Service
User Offline
Joined: 23rd Nov 2015
Playing: The Game
Posted: 27th Aug 2019 13:05
Quote: " then why not opt for the "easier" programming language of BASIC"


Because it isn't easier, LUA is a very simple to use language, with as much if not more range than C#, that's why a huge majority of games that allow plugins and add-ons use LUA hooks for customers to script those plugins, even world of warcraft uses LUA for it's plugins. LUA was a great choice. As to why they didn't use it for the new AGK Studio, i have no idea.

Primary Desktop:
i7 7700,k NV1070 8GB, 16GB 3200mhz memory, 1x 2TB Hybrid, Win10.

Secondary Desktop:
i5 4760k, NV960 2GB, 16GB 2333mhz memory, 1x 2TB Hybrid, Win10.

Laptop:
i3, Intel 4000 series graphics, 6GB memory, 1x 500gb HDD, Win8.1.
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 13:13
Certainly, LUA is more advanced/modern, but I don't know if, for basic programming (no pun intended), LUA is actually simpler. I used to program in BASIC back in the day and found it quite easy to wrap my head around, but not so much these other languages. Certainly LUA (and others) are more feature rich. And that, in a sense, makes them "easier" because there are hoops you don't have to jump through in order to get some things done. There's only so much you can get done with GOTO and GOSUB in BASIC.

In any case, I am not saying that LUA was not a great choice. I am just wondering what the reason was behind NOT using TGC's BASIC in GG, even as a form of tier #1 programming (like in AGK, where tier #1 is BASIC and tier #2 is C++). Why not have their BASIC as one option and LUA as another? This way, GG would fall right in line with the rest of TGC's products, both those in the past (like DarkBasic Pro) and those current (like both iterations of AGK).
PM
MK83
GameGuru TGC Backer
18
Years of Service
User Offline
Joined: 10th Jun 2006
Location: Greeneville, TN USA
Posted: 27th Aug 2019 13:27
I think we all voted to switch to LUA, also.
AMD Phenom x4 9850 2.70 Ghz , 6 Gb ram, 2GB EVGA Geforce GTX 750, Win 10 x64 Passmark score: 3091



PM
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 13:41
Quote: "I think we all voted to switch to LUA, also."


Ah! That is something I didn't know. Thanks for that piece of info.
PM
3com
10
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 27th Aug 2019 14:38
Maybe firts thought was make GG more advance engine in a future, for this reason it should sit in a most advance lenguaje like lua from the begining, after that thoughts changed and TGC decide to let GG as is, and create agk/agks with a different approach, most advanced thasn GG, but keeping the "easy maker" with basic-
Not familiar with agk,agks,basic,darkbasic, unfortunatelly I missed the darkbasic times.
Anyway love LUA, although sometimes I hate it too.

Routines such as GOTO and GOSUB have never been reliable, although it is nice to get out of a loop, go and return from another subroutine, when you think it is necessary. I remember those times.
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 10 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics
cpu mark: 10396.6
2d graphics mark: 947.9
3d graphics mark: 8310.9
memory mark 2584.8
Disk mark: 1146.3
Passmark rating: 3662.4

PM
smallg
Community Leader
18
Years of Service
User Offline
Joined: 8th Dec 2005
Location:
Posted: 27th Aug 2019 15:20
Dark basic is easier than lua though there isn't much in it, lua is already very easy once you learn the flow.

I guess the main reason was the intention was that lua will be more commonly known as it's already used in many other programs but honestly I agree using their own language would have made more sense and it is a fully functional language - you can create games of GG quality (or higher) with dark basic in agk after all
lua guide for GG
https://steamcommunity.com/sharedfiles/filedetails/?id=398177770
windows 10
i5 @4ghz, 8gb ram, AMD R9 200 series , directx 11
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 16:02
Quote: "... but honestly I agree using their own language would have made more sense and it is a fully functional language - you can create games of GG quality (or higher) with dark basic in agk after all"


That was sort of my thinking. TGC already had this language and it had been used successfully in all their products ... except GameGuru (and whatever it was called before it was GameGuru). I certainly think GG should have LUA (or C#, etc.), but why not both, just like AGK uses both TGC's BASIC and C++? If GG had TGC's BASIC, then it would have been an easy transition for those who had used DarkBasic Pro and for those that are using either AGK Classic or Studio.
PM
Zigi
15
Years of Service
User Offline
Joined: 5th Jul 2009
Location:
Posted: 27th Aug 2019 19:06 Edited at: 27th Aug 2019 19:10
I was there when all this was "planned" and Lee did not have time to work on a scripting language but the community did want to have something more powerful than FPI. The whole idea was that to integrate a scripting language deep in to the core so we get full control and we can implement our very own features from scratch. For example if we could control the camera with Lua, meaning the FPS camera control would be written entirely in Lua then we could implement a TPS camera our self, we don't need to wait for Lee to do it or use unstable MODs as with FPSC..etc

Lee did like the idea very much, and this is also the reason why FPSC:R become GameGuru after all because it was planned to become a general purpose game engine with some FPS scripts already included and offer a growing library of community made scripts to develop other type of games. It was very exciting times for all of us who followed the development.
Lee did looked in to many options and finally decided to go with Lua because he did like the syntax, did find it somewhat similar to Basic, easy to use and I believe there was a Lua plugin for DarkBasic Pro already which helped him to implement it. So it was the most cost effective solution and less time consuming.

The community did also support the idea of using Lua because at the time it was kind of popular many engines did use Lua including CryEngine, Shiva, Leadwerks among many more and the popularity was growing, at the time only Unity was using C# for example. And as I mentioned the idea was that it would be integrated deep in to the core giving us full control. Which did not happened after all because Lee did not have time to expose the entire core to Lua and the implementation ended up being very limited compared to other Lua engines.

So this is why.
PM
Argent Arts
6
Years of Service
User Offline
Joined: 24th Aug 2018
Location:
Posted: 27th Aug 2019 19:25
Thanks, Zigi. I appreciate the info. It makes sense.
PM
GubbyBlips
5
Years of Service
User Offline
Joined: 14th Jan 2019
Location:
Posted: 27th Aug 2019 19:41
"I used Basic back in the day..."

Me too 1990's or earlier cause I was doing that in high school pre- 90's
So Basic and Lua are to me simply 2 separate languages. I know nothing
about dark basic and what it can accomplish. So all I can say is that when
someone here suggested I make a game with Basic; tee-hee, all the one I
had was for DOS, and all it was good for was learning simplistic computer
science like stuff-- draw lines, boxes and circles and make sounds and inputs.
No Stand-Alones! but I did actually 'try' making infinitesimal games then.
It's been about 30 years since that time-- according to the calendar.

Lua has functions and whatever. I don't know that it's better than dark basic
or Lua is better -- because LUA is dependent on the capacity that is provided
by the developers. In other words, we can't get an objects angle using LUA
without first having the developers provide a function call to access that info;
GetEntityAngleX (e)

I'm quite sure that is the same with DarkBasic. So there must be a reason that
AmenMoses calls it exponentially better, it's really the constraints of GG that would
present any issues-- well and of course lack of documentation and simply the
experience of scripting-- IE INFORMATION and the immature stage of GG --
not to knock the huge efforts of all involved, but mice beside elephants is vivid.
PM
AmenMoses
GameGuru Master
8
Years of Service
User Offline
Joined: 20th Feb 2016
Location: Portsmouth, England
Posted: 27th Aug 2019 20:31
"So there must be a reason that AmenMoses calls it exponentially better ..."

All embedded scripting languages can only provide you access to what the developer has decided to expose to the user so they are all equal in that respect.

Lua doesn't limit you in any other way shape or form like other scripting languages though, it doesn't force a specific methodology on you for example.

Lua is by far the fastest executing interpreted scripting language available as well.

Take a look at the chess script that comes with GG for an example of the power of Lua as a language, btw has anyone actually beaten it yet?
Been there, done that, got all the T-Shirts!
PM
GubbyBlips
5
Years of Service
User Offline
Joined: 14th Jan 2019
Location:
Posted: 28th Aug 2019 14:39
Sure AM. Lua is growing on me, and certainly I don't know it that well
yet--! And if I went into AGK, I would have another learning curve just
the same. In other words-- it's all good. Lua is fine and I'm glad to have
been exposed to it. There's no argument, engine users just need info!
PM
DVader
20
Years of Service
User Offline
Joined: 28th Jan 2004
Location:
Posted: 28th Aug 2019 15:21
I think is was simply down to the fact lua is easier to implement for this sort of thing. I too love BASIC, but lua is pretty close overall so not too hard to make the jump.
SPECS: Ryzen 1700 CPU. Nvidia 970GTX. 16 Gig Memory. Win 10.
3com
10
Years of Service
User Offline
Joined: 18th May 2014
Location: Catalonia
Posted: 28th Aug 2019 17:27 Edited at: 28th Aug 2019 17:27
Lua allows you to think outside the box, and create workarounds that allow you to circumvent the limitations of GG.
Anyway, it should still evolve a little more.
Laptop: Lenovo - Intel(R) Celeron(R) CPU 1005M @ 1.90GHz

OS: Windows 10 (64) - Ram: 4 gb - Hd: 283 gb - Video card: Intel(R) HD Graphics
cpu mark: 10396.6
2d graphics mark: 947.9
3d graphics mark: 8310.9
memory mark 2584.8
Disk mark: 1146.3
Passmark rating: 3662.4

PM

Login to post a reply

Server time is: 2024-11-24 00:40:34
Your offset time is: 2024-11-24 00:40:34