Hey guys, I'd like to start this topic off by introducing myself. My name is Chris. I currently own and operate my own business (oddly enough, related to the video game industry), but am ready for a career change. In about a years time, I'll be at a point in my life where I can finally sit down and begin the journey of developing my own game.
The sort of game I'd like to make would be something similar to Terraria (well, similar in block management only), but much more focused on action rather than building. I have been brainstorming for this game for about 6 years or so, and I know exactly what direction I'd like to take, and what systems I'd like to implement.
With that said, I do have some concerns...
Terraria was built using XNA. Monogame (so I've been told) expands upon that framework. It would seem like an obvious choice, but I have my doubts. I've been talking with a few people, and one of them had recommended Unity over Monogame, so I asked them why. He mentioned that Unity was a lot less work, but I'm not so convinced of that. There are a few threads here regarding Unity vs. Monogame, and I don't really want to spark another debate, other than to gain some insight into which engine would be more suited for what I'm trying to achieve.
I was taking a look at a game that was released in 2016 called "Enter the Gungeon". This game was developed in Unity, and has a few of the systems and graphics I'm interested in, so Unity may seem like the way to go. However, I'm almost certain (but not positive) that there are all kinds of custom shaders within that game, which makes things infinitely more complicated for me, having only coded for a few weeks 5 years ago. I'm just not so sure my math skills are up for that type of challenge (shaders).
Anyhow, most of the complaints I've seen surrounding Unity have to do with it's lack of user control of the low level stuff. Once I embark on this journey, I would much rather have as much control as possible, and not rely on pre-built tools that may accomplish what I'm after, but were built for a more "general" approach. For example, if I use a built-in tool to handle one system, and I'd like to add on to that system later, that specific tool may not be the best choice, but I'm left with no choice but to use what Unity has to offer, or build my own.
On the one hand, I want that low-level control of my own game. On the other, Unity has so many systems built in, that it's hard to discount it as a viable option. Monogame might be able to give me all the control I could ever want, but at the same time, with my limited skills (at least right now), I'm afraid I'd be wasting years of my life on a Monogame development, when I could have used Unity and saved myself a lot of time with it's pre-built tools.
As you can see, it's a very real concern for me. I know it may be much too early to be concerned about which engine to use, having not started learning C# seriously just yet, but I'd like to start thinking about these types of questions before things advance to a point of no return
I have always been the type of person that loves to know how things work. Ever since I was a young child, I was taking things apart, just to see how they worked. I got in trouble for doing this more often than not, but it helped me become the person I am today. Most of the time, if you put something mechanical in front of me, I'll more than likely figure out how it works. If that something has a problem, I can probably fix it. If I don't know how, I'll learn how. That's just my nature.
I would really like to hear some of your thoughts regarding the complexity of Monogame, and the amount of low-level work I'll have to put into a game that's similar to Terraria (again, mostly for block handling) vs. Unity and all the pre-built tools that may not work in my favor. Is it really just about how much control I'd like over my own systems? If it's that simple, perhaps Monogame is the right choice?
I know this thread was probably way too long, but if you made it this far, thank you for your time