Let's start with a very simple question to think about: can you present your game to someone that is not aware and explain three essential things: what makes your game fun, who is your audience and how long will it take to finish it?
When estimating, it's normal that we struggle since we can't predict the future and how big things are based on time. For that reason we usually struggle, but we are here to help you focus on the things that really matter and organize the right way.
Since we can't predict future, it's better to take another approach: score things based on how difficult you think they are.
The idea behind can be explained like this: if we had a a big stone and a small one that we need to move 2cm, both will take almost the same time but your energy to execute it will be completely different.
Story points are a unit to estimate the effort it takes to fully implement a specific task, item or feature. What you need to do is after you separated your game in small tasks, you should estimate each feature, mechanic or task based on story points (fibonacci sequence): 1, 3, 5, 8, and so on. The smaller the number the smaller the effort.
This will help you define your capability in hours and budget. Using this you can calculate how much is your game worth to make. Let's use an example: consider you spend 3 hours a day, charging $50 per hour and your game will take 3 months to be finished. That means that your game took $13500 to make. In the game industry this is not too much!
The lesson here is to make your first indie title as tiny as possible with the lowest effort you can.
Don't overthink about doing everything from scratch or not. Assets, sprites and music are expensive and if you compare how much time would you spend doing things you don't know against someone that does the job better, quicker and faster, you will end up spending more time and also money, because your time is money.
You can think about it as if you plan to win the lottery by buying just one ticket, one time only and that's it. But in reality, the more tickets you buy, the more chances you get to win.
Moving that into game development, it means that your first games might not be good, but ideally they are short and easy to make. Once you have learned and you have experience (your tickets) then you can hit your big dream game!
You need experience, but not only technical. You need to learn what you like about making games: story, coding, mechanics, graphics and many others and only through experience, you are able to define it.
It's much easier to produce a game in small chunks, than just building the whole thing right away. When creating a new building, they don't start by the roof, nor the base of the building. They start with a building model that they show others. In our case, that's our game prototype!
Even that small prototype can be shown to the world and seek foundings from kickstarters, or big companies that will help you as publishers.
A community of fans can start with a simple idea that we all want to become it real. If you haven't started, you should start today to build your community that will backup your game, and there are many platforms like social media, discord, emails, forums and more!
This will help you with wishlists, selling and boosting your motivations for people helping you while you build your game.