Hey guys, so I am a newbie when it comes to becoming a game developer. I’ve always wanted to make a game but I always never find the motivation to do it. I’m currently learning HTML5 and CSS3 for web development which I hope to use as like my main job then do game development as a hobby (I am looking at being a indie developer). I’m new to all of this and I really want a good starting point for myself in the field. I can take a bit of time to learn things and concentration for me is generally hard no matter what I am learning. So, what I am wondering is - what game engine should I pick if I am a beginner, what programming language should I pick, etc etc; you get the point. But also, I am kind of interested by both game engines and libraries such as LWJGL. So where does a normal, simple beginner start? Please reply with sense, don’t just say go to the epic games tutorials and watch there. Like, think back to when you started - where should I start and what do I need to do, to not fail 100% of the time; I will fail at some point because everyone does. I am aware. Anyway, thanks.
UE4 is probably the quickest route towards making an actual game. You won’t have to learn programming (though you will build skills useful for that), and you don’t have to make everything yourself. If you actually do want to write your own game from scratch (or basically from the ground up) there are some libraries that you can use to get started. I’d recommend steering clear of Java (Perhaps instead C++ (pretty much industry standard) or something web-based), but if you really wanted you could use it. Some (not all) frameworks you can choose from here, as well as a listing of game engines recommended by other devs (further down that page).
There are a number of resources and tutorials out there, you can find them easily on google.
Having said all that…
Pick an engine/framework and set up your development environment. This will vary based on what you’ve picked (and with Unreal also based on if you’re going to be blueprints only or not)
Start out small. Make something you can reasonably complete in a day. Most would say pong or tetris as a basic example. My first UE4 game was a bit more complex than these (definitely not from a tut), but I was able to make it in a day. Try not to follow ‘pong tutorial for <choice from #1>’. Instead, google when you need some prodding in the right direction. Such as ‘How do I check for collision in/using <choice from #1>’.
In step 2 you will have noticed weak spots in your understanding of your choice in #1, and maybe in general. Brush up on these. If you weren’t able to complete step 2, maybe you can follow some tuts, but then pick another small(er) task and try again.
That should get you started in your choice of engine/framework. If you get past step 3 with confidence (meaning you’ve completed a playable game) then you’re well on your way. Once you get to this step you should be able to transfer your knowledge to other engines/languages/frameworks. It won’t be 1:1, at least not all the time, but you’ll be able to pick up much faster.
I am not speaking as a programmer since I am begining, but beside all the informatics stuff, you will need to learn game design too.
This is something a lot of starters tend to forget, while this is a very important part of your game.
Start to make a Game Design Document (GDD), event if it lacks a lot of things and you think it is bad. This is essential as you will know pretty fast what kind of engine you will need to reach your goal.
There is no point to start a game on an engine if you realize few months later that you can’t build the core mechanics of your game on it.
UE4 seems quite flexible so I don’t think you will have such an issue, but game design is an important part of game development anyway.
About the engine, I found it quite simple to use compared to the other big engines, and coming from me, it means a lot! (I never studied informatics).
The devs make their own tutorials and the community makes some as well.
The worst part will probably be all the modeling/animation stuff, but if you reach the point were you need it, it’s probably better to start building a small team.
Thanks for the replies guys. I am stuck between picking a framework and engine though. Like, I don’t want to go download like a IDE and then not use it. I know what C++ is like and I’ve heard it’s not good for beginners but I also think UnrealEngine is overkill because mostly everything in it for beginners, they won’t use.
Unless bandwidth is limited, you literally have nothing to lose by downloading and trying something out, be it a framework or engine. I’d go with UE4, perhaps that’s just me. Either way, unless you actively mess with something you will just be stuck wondering. It’s better to start down a path and have to backtrack than it is to sit at the crossroads wondering what each path holds. After all, it’s not like any of the paths can hurt you.
The blueprints are far easier to use than C++ so I wouldn’t mind about it.
Give it a try.
I just wanted to mention (as learner myself) that there’s a good class on coursera (I think it’s broken up into 2 parts now) from Rice University that teaches beginning game development. They utilize a version of Python and walk through games like pong, memory, blackjack, asteroids, and I did a version of bubble shooter while doing it also. I found it good for understanding the concepts involved. I did this a few years ago, but I’m certain that it has helped me understand what is happen when I’m learning UE4. (I’m only a couple days into learning, but it “makes sense” to me what is happening in the engine based on understanding the basic concepts in the class.)
Here’s why I suggest this:
You’ve already stated that concentration is hard for you. The last thing you need is an incredibly complex hobby that is largely different from your career path.
You’ll need a good grasp of HTML 5, and Unity has an HTML 5 option for output.
Building web games with Unity can support both the hobby you want and your career goals.
You will have to do a lot of coding to truly get going in Unity. This is a good thing in this case, as its practice and reinforcement of the basics you’ll draw on later.
Also by tying these two together you may be more motivated for both. You’ll learn some neat trick or data structure working on a web project, and you’ll think about how that could be used in a game context. Then you can go build something in unity and apply some of what you had to overcome there back to how you architect your web work. Plus having a bunch of personal projects using technology your potential employers use will be excellent interview and resume material.
One more very large piece of advise: Do not worry about picking “the right tool”. Its not about language, or engine, or IDE, its about you and how you work and what specific goal you are looking to achieve. Its easy for a beginner to get caught up on the process side of things, but it really isn’t that important.
The skills involved in software engineering are applicable across all languages. The syntax might vary, and some languages are more expressive in certain concepts than others, but the skills you’ll need start off very much the same.