1 hour ago, Priceman said:
Firstly, hello to everyone.
So, as the title says, i'm looking for a bit of direction for designing and programming my game idea. What i'm essentially trying to do is create a 2d side scroller along the lines of such titles as Dust: An Elysian Tail, Ori and the Blind Forest, or the Odin Sphere series. I'm currently taking courses on Udemy to learn unity and C#. I chose this route since one of my favorite indie dev studios, Ska Studios, use it making their games. I'm already a decent artist and animator, so I just need something to put the pieces together. I guess i'm looking for an opinion on if this is the best route to take for someone completely new to game development and programming. I've looked into engines like gamemaker, but for what I have in mind (progression systems, inventories, etc) it didn't seem like the way to go. RPGmaker and Unreal also don't seem to be right for what I have in mind.
Anyway, thanks for taking the time to help.
The "best route" can be very subjective as they are many options available that allow you to create 2d side scrollers. If you're already taking courses to learn C# and Unity, but have no prior experience then stick with that because C# isn't a bad entry level language, and Unity is good as well. From 18+ years of experience, the hardest part when starting out is sticking with your first language and library/framework/engine long enough to get over that initial hump. Don't jump around from language to language, and tool to tool. Once you've learned a lot of C# and you're well versed in Unity, it's a lot easier to jump around to different languages, and engines as needed, but your primary goal starting out should be making games regardless on your initial language and engine. These skills are transferable as you expand in future.
Unreal would also be out of the question if you're taking the C# route, and would require C++ unless you're only using "blueprints". GameMaker Studio 2 isn't a bad choice, it does have GML which is their c-style language, and will give you some experience using a language (you can use drag and drop, and slowly transition to GML). In GameMaker you can make inventories, and progression systems as well.
I would honestly stick to your current path - C# with Unity if you're into using mainstream languages, and engines.
My final notes and pieces of advice is to learn by coding a lot. Learn a concept and just code, code , code! At some point you want to be able to think of a concept and code it without reading tutorials, or books. Coming up with your own solutions will make you a stronger coder than following (x) tutorial, however during the starting phases as you learn be sure to understand why the code works, and exactly what steps are being taken to build a solution to the problem. This will take time, but it's extremely rewarding. Your ability in the language itself, experience, and problem solving will be a factor. When you run into problems come and post on the forums, but be specific to what your issue is so we can help.
Also, set small goals at first, make Tic Tac Toe, Pong, Pac-Man, Tetris ect... and slowly move up. Don't go for your full fledged dream game as your first project.