Shameless promotion (also DBP tips):
I have a commercial game up on Steam called Brigand: Oaxaca, and I make about $100-$300 per month, depending on holiday sales. It was a solo project and I only worked on the weekends, plus I made a lot of DBP-specific mistakes which I will list below.
Steam Link:
https://store.steampowered.com/app/652410/Brigand_Oaxaca/
MISTAKE #1: NEVER use matrices for your terrain. I use 2 matrices, one for ground and one for cliffs that you slide down. Matrices cannot be shaded and cannot be tested for collision, so I had to run a bullet object step by step to check for collision AND matrix elevation each step. It's the main reason the game can't run at 60 FPS and I chose not to use shading (hence the ugliness). But by the time I learned this, it was too late to go back. The benefit of the matrices though, is that users can easily edit their own maps/mods/complete stories using the in-game world editor.
MISTAKE #2: Don't use different colored texts. This took me a long time to figure out, and I was playtesting my game at about 15 FPS for way too long. Eliminate text color changes and it went up significantly. I heard that even using the text command is too slow and you should use images only for the HUD, but I have too much text and I'm too lazy to change it. Changing text color in the same frame on some computers will even cause the text to flash or not show up at all.
MISTAKE #3: I was using JPGs as textures for a long time. This caused loading times between levels to take up to 3 minutes. Changed it to PNG or DDS, it's always less than 30 seconds. Not a DBP-specific problem, but I wish I had known that from the beginning. I would have saved a lot of time waiting for levels to load.
MISTAKE #4: Don't use Do Loops. I just figured this one out a couple weeks ago and released another patch. My main game loop was a Do Loop, I found a post here that advised me to change it to a For Loop in which I kept resetting the variable at the end. I squeezed another 2-3 FPS from that change. Clearly a problem with the DBP source code.
Part of the reason development took so long is that I wanted to make a world editor and a text file scripting language to make the game completely and easily modable like NWN1. Right now I'm working on a DLC called Brigand: Panama, and I'm desperately trying to get users to make their own mods.
And alas, the only real problem I have with DBP is that it's not cross-platform. I did, however, get my game working on Linux WINE thanks to a user guide on Steam. You can check the Guides section on the Steam page. I would love to know if it also worked for Mac WINE, but I don't have a Mac to test it.
(EDIT) MISTAKE #5: You cannot minimize in Exclusive Mode. That took me way too long to figure out also, wasted lots of time. Now have the option in the launcher app.