Creation
If you’re creating a game yourself, you should learn the basics and intermediate skills of scripting, building, and UIs (the big three). Meaning, you’ll need to know a decent amount in various sectors of developing. However, if you’re teaming up with other devs, then, you don’t have to be skilled in all areas. For example, pick the one you’re best at, like programming. You can be the programmer of your game and hire other devs for UIs and building. If you do hire, then be prepared to pay as not everyone is going to accept payment in percentages (you know, it can be risky sometimes).
This is totally up to you, but I prefer working alone, for the most part, instead of setting up my own dev team. I guess it’s due to my poor project and group management skills, hopefully, that’ll improve over time. 
As per assets, you should consider making your own ones and not free models as it will be more original and you’ll develop an art style. Then, you’ll be known by that style and it’ll essentially become your artistic signature, which is pretty cool.
As per resources, here’s a list:
UI
- Adobe XD (no that’s not an emoji!)
- Adobe Photoshop
- GIMP
- other graphic designing programs
Building/Modeling
Programming (not as needed, but I’ve heard they’re useful for programmers)
So, some of these are free, others are paid subscriptions. It’s your choice on what to get. Sure, paid programs tend to have higher quality, but no all the time. For example, I’ve heard that GIMP 95% of the features that Photoshop has, so if you think you really really need that 5% then, go ahead!
Publishing
I don’t think there’s much to say here apart from configuring your game’s settings as it will be one of the last processes. For example, just check that your game allows mobile players, set the VIP server price, etc.
As per the moral aspect, just know that even if you are bombarded with harsh criticism, make sure you know what’s real feedback and what’s jealousy. Anything on the internet receives haters, but that doesn’t make them valid, they’re mostly only trolling or don’t appreciate others’ success. So, don’t get discouraged!
Marketing
So, if your game needs some players on it to make it playable for an average player (like team-based games), then it’d be best to kick-start it via sponsors/ads. There are tens of hundreds of posts on the DevForum and many articles on Medium and the DevHub that explain sponsoring and ads at an in-depth level. They each have their advantages, along with several minor flaws, so it’s up to you then. The tactic is to spread out your ads and sponsors across several days (like, don’t spend it all at once) as it’s bound to receive more attention. Again, more strategies and “prime ways” can be found on the DevForum and even YouTube.
But, if your game can go fine with a few players (especially single-player games), then I’d first find a content creator that reads the comments and picks out suggestions. Some of them get burned out and are willing to play anything that their viewers desire. So, that’s your chance to bring attention to your game for basically no price. If, for reason, it doesn’t work, then onto ads and sponsors.
That’s all I have, for now, good luck with your game!