I had the luck of owning a TI99/4A as a kid; it had a very rich Basic, with the 16k extension cartridge you even had sprites and a synthesizer. I have made some 2d game stuff with pygame recently, and for me it felt as if I got back to this old machine... (here is this stuff, for the record: https://github.com/MoserMichael/pygamewrap )
I would much rather have had something with a 6502.
https://www.ninerpedia.org/wiki/Programming#Useful_CALL_LOAD...
But you are correct, the base unit didn’t have access to these functions. You did need to get the TI Extended Basic cartridge.
https://atariage.com/forums/topic/218904-playground/
It was possible BITD too, but no one thought hard enough about how to do it. There has been a lot of "pushing the hardware" over the last decade. Lots of things that were thought of as "not possible" have been done now. The 99/4A community is very active, and there is a lot more going on than just new games (although that is also a big part of the activity).
I think that's the case of pretty much all 8 and 16-bit machines.
Its distant and even more obscure relative, the Pyuuta, also has a community, but I wouldn't really call it thriving.
Internationally? I don't recall having seen any of them in Germany in the 1980s. Plenty of Sinclairs and Commodores, even an Armstrad, but nothing from TI.
I wrote a pretty good frogger clone (with only the road part to cross) that worked so well because the event loop was just joystick input and call coinc(all) for sprite collision with the Y axis value of your frog indicating you were in a home base position.
I also wrote a kind of 3 part game where each stage used the full resources of the machine, and each stage of the game required another load from cassette, which normally wipes all your memory and therfore variables so in order to pass variables between the stages of the game I wrote hex values into the extended font/character set memory, because the last few were user editable and retained in memory even after fresh program load (which would decode the hex from the font character to keep your score and number of lives consistent with the prior program/stage of the game).
I had Parsec too of course, but way more fun creating your own games from scratch, or porting a printout of a game from TRS-80 basic and then converting it to use sprites.
Aged 11 to 13 I spent my school holidays mostly indoors learning to code, fond memories of the magic of discovery and creation :)
The fanatics though - there's really cool stuff people do. I think you could cheaply upgrade the memory to 16-bit wide, for example.
Turns out the TI 99/4A has a thriving community and homebrew scene, with two members in particular being exceptionally productive.
Those homebrow games created are even of at least an order of magnitude higher quality than what was available in the 80s.