Hello Eli, I’ll do what I can to answer your questions. I don’t know that I’d consider myself an expert by any means, but I hope any answers I can give help you out. I remember being your age and thinking the same things you are right now. Game development is quite the challenge, although I’m sure I don’t need to tell you that based on the games you’ve created on scratch.
First off, I’m glad you are enjoying the game so far. I’m always happy to see people enjoying something I’ve made. To answer your question on motivation, well, I’ll be honest with you, I’m not always motivated. While I’d like to say that I get up every day and am eager to get started, some days are tougher than others. Motivation is a problem that everyone in the world faces when trying to create something. What I’ve learned over the years is that everyone has something different that motivates them. The hard part is finding out what that thing is for you. It usually involves a good amount of soul searching, but if you think on it long enough, you’ll figure it out.
For myself, I’ve always wanted to make something that other people enjoy, whether that be by writing, drawing, making games or whatever. What keeps me going is knowing that I’m making something that other people can enjoy. I suppose the way I think of it is that, when I was a kid, I have fond memories of playing games, watching movies, reading, etc. Now that I’m the adult I’d like to be able to fulfill that role of creating entertainment for kids today.
I’ve already rambled a bit here, but motivation is one of the hardest things to pin down. The most important thing to remember is to never stop. I don’t mean run yourself into the ground working, but just do something every day. Even if you just code for ten minutes or something. You’ll have days that you don’t want to work or you won’t get much done and that’s fine, what’s important is that you come back and keep going. It may take a long time, but if you keep at it you will eventually succeed. Perseverance is probably one of the most valuable assets you can have.
As for your next question about the feeling of a game, man that’s another tough one. Game feel is something that even experienced devs can have trouble with. It’s something that you’ll find you get the hang of the more your program, which is probably the answer you don’t want to hear. Unfortunately, the best way to improve is to practice. Good game feel has different requirements for every game. For instance, a shooter is going to require a lot of attention to detail around the shooting mechanics. In contrast a platformer needs to focus on how jumping, movement, or general game flow are.
I think another good way to learn this sort of thing is just to play games. I don’t mean any game; I mean look up games that defined their genre and play them. When you play though don’t just do it for fun, really pay attention to everything and think about why things are the way they are. If you code long enough you’ll also start to look at games less like entertainment and you’ll start to see the mechanics and reasons for why things are the way they are. Once you start to see these things it will help you to incorporate similar feeling systems into your own games. Personally, I picked up a Gameboy when I was like 4 and haven’t stopped playing games since. I don’t think I really starting thinking about what I was playing till the end of high school though.
As for languages that’s a tough one. Learning to code on your own is a very daunting prospect. I remember trying several times in high school and I never got anywhere. It wasn’t really until college that I started to learn during my courses. Personally, I was taught mainly java in college, along with a litany of other languages to a lesser extent. What you’ll find when you learn code is that there are a lot of similarities between languages. Mostly the syntax changes between them along with some other features. The most important thing about code is learning the concepts. Functions, classes, variables, loops, arrays, algorithms, etc., there’s a lot of general concepts that every language uses. In my experience once you know the concepts you can apply them with relative ease to any language. Basically, this means the concepts are far more crucial than your choice of language.
However, if I had to suggest one to learn, I think if you are looking to make games, your best bet is a language called C#. This is the language that is used in Unity, which is obviously a solid choice for game dev at the moment. It’s also just a relatively common and robust language.
In terms of what I use I should clarify some things. First, you asked if I use Unity as a language. This is more semantics, but I feel I should clear it up for you. Unity is an engine, not a language. I feel sort of condescending saying that, but it’s good to know the difference. An engine is the program that you are using to make software. Unity, Scratch, Construct 3, Game Maker, Unreal, these are all engines. A language such as Java, C++, C#, or Python is just a series of semantics and rules that you use to write code if that makes sense.
As for what I used to make Verdant Village, it’s not Unity. Personally, the little bit that I delved into Unity it just confused me. I probably didn’t give it enough of a chance though. The engine I used to make Verdant Village is called Construct 3. It actually functions in a fairly similar manner to scratch except with a lot more freedom. While I could code something up in a language of my choice, I’ve found that I think Construct 3 provides for a faster way to put things together. What you want to look at isn’t really a language, you want to find an engine. Any of the ones I mentioned above would work honestly.
So like I said language probably isn’t the most important thing but if I had to recommend one it would be C# so you could use Unity. Or if you don’t want to teach yourself language, you can go with an engine that’s easier for beginners to pick up, such as Construct 3 or Game Maker. I find these types of drag and drop engines allow you to put things together without having to deal with the more complex parts of coding. However, they still require you to understand coding concepts and apply them. It’s a good way to dip your toe in the water in my opinion. And if you find you like them, they allow for more complicated games. A lot of people online will tell you that if you aren’t writing lines of code you are doing it wrong, my advice is to ignore them. Verdant Village is made in Construct 3. There is another game called Iconoclasts on Steam that was also made in the Construct engine. Game Maker has a number of notable games, the one I always think of is one called Hyper Light Drifter, also on Steam.
As for feedback on your own projects, I think they look good. I know at 14 I wasn’t making anything like that, I don’t think I was making anything at all honestly. I particularly like Atlantia, reminds me of Galaga from a long time ago. In any case I think you’ve got potential. At this point you’ll just want to keep making smaller projects and refining your skills. What I was told was that with every project go one step further, work yourself up to bigger and better things.
I hope some of what I said helped you out. If you want to do this for a career, I think you’ve got potential. Just keep working hard and do your best. You’ll find things will fall into place in time. I can remember being 14 and wanting to create things far outside my scope. It’s a bit of an awkward time as you might have the ideas, but feel it’s hard to achieve them. Just keep at it though and you’ll eventually get there, remember perseverance is your most valuable asset. I wish you the best of luck, I’m sure you’ll do great.