Quote: "Personally I don't think AppGameKit being programmer-oriented is the big issue."
AGK is the most simple way to get in to game programming if someone interested but sooner or later you do want to use a level editor and this is the turning point for many. Most people don't want to reinvent the wheel and they go with engines that already have a level editor.
I understand many DBP and AppGameKit fun don't want AppGameKit to become Unity, Godot or GameMaker Studio. And I totally agree with that. But what AGKS could do and I hope going to do is include the level editor but make it optional and easy to use. How would that look like?
The level editor in AGKS could save the level data in to a single file, a custom format that AGKS can read instead of generating AppGameKit code like they did with Visual Editor.
And then once we have this level data, we can go ahead and load it with a single command.
level = LoadLevel("level_file")
And then in order to get objects/sprites from the level data we could pick them by name.
sprite = GetSpriteFrom(levelID, "sprite_name")
Get properties of sprites
sprite.Width
sprite.Height
sprite.Scale
sprite.X
sprtie.Y
Get all the instances of a sprite in an array
spriteInstances[] = GetSpriteInstancesFrom(levelID, "sprite_name")
Get layer by name
layer = GetLayer("layer_name")
Get all sprite on a specific layer
sprites[] = GetSpriteInstancesOn(layerID)
Get specific instances of sprite from layer by name
sprites[] = GetSPriteInstancesOn(layerID, "sprite_name")
and so on. It doesn't need to be fully integrated like in Unity, Game Maker Studio and others, but can be done like I explained above. I hope the level editor in AGKS going to be like this and then, artist will be happy because it is going to be easy to get levels up and running in AGKS, takes a single command only and tool makers will be also happy because they don't need to deal with the level editor if they don't want to and scripters like me going to be happy too because it is going to be easy to work with the level data. Everyone wins.
Quote: "So the question is more of why are such people using all of these various other programming-oriented "engines" instead of using AppGameKit?"
Other frameworks are using more popular and more powerful languages like JavaScript, Java, C#. We can code C++ in AppGameKit but it is the other end of the line. C++ is better to get something done from scratch but when it comes to coding, scripting gameplay C++ is overkill and BASIC is fun and super easy to use but can be limited. I personally find C# the golden middle road between a simple and easy to use yet powerful and flexible language.
If C# then the biggest competitor of AppGameKit among frameworks is MonoGame in my opinion. MonoGame has the advantage it is written in C#, completely open-source so you can go, change anything use any of the C# libraries available and compile it your self, no royalties, hidden costs, EULA to agree to. It all yours written in the very same language you use to create gameplay. And the engine is super easy to code actually. When I started a button on my controller did not work so I just opened up the source, searched for the Input class, found the part responsible for handling controllers, added a few line of code to map the button I had and I got my controller working. This is with minimal C# knowledge, only scratching the surface. This is the power of open-source.
Also the lead developer of MonoGame Tom Spilman, actually running it own game company called Sickhead Games and his company is using MonoGame to develop cross-platform games. As a result, MonoGame can target every platform exist on the planet you also have complete control over any aspect of the engine. So if you want to code and only code, MonoGame is pretty much the best option out there.
Do you also like Broadcasting in AppGameKit Tier1? Xamarin also got a similar Player for mobile that you can use to preview your game over wifi on the actual device but you can also just connect the device and run preview in Visual Studio.
Speaking of Visual Studio, the best IDE ever, Yes can be bloated, a bit slow at times but nothing beat the coding experience in Visual Studio.
This is what AppGameKit need to compete with if we consider it a coding only solution without a built-in level editor.
With a built-in level editor though they need to compete with GameMaker Studio, Unity, Godot, Unreal and tons of others so it is not much more comforting. As I mentioned, the gaming industry become extremely competitive. The only area that is not so crowded is the tools targeting beginners and no coders.
TGC doing a great job with AppGameKit Tier1 to target people new to programming but after people get started with BASIC, sooner or later going to get in to the other more powerful languages and tools available for those languages and AppGameKit has noting to offer at the moment to make those people come back because once you start using a level editor, you just don't go back to a code only tool unless you want to make your own level editor. But I would guess 99.9% of people don't want to code their level editors from scratch when there are solution out there like Unity, Godot..etc. But even those 0.1% who do want to, I'm wondering how many of that actually want to code and editor in BASIC when you can fire up Windows Forms or WPF and come up with something in no time (using C#)?
If AGKS going to have a proper level editor, then some of those people go adventure out and try Unity and others might come back because they already know BASIC, it is easy, fast and with a level editor they have no reason to leave AGK. Without a level editor people have all the reason to leave AppGameKit and to never come back.
So I think what AGKS need to be focusing on is not to make people switch from Unity to AGKS but to make people stay with AGKS once they get started. The only way to do that is to offer more ways to develop your games which brings me back to may original suggestions which was to make AGKS the single tool for everyone:
1. Programmers by making visual editor optional
2. Scripters by including a visual editor and content management that easy to work with, easy to code
3. No coders by including ready scripted assets that we can use to make games with drag 'n drop similar to GameGuru and offer more in forms of paid and free Asset packages.
This is the only future of TGC and AGKS in my opinion because TGC were developing easy game makers for decades. Only need to bring them all together in to a single tool and I don't personally know any other tool offer all 3 on cross platform at the moment. Yes there are solutions for Unity, Unreal but TGC does programming and no coding better. Need to take advantage of that and also add a scripting solution to the mix with a level editor and make everybody happy.
If TGC decide to also drop C# in to the mix it could make even more likely people decide to stick with AGKS once they get started with game making using AGKS.