Hey there,
that sounds awesome. Programming your own video games is really a lot of fun and I learned a lot from it.
What I would highly recommend as a single dev is to create your game cross-platform, meaning to share as much code as possible between all platforms. Otherwise you simply have a lot more work to do. Games usually have their custom UI anyways, so using the native platform components doesn't benefit games not as much as it does business apps.
For Mazebert TD I'm writing everything in Java, mostly because I know the language quite good. As engine I use libgdx, but with a custom UI framework and renderer. It is quite old and doesn't change that much anymore, has a pretty good structure for cross-platform development. And I can code all Android stuff natively in Java (Android is the main platform with about 90% usage). All my cross-platform code is in a core module and then I have modules for iOS, Android and Desktop which constist of a single class only. There is another simulation module, that is used by core and the mazebert server, to do game validation.
If you're good in C++ that's the way I would go if I were you. There are lot of great engines written in C++, you can write cross-platform code and it is blazingly fast. If you're feeling adventurous you could give Rust a chance, it is receiving a lot of buzz recently. Personally I think you should choose a language you're enjoying writing code in. Mazebert used to be written in ActionScript, and until I ported it to Java last year, I wasn't really motivated in writing new stuff for the game.
As for developing the game. I would first start with the core gameplay of your game, kind of the trunk of everything that comes after. Start working on just that, so that you have the core gameplay running as soon as possible. And maybe release it, so others can play your game and give you feedback. If you have a strong trunk, you'll notice that just the core gameplay will make a hell lot of fun. Don't start with too many features. Strip everything down to the bare minimum, so you only work on that trunk, the most important part of your game. On a strong trunk, you can later easily build more and more branches to.
Good luck with your game, and I'd be happy to try it once you have something to show!
Cheers
Andy
Hey Andy, thank you for your prompt reply. I'm so happy that you've come forward to share some pointers with me. I'll follow your advice and will try my best starting from minimalist design.
I hope you would not mind me asking questions in the future as I progress further in developing games. Man, you've been an inspiration to me. When I started your game I was in engineering first year of UG school. Now I'm doing Ph.D. and I'm so happy that this game is alive and well.
Also, Andy thank you very much for being an active dev. I think you should start a youtube channel side by side highlighting your mazebert journey.