I'd say that things have changed over the past Decade+ in regards to Middleware.
Specially in terms of Product Release, Business Model and Post-Release Support...
Still with this said, I wouldn't say this is actually a change … as much as it's more a shift in the common attitude.
Look at Unreal Engine, Unity 3D, etc.
Well consider both the Ecosystems and Costs of Development Vs. Costs of Release.
Sure... Unreal Engine was popular for Modification Development and as an Industry Standardised Middleware., but it didn't begin to gain much popularity beyond that until they changed to a Tier Royalty License Model.
The same is true for Unity 3D... remember at one point in time Dark BASIC Professional was actually the Market Leader, over Unity 3D.
That of course was before TGC for all intended purposes abandoned DBP in favour of FPSC.
Don't get me wrong here... there were other steps being taken that were sensible choices; such-as Dark GDK., which was a good idea to separate the Engine and Language into 2 Different Development Paths.
The thing was, that's just not what TGC ultimately did.
In fact we should today be looking at 3 Different Product Paths that are combined together to create the AppGameKit Studio Package.
That being the:
• Dark BASIC v2019 Language Specification (which is modernised on-top of the LLVM Toolchain and .NET/Mono Compatible for Multiplatform)
• TGC Development Environment, say something that is similar to Visual Code with an Open Expansion System along with In-House Developed Expansions, such-as the Visual Scene Editor
• TGC Middleware Engine (Vulkan / DirectX 12 / Metal Based., which could easily use Microsoft or AMD PAL)
You couple that with a Developer Help, Samples, and Community Sharing Website Frontend (akin to say Wiki-Knowledge or MSDN) … the majority of which are "Free"., which yes, I know that doesn't seem like a sensible business model.
But remember Software As A Services (SAAS) is commonplace today because, you can actually achieve a very healthy and stable income by gating via Subscription Tiers.
And note., there's a reason to ensure all three of the above are SEPERATE Production Paths.
Look at it like this... as it stands if you want to create an Extension / Expansion Library for Dark BASIC Professional or AGK., well do you do that within those Tools?
Of course not. You use a 3rd Party Application, such-as Visual Studio, Pure BASIC, etc.
And that's a mistake.
You want to ensure that outside of very Specialised / Edge-Cases., that your Product isn't reliant upon another in order to complete a Project from Start-to-Finish.
As, if for example I have to learn C/C++/C# in order to expand upon the limited Functionality that is holding me back., then eventually I'm just going to ask the question "Why don't I just template in X then switch to Y for actual Production?... after all I have to use it anyway."
In said regards... congrats, you've just lost that Developer to a Competing Toolchain.
I mean the same is true in regards to the potential income generation... if my Studio / Team is paying a Flat Fee, which is identical to an Individual Developer; then either you're under-charging a Team (which can afford a higher cost) or you're over-charging an Individual (who'll be discouraged by the initial cost-value proposition)
Those creating Expansion Libraries (such-as say Physics Libraries) … that's perhaps something important to keep in mind.
If you for example provide a "Core" Physics Library for Free., this gets people into using your Ecosystem... then you charge something nominal say £10-15 for the "Full / Advanced" Physics Library, or perhaps in the above case the Plug-In Tools for Maya / 3D Max / Blender that allows you to create the Fracture Geometry and output the Physics Model... (this should be usable in the 'Core' but just don't optimise it, meaning it isn't quite as "Fast" or capable of "As Detailed")
In this respect what you'll get are people using said Physics Expansion because... well it's Free and thus they have no costs involved to get comfortable with it... by then selling 'Advanced' elements, well they're already used to what the Core Package offers., they're already hooked into your Ecosystem.
What you're doing is allowing them access for the product to grow with their own proficiency.
And, you could even say reduce said "Buy In" by say providing it as a Yearly / Monthly Subscription... in this regard, people typically won't think twice about £2-3/Month but might at say £20 / Year... and definitely will at say £50 / Lifetime License. (as an individual)
While a lot of Publishers are moving to the SAAS Model, it doesn't mean they quite understand the concept behind it... hence why things like EA Access are not exactly "Great" Value.
The same is easily true for something like AGK... where it could easily be Tier Gated, via Team Tools.
Say an Individual License is Free., 1 - 5 is a nominal fee., 5 - 25 is a higher fee... while 25+ starts getting into 'expensive' territory.
The trick is to in essence make it slightly better value but you still always want that Individual Licence to be Free; this gets mass adoption … because people LOVE "Free"., still that doesn't mean it couldn't come with a limitation.
Say for example everything produced has Watermarks or such... meaning it's good for "Pet Projects", but if you actually want to sell; then you have upsell to the Paid Version.
The same is true in regards to access to Samples; and as I noted in my original response.
A Physics Engine shouldn't provide " MakeBoat( ) " as a Function, but instead should be providing example Scripts / Code that provide said Function but as something constructed in-language., expandable, editable and customisable.
Those scripts for "Free" Users could cost a nominal fee... say £1 - 2 / Script., where-as for Subscription users these are entirely Free and/or could even be packaged as part of the Samples Folder.
The idea is to disconnect the notion that the cost is with the Product per se, but Convivence Element of it along with Brand Trust / Recognition.
This can even extend to a Marketplace., where Scripts / Assets / Extensions / etc. sold by the Community of Developers, well they are sold with a small royalty overhead... I'd again Tier this, so different thresholds result in Lower Royalties.
I mean always remember here that it's better to have an Audience of 10,000 each paying an avg. of say £15 Vs. 1,000 each paying a set £75.
If you price yourself out of the market., then doesn't matter what you charge... just as it's far easier to Upsell to an Existing Fan., than it is to Sell-on-a-Promise.
Sure... Trial Versions can provide some of this., but remember that Trial Versions are like having a Swinging Axe over your Head... YOU KNOW that you only have a limited time with such product; and depending on the complexity it might never be enough time to get used / comfortable with it.
What you want instead is a situation where people have become SO accustomed to something, that they simply can't imagine using something else.
I mean you see this all the time in regards to Operating Systems... people don't like switching between Windows / Linux / MacOS., despite all three basically being almost identical today (function and usability wise) because it's the little things that will just drive you crazy.
And that's what you want to install within potential customers., that notion of "Eh.. it's strange and different... I don't want to use something else."
As this will then result in the need to for competitors to not simply compete but noticeably outshine., because it simply offers something that your product just doesn't do.
Sure, some of this is aimed at AppGameKit … and the "Physics" Suggestions here., but it's really a set of general rules of thumb to product development and business.
You want to be successful., you must be both Good Value and Stand Out.
Be something no one else is.