I think you'll find that those who understand the DarkBASIC language the best are those who have been programming for several years in other languages as well. I've found that there isn't that much to "mastering" a language as you say. After about 13 years of programming, what I've found is that the language isn't what makes all the difference -- it's how well you're able to logic through something to get it to work. Sure, a language like DB makes it a lot easier to work with DirectX, but if you don't understand good solid programming principles, and most of all LOGIC, you'll never find a language you really like.
What I'm saying is that just knowing all of a language's commands won't get you very far. You've got to think through ways on how to use them together to get what you want. Plus there are thousands of ways to accomplish the same thing (some better than others of course)
You're going to have to start simple -- I'm not saying to start with pong or something like that (I never did) -- but you want to start on the basics of your game first. For example, in your fighting game, first get some models to move around the screen (it doesn't matter what they look like; you can fix that later.) Then after you get one part down, add in another, like jumping. Then maybe you can work on some karate moves. Just don't try doing everything at once, or you'll get totally lost.
As for collision, unless you have a good amount of knowledge in higher maths (trig/calculus) and know how to make your own DLLs, I'd suggest getting Nuclear Glory. It'll save you way more time than the $15 it costs you to buy it. You could probably earn a couple hundred bucks mowing lawns in the time it would take you to write your own collision system. But that's just my opinion; you may be just as well off using the built in collision commands. Just be warned that they aren't very efficient.
Main thing is that any project you program in any language will give you experience for all languages. Don't be afraid to look at some c++ code for AI as what you're mainly looking for is ideas, and c++ code isn't that hard to understand. Also, don't feel bad if your game doesn't look very good at first -- you've got to start at the beginning. Get the functionality of it working good and then worry about all the aesthetics. So stay encouraged with your project, and when you run into a serious problem that you really can't figure out, post here and I'm sure someone will help you out.
Best of luck.