Advertisement

Beginning to make games

Started by February 11, 2018 10:55 PM
6 comments, last by Ivorne 6 years, 9 months ago

i am just starting to learn c++ and i  want to know exactly which free engine will be okay for a beginner to make games

1 hour ago, chuksphil12 said:

i am just starting to learn c++

If C++ is the language you are set on then Unreal will be the easiest to learn engine; with that said it isn't the easiest engine to learn.

Unity is easier but uses C#, that is similar to C++.

 

Making your own small game with no engine is also possible and in some ways more rewarding than moving strait to an engine.

Advertisement
2 hours ago, chuksphil12 said:

i am just starting to learn c++ and i  want to know exactly which free engine will be okay for a beginner to make games

If you're just starting to learn C++ then I would avoid using Unreal for now because it's not a good way to learn general programming.

Pick up a good book like C++ Primer (5th Edition) (*not primer plus).  Once you've become pretty competent in the language itself, then move onto actual engines.

I usually recommend people know the following before starting game programming:

  • Compiling, building
  • Basic program structure (main(), header includes ...)
  • Basic data types
  • Composite data types
  • Control structures (if, for, while ...)
  • Basic functions, function signatures
  • Function parameter passing
  • Classes and general OOP
  • STL - Standard Template Library
  • Dynamic memory allocation, pointers
  • Type casting
  • Advanced OOP, inheritance, polymorphism
  • Advanced program structure, header files, linking
  • Debugging techniques This is important to be able to help yourself when the situation arises.
  • Templates
  • Operator overloading
  • Namespaces
  • Move semantics and other C++11 features
  • Metaprogramming

I would also ask yourself why you want to use Unreal? Just because it's popular doesn't mean you should use it. I personally only use Unreal for 3D projects that require it, however for 2D related games I use libraries like SFML, and program my own engines. Normally I would suggest starting with 2D before advancing into 3D, but each to their own.

Programmer and 3D Artist

22 hours ago, Rutin said:

If you're just starting to learn C++ then I would avoid using Unreal for now because it's not a good way to learn general programming.

Pick up a good book like C++ Primer (5th Edition) (*not primer plus).  Once you've become pretty competent in the language itself, then move onto actual engines.

I usually recommend people know the following before starting game programming:

  • Compiling, building
  • Basic program structure (main(), header includes ...)
  • Basic data types
  • Composite data types
  • Control structures (if, for, while ...)
  • Basic functions, function signatures
  • Function parameter passing
  • Classes and general OOP
  • STL - Standard Template Library
  • Dynamic memory allocation, pointers
  • Type casting
  • Advanced OOP, inheritance, polymorphism
  • Advanced program structure, header files, linking
  • Debugging techniques This is important to be able to help yourself when the situation arises.
  • Templates
  • Operator overloading
  • Namespaces
  • Move semantics and other C++11 features
  • Metaprogramming

I would also ask yourself why you want to use Unreal? Just because it's popular doesn't mean you should use it. I personally only use Unreal for 3D projects that require it, however for 2D related games I use libraries like SFML, and program my own engines. Normally I would suggest starting with 2D before advancing into 3D, but each to their own.

thank u very much

Have you treid Unity and unreal? they have a free version that you can test your game

Game Graphics | Pixel Art | Game Backgrounds | Tools | Tutorials

Not yet i am still learning c++ but which game engines are the best for a beginner

Advertisement

Consider trying openframeworks, it is more of a graphics framework rather than full game engine, but I find it very pleasant to work with, so it will be a good beginning. It will give you direct way to start to understand how computer graphics work, which is a huge part of game programming. It does not hold you by hand all the time, but C++ does neither.

It will not help you with the general architecture of your game, you have to try to do it by yourself. It is a good thing in the beginning, but you may later run into problem that your game will get too big for how naively you designed the architecture (everyone has this problem at one point sooner or later). When that happens, you can either try to apply vast software engineering theory to build good game engine on top of it, or you can decide to skip that and move to bigger engine (possibly Unreal? I am not sure, I chose the first mentioned approach). You will greatly benefit from experience with low level framework like openframework when dealing with a big engine, because you will have better position to understand, how it generaly works inside.

So, that is my oppinion, hope I helped.

This topic is closed to new replies.

Advertisement