OO principles need not be OO. Generally when people talk about OO they mean Classes. Which I am sure Alan Kay is still infuriated over - howling at the top of his lungs "I should have called it message oriented programming instead!!!!!"
So what is OO, and how can you 'fake it' in AGK:
1: Encapsulation
Anyone who have ever done any OO programming know that this just isn't true in practice. For convenience one opens up types and classes all over the place, creating a wonderful web of dependencies that criss-cross the code. Over multiple source-files even, just to make the mess complete.
In this regard, there isn't much difference between OO and AGK. If you control your type instances properly, you have just as much control over your mutable data as in using OO classes.
2: Abstraction
I'll give OO the nod here - at least with regards to data manipulation. You can hide a lot of detail inside private methods. As for just operations, it's just as easy in AppGameKit to abstract out the 'nuts'n'bolts' implementation to underling functions in order to not deal with details of implementation at higher levels of logic-flow.
3: Inheritance
Whilst you can't inherit behaviour in AppGameKit, you can inherit data-structures to make more complex data-structures.
4: Polymorphism
Not an OO exclusive, but it most certainly is missing AGK. Some sort of interface or function overloading would be great in AGK.
---
So for the most part, you don't really need OO - just as long as one keep ones mutable data-structures under strict control.
As for the Basic syntax, it's not ideal. I get the reason for it. Easy to learn, but I'd much prefer a simplified C like syntax. As in Go, which is quite easy to get into if one already know one of the C-like languages. I feel naked without curly-braces. Why I never have gotten into Python
As for the IDE, It's not horrible. Though I'd much prefer if they made a Tier 1 extension for say Visual Studio Code.
My biggest gripe though is namespaces - or rather the lack of it. Make it so that on the top of each file we can declare what module/package namespace the file belongs to, and I'd be a happy camper.