2020-05-21 00:57:32 (edited by MichaelJ 2020-05-21 00:59:16)

Disclaimer. I am not trying to start another argument about bgt. If an argument does start, I will contact an admin and get this topic closed.
So, I was looking through the games I have installed on my computer, and I realized that most of them are written in bgt. Now,, I have nothing against bgt, but I think it has ran it's corse. The only way you can obtain bgt is if you know someone who has the installer or if you get it through the blind help website. It is not even on the audio games website or the archive. Also, anyone who writes a game in bgt needs to put a disclaimer in the readme telling someone how to turn off windows defender, or make an exclusion so that windows doesn't delete the game. If you ask me, I think that is a lot of work just to be able to play a game. There are many other programming languages out there to choose from that have more features. And with a mainstream language you are not just limited to the documentation and asking around for help. If you are having a problem you can just use google. The chances are hi that someone else has had the exact same problem as you and can solve it. Like I said at the beginning of this post I am not trying to start an argument. I just want to know why so many people are still using bgt when it is unsupported and there are many other alternatives.

2020-05-21 01:03:24

I think it's mainly because everything's just right there. I mean all you need is
void main() {
    sound meow;
    meow.load("meow.ogg");
    meow.play_wait();
    exit();
}
and boom, you got an audio player. Plus you can compile right from the menu bar. I do not still use BGT but I can see one's reason to. Although I think it is time to move on.

2020-05-21 01:33:36

It's because the sighted gaming tutorials are written for the sighted, with graphics first.  You have three paths into game programming:

1. Do a sighted gaming tutorial.
2. Learn to program and then come to games.
3. Grab BGT.

Problem with 1 is they go on and on about graphics and stuff, and you don't know that it's still applicable because surely audiogames are different.  If you knew enough about programming to not fall into BGT you wouldn't fall into the trap of thinking like that but you don't so you do.

Problem with 2 is there's no motivation.  Normal programming for the sighted, you get results easily.  "Yay my web page is blue".  "Yay it's an animated cat" or whatever.  There's immediate win, even if it's not a game, you can take the web page you wrote to learn JavaScript and show it to everyone.  But if you're blind things stay theoretical for a very long time.  If you want to do GUI you have to find an accessible thing, if you want to do web sites you can't show it off to anyone.  Most people don't have the temperament to start at something like command line utilities forever, or JSON web services, or learning data structures, and most people can't look at an absurd salary in 5-10 years and let that motivate them either.  You need the candy for lack of a better word.

So 3, grab BGT.  BGT says "here, this is how you play a sound".  The gaming tutorial teaches you bad practice.  But you don't know enough to know that yet, and you immediately get a rewarding experience irregardless of the endgame potential.  So you dive into BGT, anything that says anything otherwise is this giant hill because omg Python packaging and all those things that the sighted game tutorials like to try to teach that BGT doesn't even touch on, and because BGT you didn't learn how to Google or find resources on your own either because there are no resources to be found.  So hack hack hack on a project, and then what, throw out all your work?  It's like a black hole.  All the skills and things you need to be able to get out, you didn't learn them, you can't because it's too niche, so you're stuck.  This is one of the primary reasons I used to push so hard against it back in the day, for those who remember that.

And then, because audiogames.net is very small and very amateur, BGT being like a black hole sucked everyone in and the things that we needed to be building to have another more fully featured option never got built.  So the last thing keeping people in BGT is, basically that everyone else is.  No good option for audiogame physics in Python for instance, or anything else.  The sighted stuff is too unconstrained.  No good option for networking because the sighted stuff usually comes with a giant, inaccessible engine and can't be separated out.  Etc.  So unless you're skilled enough to invent the stack yourself or someone else has invented the stack for you, leave to what?  And because BGT doesn't have resources to go beyond newbie levels of programming, get the skills to build the stack how?

My current mission, which will take a long time, is to finally build the pieces of the stack (starting with Synthizer, in many ways the hardest bit), moving to physics and networking, and then who knows where from there.  To get rid of BGT once and for all, we need that and an equivalent to BGT's tutorial that shows you how to set it all up, maybe a project template or something.

My Blog
Twitter: @ajhicks1992

2020-05-21 01:48:32

I've written this in another topic. BGT is still a hit because of all the reasons above, plus the great didactics of the help file. It goes through programming basics such as variables, ifs, loops and classes, then jumps in to practical examples of how to use all of that. Also, the reference is really easy to use, really quick to find the function or class you need and read its parameters, its syntax and a working piece of code.

Any new language or package aiming at killing BGT would need a documentation and tutorials at least as efficient.

2020-05-21 01:55:17

I don't think the lack of reference is the problem.  The reference for BGT is kind of neutral as far as I'm concerned, and the few times I looked at it I would even go so far as to say it's a little underdocumented.  The problem with other things is that they're actually bigger, not that they're documented worse.  Mind you there's lots of examples of documented terribly in programming.  But I can point at lots of well-documented things for games and otherwise pretty easily.  But in the wider programming universe:

1. You have to be able and willing to use Google.
2. You have to know your screen reader well.

Which are both solvable to some extent by just saying "use this and this and this" because whatever it is has good documentation, and putting together a tutorial that shows how to combine the libraries.  IMO the issue isn't finding the information, it's not knowing what information you need to find.  I'll assume that anyone who wants to program knows their screen reader well, but maybe I'm wrong and being in the old CHM format with the treeview is that big of a deal.

My Blog
Twitter: @ajhicks1992

2020-05-21 02:01:57

first: because its easy! for writing deacint audiogame its the easyest langwige to lirn
sekind, everything you nead is there, no nead to search for a sound lib, no nead to search for a screan reader library
I use it because of that

2020-05-21 02:24:40 (edited by defender 2020-09-17 18:33:21)

Many of the previous generation of developers, those with more practical experience such as GMA Games, Blastbay, Draconus ETC, have realized that the audio games scene as it stands is not financially viable for living off of, or have simply outgrown gaming for the most part and have moved on to other things.
Allot of these guys also had programming day jobs, or at least backgrounds in computer science.


The majority of the current game developers in this generation are not skilled coders.  Rather than getting into game coding after the fact, allot of them start coding specifically because they want to make games like the ones they enjoy playing.
Most of them have an intense need to prove them selves and give back to the community, and are often impatient because of this.  Having had no prier experience with working on a big, long term project, and largely still not adults, they have a really hard time swallowing the fact that complex games should take months or years, not weeks.


BGT promises fast results for people without allot of experience, and as has been shown, it can be used to make some pretty amazing things when the right people use it for the right kinds of games, plus it can be a stepping stone for getting young adults interested in learning more complex languages or going into more professional programming.
However when used as a shortcut for skill, it often results in a sub par product, and since those using it don't have the knowledge to understand how BGT limits them yet anyway, they tend to rebelle against what they see as overly critical adults trying to crush their creative spirit and just double down when told they are hurting them selves in the end by using it.


This wouldn't be as much of a problem if the community wasn't so small and every game we got didn't mean something, but at this point the best thing to do would probably just be to tolerate it and try to help where possible.  It's starting to swing that way more lately, which is good, but we still have allot of  rivalry, dick measuring, and code steeling to deal with among the less mature new coders, and our solution so far has been to insult the hell out of them until they leave.
That's something I've been guilty of my self, but at this point, they are our future whether we like it or not, and I think we need to be a bit more welcoming because mainstream and even indi accessible gaming is still moving quite slowly.


All of the reasons listed above, from ease of use to visual learning are also important points, but I think this is the underlying bigger issue personally.

2020-05-21 02:32:06

hey defender! your rank is Blastbay tool user! and you talk against it... sad

2020-05-21 02:55:16

Yeah I know, it's pretty ironic.  LOL

2020-05-21 03:11:27

The Indie scene is generally populated by people who got their start wanting to make games, so I think there's some truth to that kind of organic community development. BGT is a good resource in the same sense that RPG Maker, Game Maker, or RenPy are good resources, and people have plenty of sighted tutorials, guides, and examples to migrate over to a programming language for similar results in a kind of developmental ecosystem. But those same resources weren't previously available from an audiogame perspective, how people migrate from a defined engine to general language usually depends on how easy, or easily understood, it is to get similar results towards an intended goal from one to the other. Alot of my time spent here has been to make myself available as a resource to answer any questions and provide easy to use examples for programming, from a strategic investment perspective how probable a persons given goal is doesn't matter so long as their engaged in learning, since that experience can be applied towards future projects. That experience can then be leveraged towards others who are interested in learning/migrating, and the effect snowballs. Its one of the reasons I find discouraging others or encouraging them to quit to be counter productive, the given goal isn't the only payoff in the long term.

There's still a lot of areas that need inprovement in available tools and resources, but there's been some good progress in building migration pathways, and more selection with engines like Sable or Libre.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

2020-05-21 03:28:38

@10, my problem with that point of view is that BGT limits you to an extreme. I've always felt that getting started programming with BGT is just a terrible idea because it doesn't teach you the necessary skills to actually develop anything in anything but itself, hence the "vendor lock-in" situation -- BGT provides everything you could ever need and so there's no incentive to go digging around for what you need, and when there is that incentive you have no idea how, or refuse to learn how. This is, of course, despite the fact that, if I'm not mistaken, most education systems do teach you how to research things.

"On two occasions I have been asked [by members of Parliament!]: 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out ?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question."    — Charles Babbage.
My Github

2020-05-21 03:53:05

@7
One thing that people forget about the GMA games generation of developers is that they had Visual basic in an era where programming was actually very accessible.  CLI was still in vogue and you didn't fight IDEs all the time.  Indeed, there were Jaws scripts for pre-VS 2008 for making forms that didn't have overlapping controls.  As far as I can tell it's not actually nostalgia, it was actually that programming used to be more accessible from a completely literal does-the-screen-reader-work perspective.  When I got my start in the mid 2000s, 75% or more of the tools I tried were accessible to some extent.  It might take using the Jaws cursor, but chances were insert-IDE-here would work, and that was in my newbie screen reader learning period.  It was before we lost accessible by default.  Eclipse kind of hung on and is still around, and now we have VSCode, but after 2010 or so at the latest, there was a very long period of basically no accessible tooling, and the thing about tooling is that the tooling encodes a bunch of knowledge in it (where does the compiler live, how does the debugger work, etc).

Linux was never a problem, but then audiogames aren't ever really for Linux, and windows dev is much more of a headache than it was once upon a time if you're sighted, let alone if you're blind.

But that's not even the biggest thing.  The biggest thing was DirectSound combined with VB6.  DirectSound also never got a replacement.  And this kind of sounds like I'm making a "yay! Synthizer!" point or something, but that's not it.  If you put Visual Basic 6 and DirectSound together, you had the sighted equivalent of BGT.  You didn't have to hunt, the manuals and learning resources were all there, indeed one of the reasons that certain parts of Windows suck at threads is supposedly that MS thought threading would be too complicated for VB6 people so they put a bunch of implicit stuff into Windows that they had to go back on later.  The world was just dropping opportunity after opportunity to learn it at you.  Almost everyone who had an even halfway decent sound card was Creative so the world also made all the audio stuff that people dream about trivial, you had to go out of your way not to have HRTF and amazing reverb, it was there and it was on minus something like 20 extra lines of code to configure it in C++, probably less in VB.

Plus DirectSound and all the related tooling were still in the era when you coded for them.  Modern replacements to all of that, even the Microsoft ones that aren't full-featured engines, they start at "And now load the asset manager workbench and open the asset management options dialog. From here, follow these 5 steps and set these 3 options, and then you go over to this stub file and" and half the steps of that will be accessible.  If you're lucky, but you usually aren't, and because you're blind if you are it's literally slower than just typing a line of code, or editing a text file and reloading the entire app.

Money is certainly a big part of it. But consider what it was probably like for i.e. David Greenwood, the author of Shades of Doom.  Wake up one day and Microsoft has announced that sorry, we're killing 95% of the audio quality of DirectX even for already-compiled apps.  Nothing to be done.  Wake up another day a year or two later and sorry no more VB6, you already couldn't use it because we don't update the bindings and things anymore, but haha now we're not distributing it with Windows (SOD is VB6 as far as I know, if it's not the point stands).  I'd have left too.  Being told that 1, you have to start over from scratch and 2, no matter what there is nothing, nothing you can do to equal the quality of XP...demoralizing isn't strong enough.  I was a new programmer just getting started for that particular apocalypse and it was demoralizing, I can't imagine having had 5-10 years of work rendered worthless.

@10
There's nothing actually good anywhere, as someone who has tried for a long time.  The RPG maker people have a pretty obvious migration path out: you go Unity for example, but there are lots and lots of things where you say "Maybe I'm outgrowing this. Let's learn something real" and the world just deluges you with opportunities to do that.  Maybe Lucia is amazing, I haven't evaluated it.  But from the sounds of it it's still quite immature.  To be clear I'm glad it exists, I've just not heard anything about that being viable yet, and the license precludes commercialization or even being closed source at all because of how the LGPL interacts with Python.

Sable is proud of the fact that it doesn't allow coding.  Sable took 3 years.  Go over to New Releases and read the thread.  Sable doesn't let you build anything but fantasy RPGs and every time I look someone asks "is this customizable" and gets told no.  We're going to get a bunch of games with the exact same classes and the exact same combat mechanics and etc. and it's not going to be lack of creativity of the author.  Also unless they can solve the Windows Defender problem, it's dead on arrival.  I'm not sure how they think they're going to be able to go commercial, if that's what they're planning.

My Blog
Twitter: @ajhicks1992

2020-05-21 04:06:57

@12
Interesting point of view.  Thanks for the insight.
I do wonder though, if even those experienced coders had such a hard time migrating to other languages, how can we expect 16-year-old's to start learning Python when the solutions we have for making audio games development in that language seemingly aren't even a third of what BGT does.

2020-05-21 05:39:59

@13
I'm not saying BGT is more capable than other things, because it most certainly isn't.  For example my point from earlier about there being no good physics or networking options is as true of BGT as anything else.  Look at how many people have reimplemented collision or basic trig in it for example.

The point I'm making is that there was a time where you downloaded VB6, opened notepad, and typed.  No distribution problems.  Full 3D audio.  Tons and tons of tutorials.  Think PureBasic without memory management issues, some Python-esk properties, the BGT philosophy of making the world simple and friendly at the cost of power, officially supported and maintained by Microsoft themselves, accessible IDE and GUI stuff, and as fast as you could hope for.  Output was an exe you could pass around to your friends.  It died in part because the world got more complicated than that approach can handle, but until something like 2007 or 2008 VB6 was a big, serious technology that you could easily get jobs in, and it's still around in the corporate world.

The old "classic" developers for lack of a better word were developing in that environment.  Basically the closest you could get to perfection, even by what most people want now.  I can do everything but the 3D audio by virtue of being an experienced programmer, and I can apparently do the 3D audio by virtue of being me and being willing to put in absurd amounts of effort.  But back then it just...didn't take anything.  The market forces and everything else were right for people like Microsoft to be primarily targeting the new programmer in order to hook people on computers instead of primarily targeting the internet consumer and Netflix, or something.  It's hard to put into words.  I was there for the end of it only, but enough to get the vibe before the vibe was lost, and I know older people who remember it.  We won't get it back.

I'm not saying money wasn't important--it is, even to me.  I'd guess probably 70% money and 30% the tools suck by what the older devs were used to from the early 2000s.  But I wouldn't discount it.  You can't ever beat having multi-billion dollar corporations investing huge amounts of money in things, and with VB6 things was sighted BGT.

My Blog
Twitter: @ajhicks1992

2020-05-21 07:43:22

simple, easy to use, bgt is so cool!

2020-05-21 08:14:59

@11
In a sense thats true, BGT, much like other engines of its kind in the wider mainstream isn't of much value outside of itself. I can't for example drop a starcraft script into anything other than starcraft, but the concepts of that scripting: variables, loops, if/else logic, etc. are the educational component that translates beyond it. In much the same way that programming languages share core concepts, the purpose of such tools in education is a simplified sandbox to explore those concepts. But by their very nature they are limited, and its those limitations that encourages users to move on, provided they have the ambition to do so.

@12
What I meant by migration in the current context was more towards mainstream programming languages outside existing sandbox environments like BGT, as then people can at least have access to a wider pool of more flexible libraries, such as OpenAL, TTS, etc. But yeah, there's definitely a serious deficit of more sophisticated content creation and development tools and frameworks, which would go a long way towards helping make more diverse/sophisticated applications viable.

-BrushTone v1.3.3: Accessible Paint Tool
-AudiMesh3D v1.0.0: Accessible 3D Model Viewer

2020-05-21 10:15:34

post 3 and 4 explains  evrything, so i'm  not going to say anything further.

And as anyone who's gone mountain climbing knows ,The serene snow-covered peaks that look so tranquil from a bdistance, Are the deadliest
sound is my vision
i rarely check my private messages on the forum, so if you want to contact me please use my email, or dm me  at oussama40121 on tw

2020-05-21 10:17:53

Hi.

I tend to agree with what @camlorn and @magurp244 and others has been saying.
I simply wanted to address it from the point of me developing lucia.

So the licensing issue, is something we (mainly I) was made aware was a problem especially when dealing with python.
It is something I am looking into that people are welcome to comment on here
Relating, I am mostly the only one at the time, that's actually still coding on lucia, so things take longer then expected, so if people want to help, they are more then welcome to contact me or join the LuciaSoftware discord

Sable. Don't even get me started on Sable. When I heard about it, I was optimistic. Then the alpha came out, and I saw, that it was just repackaged bgt with a bunch of stuff on top of it. This made me both very sad and kinda angry (I might write about it at a later stage).

If you like what I do, Feel free to check me out on GitHub, or follow me on Twitter

2020-05-21 13:30:14 (edited by George_Gaylord 2020-05-21 14:25:01)

It's for me a blind of what defender says.
I'm using it because it's simple, and does what I want it to do and quick.

I'm also still on BGT to hold me off until I fully understand python, or dip my finger in PB. For the most part, everyone has switched accept for Aaron Baker, BEVGAMES and a few others.

I didnt know Sable was BGT, maybe Phillip maybe programmed some resources  for ESS. Tbh I thought something like that was impossible, then again, I should remember what my PE teacher says. Anything is possible, not plausable

You ain't done nothin' if you ain't been cancelled
_____
I'm working on a playthrough series of the space 4X game Aurora4x. Find it here

2020-05-21 13:32:24

I think Sable will be an unfortunate push in the wrong direction. I think now that folks know you can do these things with bgt they won't switch.

You ain't done nothin' if you ain't been cancelled
_____
I'm working on a playthrough series of the space 4X game Aurora4x. Find it here

2020-05-21 14:43:29

People are still using bgt because it's easy.

I post sounds I record to freesound. Click here to visit my freesound page
I usually post game recordings to anyaudio. Click here to visit my anyaudio page

2020-05-21 16:05:15

@16
My point isn't about content generation tools.  My point is about no stepping stones.  You can't go from BGT to Python easily because BGT protects you from too much.

If you're sighted most of the tools you might learn in use mainstream programming languages, and you can outgrow them in turn while not switching languages.  I use Unity as an example not because Unity provides a bunch of content generation tools, but because it's a good example of something where you don't have to reinvent the world.

You could move from the good old RPG Maker to Love to making browser games with any of the enumerable easily make a browser game toolkits to Unity to "now I need to make my own engine" because you want to write an RTS that involves modifying the past as a game mechanic (which is actually a real game someone did).

What are BGT people supposed to climb up to?  I see BGT to Python hunt-the-library.  Or C# hunt-the-library and fight VS.  Or PureBasic, which is literally C with a different syntax with all the problems that entails.  There's no intermediate steps.

@18
To be clear, I think you can succeed and someone does need to do the work.  You just haven't succeeded yet.  Succeeding at this is a huge  project, and drawing users is a complicated thing to manage.

Unfortunately, because BGT has dominance, how you draw users is you figure out how to offer something BGT doesn't have.  The advantages of not using BGT are numerous, but you have to get as far as not using BGT to see why first, and nothing we say to a  BGT person is going to convince them because it's only obvious in hindsight how this solves problems.  So unfortunately you have to do better than you should have to in order to start the shift.

@19
As far as I know Sable is BGT.  If not, then I don't know why people have reported the antivirus issue.  It started 3 years ago I believe, and they haven't managed to get nearly as far as they should have, so I wouldn't say anything was programmed for them by Philip.

You can take BGT as far as writing an Angelscript implementation in BGT if you're feeling masochistic enough and want to sink huge amounts of time in.  It can be pushed as far as Sable wanted to push it.

Sable could have been good if done by someone with enough skill to pull it off, in a language sufficiently advanced that you can embed Lua or JS as a scripting language.  But as far as I can tell they're at the point where they're skilled enough to try but not skilled enough to have done it right, their entire selling point is "you don't have to program" which can't actually work out in practice if we want games that aren't clones of each other until the end of time, and BGT has fundamental limitations that stop you embedding a scripting language even if you decided to and writing one from scratch that's good enough to write complicated game mechanics in without things like parser generators is incredibly hard and requires a working knowledge of computer science as opposed to just programming.

Sable is basically the current example of how you shouldn't be writing game engines for others until you've become a very, very good programmer.

My Blog
Twitter: @ajhicks1992

2020-05-21 16:33:40 (edited by Dakonna 2020-05-21 16:34:21)

Sable could be so much more than it is right now by just giving three basic tools to the creator on top of the ones already there. If statements that make trigger stuff happen or spawn stuff when certain conditions are met, custom variables you can attach to things like items or npcs that make things happen, and custom classes where you can set up a class as a container and designate abilities that the characters learn at various levels. Conditionals and variables are things everyone should be able to grasp without any previous programming knowledge, hell you can't get past school maths if you don't know what a variable is and how to work with them in equasions. These are also things just about every game needs, and without them, Sable just limits itself even more than it already is purely by the fact it's an engine with no scripting at all.

I used to be a knee like you, then I took an adventurer in the arrow.

2020-05-21 17:12:56

@23
That wouldn't be enough.  The problem with something like Sable is that you can't swap the underlying mechanics.  You can put all sorts of restrings on things--maybe fireball becomes laser gun and mana becomes electricity and now you've got robots.  But combat, walking, etc. will all be the same.  While story is important, it doesn't make the game, and in something like Sable you basically can't ever do a unique game mechanic.  It will be turn-based combat with whatever the core actions are forever, not even as much variation as the early Final Fantasy games had.  And this can't be overcome without a scripting language and access to things at the heart of the engine.

Variables and if statements are probably cool but the problem is that anything complicated needs you to use a text editor because a typical game mechanic will be 10 to 20 variables and as many to more if statements.  Plus you also need loops.  And you really, really want comments so you can remember what the hell you did in 3 months.

In my opinion, they needed to stop and actually make games, rather than try to build this epic engine that they'd then make games with.  I'm sure Sable will be cool to play with for a lot of people, but the amount of benefit they're getting out of the effort they put in isn't worth having put the effort in, and this will be forgotten 6 months to a year after whenever they release an official version because all the games will be the same but with different stories.

My Blog
Twitter: @ajhicks1992

2020-05-21 21:15:18

when bgt can meet your needs, then you don't go for other programs: this is why I didn't tryed other languages