Since I am devoting a lot of my time to the Unreal engine I wanted to make a post about it as a brief introduction. There will be other posts, but I too am larning so when I encounter something cool within the engine I will write about it.
First of all, if you are thinking that making games is hard, that you need years of experience in programming, 3d modeling, mathematics, physics, gameplay design process etc… well yes, you do. But also no, you don’t. Let me clarify. Games these days are made by huge teams, experts, there is a lot of marketing involved and a lot of money needed to bring a good project from the start to finish. Well at least those triple A ones. But even the most hardcore programmer on the planet would need years to bring a game like this to light. On the other hand, there is a huge indie comunity making quality products with small teams and on nearly non existant budget.
But even if that seems scary and huge to you don’t worry. As a complete beginner you will have to learn a lot but the fun and sense of accomplishment should be enough to inspire you to start. Maybe you will make a simple mobile flapy birds like game, or maybe a nice looking simple fps for PC. It could also grow beyond your expectations and transform into something huge. Just look at our slovenian company Outfit7, the creators of Talking Tom. From a simple concept it grew into a huge worldwide product.
I will talk mostly about Unreal Engine but there are lots of other developing tools at your disposal. So what is a game engine? Shortly, it’s a development tool that alows you to create 2d/3d content like games which does a lot of that nasty low level stuff for you. It is made in a way, that you sped most of your time building content and much less programming low level stuff (like how is your model going to be drawn on the screen, how will you detect your input etc.). And that is why anyone can learn, even those who never did stuff like that. And the most beautiful part of all is that it is free. Well technicaly, if you make a project that generates a lot of money, you need to pay them some percents of the revenue, but ONLY if you make money. There is also a huge comunity, where you can seek help and tons and tons of tutorials. There are other engines out there so if you would like to try something else, you can. To name one, there is Unity Engine, which in a sense is very similar. Often people say it is easier to start on Unity. It probably is, but personaly I felt much mor econfortable within Unreal.
I use Unreal for our architectural visualisation for our company CreativeSolutions, but it is very similar to building a 3d game. The main difference is that I don’t have to worry about gameplay mechanics and the physics are not as complex as in a real game. But the results are stunning non the less. You can download the Unreal Engine here.
The other thing that you need to be aware is content. If you want to make something original, you will need to make game content. Of corse, there is also a lot of stuff to be found on the web, it just won’t be unique, but there is completely nothing wrong in using free stuf, as long as the author gives consent. With content I mean 3d models, textures, sounds, video, 2d images etc. It realy depends on what you would like to accomplish. I’ll just throw some names of usefull programs here because this post’s scope isn’t about content making. For 3d models, there are a lot of professional software like 3DSMax and Maya but for a simple project there is realy no need to pay thousands. One really good (and free!) program is Blender. You can accomplish most thasks with it, that you would with a professional program. The next thing you will need is an image processing program. Of corse, like for modeling, there are expensive tools like Photoshop but again you don’t need it. Instead try something like Gimp. It can do most things Photoshop can, but it is free. For all the tasks you will need for making a game, it will be more than enough. Then for sound processing I recommend somemething like Audacity. You can find free sound samples all around the web and you can use it to edit them however you like. There is no need to record an explosion sound, because you can find thousands of those on the internet. Only make sure that you have permission to use it. For other resources, feel free to write in the comments and I will try to provide them.
There is only one other major requirement if you would like to start developing games. It is preferred to have a good computer. You won’t get very far with an integrated GPU and 4GB of ram. Most of this programs are pretty demanding. Think of it as an investment. Even if you will never going to earn a cent no one can take away knowledge from you. Maybe you will get a good job because of that knowledge, who knows.
Another thing to mention is the new Blueprint concept in Unreal Engine 4. Within your project you can choose to program game logic in the C++ language or you can use blueprints. Blueprints are the new VISUAL scripting language, developers of the engine made. It is actualy an upgrade from the UE3 Kismet system, but much more flexible. Blueprints are equivalent of classic code scripting, but you dont have to write a single line of code. Most tasks can be accomplished through blueprints. It is a way to bring togather programmers and coders. It is a node system. You have a canvas, where you drag nodes which represent functions, variables etc. and you connect them to make game logic. It really is very intuitive so even if you never coded a line in your life, you can now generate complex logic using only provided nodes. The system is also conetxt sensitive. This means that if you have lets say a node that multiply two float numbers, when you drag a connection, only functions that generate float input will be shown. Context-sensitivity also brings a nice helpful suggestion feature. Every node has a help box, with information about its functionality, inputs and outputs.
UE4 also provides a good starter content. You can add it when you first make a new projects. It includes lots of textures, materials, some demo levels and most importantly 3rd and 1st person systems. To test a 3rd person scene you only need to drag a character into your level and you can run around and shoot things. This is beautiful for a beginner, because all that logic about how you walk, run move the camera etc. is already available to you and you can customize the blueprint of the character however you like.
There is a lot more I could write about Unreal Engine 4, but this post got too long already. With sooooo many resources out there, there is really no reason to be afraid to start. But most of all, have fun, because that is the single most important thing there is.
If there are some mistakes, misinformation or broken links feel free to mention it in the comments, but like I said in the introduction post of this blog: be nice! 😀