I guess the main reason that I felt like using an engine wasn't the best way is because it kind of feels like a shortcut. I know it's probably the quickest way to develop, but that isn't necessarily my goal at the moment. I'm more interesting in gaining as much knowledge as possible to prepare me for a career in game dev. I kind of feel like maybe I'd be missing out on some of the fundamentals of game development by using an engine.
As far as what overwhelms me: it's just the sheer amount of what I feel I need to learn to be a successful programmer and indie dev. The list that comes to mind is massive:
- Rendering
- Graphics Pipeline
- Programming
- Programming Shaders
- Modelling
- Animation
- Design Principles
- Development Principles
- "Proper" coding and development practices ... to name a few.
And it seems that the more I research these topics, the more I add to the list. I guess the world of development is so huge and requires so many areas of expertise that it's just overwhelming to figure out how to prioritize my learning. I would love to find some book or other resource that takes multiple aspects of development into consideration, instead of just focusing on one particular skill set like programming or art. I guess I'm also concerned with understanding how all of these different parts of development integrate with one another, and being able to integrate them myself in a professional way to bring a high grade (or at least non-crappy) game to fruition.
Also, thanks for the mention of the potential problem of working on independent projects while under contract. I'd never considered that.
You mention that game dev has become an expensive hobby. How so? Just with licensing software?
Game Dev being expensive:
Notice my emphasis when I said ".. my expensive hobby". Now I am a perfectionist and collector of shiny things, that is why I have a lot of pro grade hardware standing around in my home office / man cave and a lot of bought art software and engine licenses. But then I have a well paid part time job, and as said, I am used to expensive hobbies (that got replaced by game dev lately)
You certainly don't need any of this. Every software you need you will find a free / opensource alternative for on the web. All the hardware you need to start is a mouse, a keyboard and a crappy little computer.
In my opinion, pro grade hardware and software CAN be worth the money (if you have the skill and time to use it), in my case some things made me work more efficient. But none of it is really needed, especially not if you are just starting out.
On the subject of engine or not and amount of stuff to learn:
be aware, at some point you will have to make a choice - to target a career in the industry and a bigger studio, or become an Indie dev, possibly even go lone wolf for the start.
To achieve the first, you will have to make further choices. There are many disciplines involved nowadays in game dev (programmer, artist, game deisgner, ...), and there are even specializations within these disciplines (graphics programmer, ai programmer.... level designer as a specialization of game designer). You will need to find out what interests you most.
From what I gather from your posts, that would be programmer. Now, to create portfolio material for a programmer career, you do not need to become an artists. Stock art, or plain simply horrible looking programmer art can do the job. Be aware, the studios you will show these portfolio pieces later on will have the knowledge to concentrate on the parts of your demo reel important for your future position and ignore the garish art used.
Certainly, for this decision, using engines is a bad idea for a start, and might not add too much to your portfolio even later on (the more of you own code is involved, the better).
This of course is again completly different for a career as artist. Don't even try to become an adept programmer in this case. Get the easiest engine you can find to create a demo of your art.
If you want to go Indie, the whole thing changes a little bit. For one, you cannot specialize just as much. Especially not if you are a lone wolf. And you will have to be able to use all the "crutches" you can find to full effect. Yes, that means using premade engines!
Of course for simple games writing everything from scratch is most probably the better Idea. But as soon as things get complex, most people will start using premade engines for a good reason.
If you have to do everything, and you are paying for it with your own time and money, you cannot afford to lose any time re-inventing the wheel!
Now, as has been said, for learning purposes writing games from scratch is a very good start anyway. Using an engine from the start will give you a different learning curve, but in the end you will also have to learn some low level stuff... its just less bottom-up (and most probably less thourough).
But instead of trying to digest everything at once when it comes to different topics to learn, I would "divide and conquer".
Focus on what interests you most, cut out stuff you are not able to do at the moment (ignore sounds, ignore graphics and go full text-based,...).
Even if you want to learn all of it, you don't have to learn all at once (and you will not be able to).