Taking a step back here, the question implies you have rather limited programming experience - otherwise it's unlikely you'd be asking it. That's fine, we all have to start somewhere, but I'd question whether you should start with such a (relatively) major project. It's how a lot of people get put off programming, they start with something way too big, ask lots of questions, get frustrated when people tell them to go back and understand the basics then eventually turn away from it altogether.
It's great you're thinking of something like this from scratch, but I'd seriously advise you to start simpler first
One entry level point might be Greenfoot
. You use Java (a proper, professional programming language) to create 2D games relatively easily, with lots of help provided for you in the form of tutorials, forums etc. if you get stuck. You can then upload your game online for others to see and comment on.