Advertisement

Where to start is the question? // Pc Game developing.

Started by January 03, 2018 08:49 PM
14 comments, last by desiado 6 years, 10 months ago

@TwelveDays it would help if you described the game idea you have a little bit. I mean, don't give away all of your ideas, but at least say what genre, and whether it's 2D or 3D.  Who knows, you might be better off learning Python or JavaScript than C++/C#.

But, since you mentioned that you're learning C before learning C++, don't bother, because that's a waste of time (echoing what @0r0d said).  If you're going with a C language, start with C++ (you're not going to "miss" anything by "skipping C" -- that's not how C++ was designed).

Regardless of whatever language/toolkit you end up choosing, you're going to have to practice by making games.  No amount of reading books will prepare you for making games like making games will.

“Where to start” is a great question - and there have been some great answers which I wholeheartedly agree with. Especially about starting small! I know the temptation is to go all-in with all guns blazing but that'll lead to nowhere but frustration. I strongly recommend that you really understand how something like Space Invaders or any other 2D arcade game with sprites works. Then you will understand how thousands of games work! 

I reckon C with K&R is great and well worth the read (and re-read).  OpenGL is written is C, SDL is written in C, GLSL is "C like", we have C++, C#, Objective-C ...  You can do C++ without first learning C but I'm glad I did C first. At least I understand what has no become some sort of secret - memory is not infinite and must be managed. The memory fairies won't be able to sprinkle fairy dust and make all the problems go way.

Chances of going astray with C are pretty low. You could then get SDL which is an OpenGL library and learn the examples it comes with like fireworks.c - then modify and build from there.

Or you could start with Lua - a C like language which is used a fair bit in the gaming industry. If C++ is king then Lua might be a prince? There are many engines like Corona Labs which run Lua. The App Store must have thousands upon thousands of games built with it. You can find many small game examples to get you started.

C++ ? Hmm, I fear you might get distracted and roam around the wilderness a few years! It is a big language used in so many different ways in so many different arenas - it does not all translate well to game programming! Often the opposite of what you need!.

I am not rubbishing the "GOF" Pattern Book, it has some deep insights and knowledge. But evidently too deep for most people:

It says "favor object composition over class inheritance" (page 20), but what does the world do? The exact opposite! Deep and wide hierachies everywhere. This is only completely different, 180 degree, PI over 2, boolean negation operator, opposite! Went left - should've gone right. WOW. 

And then there's STL, Boost, Templates, Multiple Inheritance and whatever else. Again these are not without merit (STL and Boost saved C++ IMHO) but for gaming they can all be a big problem - falling into a pit or three is almost assured. 

Anyway I reckon finish C with K&R and either get SDL and examples which run with SDL. Or go to LUA. Either way learn what a game loop is ... Once you understand games and have built a few small ones then you might go to C++ - at least then you will be anchored on what is necessary for gaming.

 

 

 

 

 

Advertisement

It actually depends on what skills you currently have. These don't even need to be technical.

Find out what you can do well, and what you are trying to achieve. You will obviously have a gap, which you fill by either learning what you're missing or finding others that can help you bridge it.

I would suggest you jump into any game development team in whatever role you can do NOW. You will get exposed to the actual process of building a game (regardless of whether that particular team is doing a good job or not), understand what's involved, and possibly find out the areas of interest you want to grow in. Then you start making an effort to grow there.

You don't have to be doing a lot in your first project, you can join a team as a writer, producer, artist, or even a tester. Just get involved and participate. Almost every team will benefit from a passionate member that's willing to put in the effort.

If you want to just start designing games yourself, then I would recommend Clickteam Fusion as a great starting point.

Check out War to the Core the world domination space MOBA-RTS hybrid.
Join us on Discord.
Into sci-fi novels? Then check out Spectral Legends.

On 1/4/2018 at 5:17 AM, Lactose said:

Download Unity, Unreal or GameMaker. GameMaker is really only relevant if you're making 2D games, I believe, while both Unity and Unreal will work for either 2D or 3D games.

I am really agree what he said. You can download Unity, Unreal or GameMaker. GameMaker is really the best way to learn it.

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

Great advice in this thread, OP -So I assume you are mostly focused on the coding side of making game. Few extra words here if I may.  

On ‎04‎/‎01‎/‎2018 at 12:24 AM, TwelveDays said:

i personally think that small projects are the wrong way to go.

Are you sure?... you did say that you can't program yet but want to become a programmer? I don't know what your current game idea is, but it's probably too big if you're a total beginner.  No one starts by making their dream game, or anything near it.

-Start by making something small, really really small! and complete it. Learning to complete a game is something you want to learn early on. Even if it's a simple text only based game. Start small.

-Make lots of simple games.

On ‎06‎/‎01‎/‎2018 at 8:25 AM, AlexKay said:

I strongly recommend that you really understand how something like Space Invaders or any other 2D arcade game with sprites works

-As mentioned, work your way up to making a clone of a simple old 2d arcade game from the 70's or 80's and don't expect these early games you make to be publishable.  

-I recommend a simple programming language, It doesn't have to be c++, but no problem if it is. 

-Reading books will only get you so far (not very in my experience).  You have to be coding, and lots of it, and be in the zone in trying to make it work.  This is how you remember and learn. 

-Saying that, do study the source code of other people wring simple games. Get their code and build their game, modify and play around with it.

-You don't need a powerful computer or powerful tools to start making simple games. 

Hope this of help

This topic is closed to new replies.

Advertisement