Should I stick with programming or game engine?

Started by
13 comments, last by ngbeslhang 9 years, 7 months ago
I am relearning C++ through learncpp.com (quite good to me) and I'm at the link (http://www.learncpp.com/cpp-tutorial/612-references-vs-pointers-and-member-selection/) right now, skipped 5.9 and 6.4 though, since it's confusing.

I decided to start with rogue-like Kairosoft-based game development company (a.k.a Game Dev Story) PC game (yes, I'm serious). Will include:

* Employees will have their own traits and pressue level
* Have various power systems to choose from
* Include disasters, employee disobey the law and got caught etc.
* And more...

But, I feel that game engine are more simple than programmimg from scratch, since my maths is just average. Also, I think that game engines will limit anything I can add.

Thanks.
A C++ programming beginner from Malaysia.
Advertisement
ngbeslhang,
Your question 1 is not a question. What's your question?
You should ask your question 2 in the Visual Arts forum, not here.
Good luck!

-- Tom Sloper -- sloperama.com

ngbeslhang,Your question 1 is not a question. What's your question?You should ask your question 2 in the Visual Arts forum, not here.Good luck!

1. What I mean is which one should I start?
2. Okay.
A C++ programming beginner from Malaysia.

If you're learning you shouldn't worry that an engine might limit what you can do. Most of the most popular engines where created without a particular game type in mind, so most of the times (almost 100% of the times for people that are learning) the engine won't limit you. If you reach a point where an engine is not enough, it probably won't happen with your first (or second? or third?) project, you'll need to know exactly what you want and what the engine is capable of, but you need experience for that.

It's faster to create a game with an engine, and even faster if you use a tool like Unity, with drag-and-drop, multiple windows with the world and the game, animator and sprites editor, etc, etc. Now, if you want to learn things like creating a light source from scratch and writing a shader that uses that light source then maybe the engine is not the best. You sound more focused on creating the game, so I suggest grabbing any popular engine with good documentation and tutorials and go with it.

I would advise skipping those two tutorials. One of them is 'random number generation' and the other one is 'sorting arrays.' Both of those are used pretty heavily in game programming.

If you are using an engine on the programming side, you MUST start with programming. Some engines have artist flexible tools that allow object and behavior creation through visual scripts, however, they usually do not provide the level of access needed for certain areas and tend to be limited in what they can achieve. You will need to get down and dirty in code. Plain and simple. Make sure you learn your basics and know those basics well.

As for question 2, this is the wrong forum. As Sloper said, ask in the art forum.

"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob

I would advise skipping those two tutorials. One of them is 'random number generation' and the other one is 'sorting arrays.' Both of those are used pretty heavily in game programming.

If you are using an engine on the programming side, you MUST start with programming. Some engines have artist flexible tools that allow object and behavior creation through visual scripts, however, they usually do not provide the level of access needed for certain areas and tend to be limited in what they can achieve. You will need to get down and dirty in code. Plain and simple. Make sure you learn your basics and know those basics well.

As for question 2, this is the wrong forum. As Sloper said, ask in the art forum.

1. So did you mean I should completely avoid them or?
2. Since I knew some basics of C++ (not OPP though) I think it's perhaps not a major problem.
3. I knew it already, will remove question 2 later.
A C++ programming beginner from Malaysia.

If you're learning you shouldn't worry that an engine might limit what you can do. Most of the most popular engines where created without a particular game type in mind, so most of the times (almost 100% of the times for people that are learning) the engine won't limit you. If you reach a point where an engine is not enough, it probably won't happen with your first (or second? or third?) project, you'll need to know exactly what you want and what the engine is capable of, but you need experience for that.

It's faster to create a game with an engine, and even faster if you use a tool like Unity, with drag-and-drop, multiple windows with the world and the game, animator and sprites editor, etc, etc. Now, if you want to learn things like creating a light source from scratch and writing a shader that uses that light source then maybe the engine is not the best. You sound more focused on creating the game, so I suggest grabbing any popular engine with good documentation and tutorials and go with it.

Since my first game will be isometric-based (2.5D?) I am not certain if most of the 2D game engines will support such view.
A C++ programming beginner from Malaysia.

I think isometric and 2.5D are different things.

Isometric view is a type of projection, while 2.5D is a term used for games that are created in 3D but there's one direction of movement that's limited in some way. Anyway, the 2.5D definition is not that strict, so it could lead to some unneccesary confusion ("but then is x-game 2.5D or 3D?").

You can have 2D, 2.5D or 3D isometric games and you can have 2.5D games that are not isometric. Diablo 1 is a 2D (it doesn't use polygons) isometric game and it has an isometric view, Pandemonium for PSX is considered a 2.5D game and it has a perspective projection.

So, you can achieve an isometric view with 2D engines, you'll need some more considerations (collisions, movement and drawing should consider tall objects in some way), but you can do it.

I would advise skipping those two tutorials. One of them is 'random number generation' and the other one is 'sorting arrays.' Both of those are used pretty heavily in game programming.

If you are using an engine on the programming side, you MUST start with programming. Some engines have artist flexible tools that allow object and behavior creation through visual scripts, however, they usually do not provide the level of access needed for certain areas and tend to be limited in what they can achieve. You will need to get down and dirty in code. Plain and simple. Make sure you learn your basics and know those basics well.

As for question 2, this is the wrong forum. As Sloper said, ask in the art forum.

1. So did you mean I should completely avoid them or?
2. Since I knew some basics of C++ (not OPP though) I think it's perhaps not a major problem.
3. I knew it already, will remove question 2 later.
1. I think that he meant to say you shouldnt skip them because they are heavily used in game programming. So, go back and watch them because you will be wanting to use them.
2. Specifically for a language as complicated as C++ is, just knowing some basics of C++ isn't really good enough to pass off having a satisfactory understanding. It may be boring but if you don't know exactly what you're doing then you're probably going to be writing ugly, inefficient code and most likely copy-pasting a lot of code that other people use but you don't really understand, which is never a good thing. So make sure you really have a solid understanding of C++ before you start into a serious project. It's fine to just mess around with creating simple games like a tic-tac-toe or pong clone as a way to help learn the language, but if you go into a large project without a really good understanding then you're setting yourself up for failure. I learned that the hard way.
Doh! Sorry, I typed that from my phone. Yes, DO NOT skip those.

"The code you write when you learn a new language is shit.
You either already know that and you are wise, or you don’t realize it for many years and you are an idiot. Either way, your learning code is objectively shit." - L. Spiro

"This is called programming. The art of typing shit into an editor/IDE is not programming, it's basically data entry. The part that makes a programmer a programmer is their problem solving skills." - Serapth

"The 'friend' relationship in c++ is the tightest coupling you can give two objects. Friends can reach out and touch your privates." - frob

This topic is closed to new replies.

Advertisement