What's next after knowing how to program?

Started by
15 comments, last by yellowsputnik 8 years, 11 months ago

what are the C++ libraries that I would (eventually) need?


Start doing what you're going to do, and when you find a need for a library, ask about what options are available and how they compare. A lot of libs are in active development, and things can shift quickly if a new lib shows up and solves an old problem. If you sit around collecting everything then by the time you're ready to make use of it, you'll find that it's all become deprecated.

void hurrrrrrrr() {__asm sub [ebp+4],5;}

There are ten kinds of people in this world: those who understand binary and those who don't.
Advertisement

That is the fact. I want to create games without using an engine

Those libraries offer a middle ground, between using an overcomplicated engine (which takes long to learn all the bells and whistles, as its made for professionals who after learning it once can churn out a number of less innovative games) and writing everything from scratch (for training yourself on tiny things and professionals doing bleeding edge games).

The clever way is to find some nice premade libraries, which already do most of the time-consuming low-level things (which get often cited as a reason for using an engine) and only writing the highlevel code for the game loop and connecting the different premade parts (libraries) into a whole. Though, there are also pitfalls, like using badly designed or coded libraries or extra code from converting data back and forth for each library to understand it. It also takes time to find and evaluate all different libraries for each use.

Be wary of frameworks, as they could be a the opposite of a library (where the overall structure is given and you have to fill in many of the details) or just a misnamed library (cause some think framework sounds more fancy).

"Pick an engine" ..

I agree, but there are many engines you can pick.

Everything but the kitchen-sink engines or dedicated engines that does a subset of what you need. SFML, GLFW and SDL fall into that latter category.

And I think they are a good choice when you are starting out.

Writing an engine from scratch sounds daunting, but - contrary to what you might think - all it is is you choosing what you want from a large pool of specialized game programming libraries: rendering, input, physics, imageloading,..

You decide!

The problem doesn't lie in how to program at a low level, but how to get those libraries to coexist and writing code that glue them together.

Then you can decide to write a game engine or an engine for a game.

The last option is IMO always the best option. ;)

Unreal Engine started out that way. Id Tech started out that way. Source engine as well.

In fact, I don't think any engine worth using hasn't been used to create at least a couple of games before being mature for wider use.

Engine development is incremental. Especially for indies, because we don't have an army of coders to create tools, etc.

Too many projects; too much time

This is indeed what I want to do, create an engine for a game. I'm starting with some SFML tutorial, hoping to succeed at getting into it.
I am not completely sure about what book should I buy, that Game Engine book looks really appealing.

I got quite some useful information from Game Coding Complete (4th edition). It's also fairly fun to read.

I'm reading Game Engine Architecture atm. It seems like it's more of an overview book to me. That's not necessarily bad, but it might have been more useful to me if I had read it earlier.

Introduction To Game Development (2nd edition) was also quite good, more details than Game Engine Architecture, a lot of information.

 

Looking at GCC, it looks great. However it uses DirectX, and I want to use something multiplatform (right now I'm using OS X), can I use it anyway or is it specifically for DirectX?

I ignored the DX parts, I used SDL myself. It was just a very simple 2D game, however.

It was very useful to me because I struggled with some concepts regarding the game loop, multiplayer games and other stuff that I can't remember at the moment. Even outside of game programming it pointed me to some tools I now use in my job as a programmer.

It's also not as thick a book as the other two I read (am reading), I think that was good for me at that point. Too much information might've overwhelmed me.

I think all three books will help you out, I preferred GCC but that's because I read it at the right time. Now I'm reading books (and websites etc) mostly to learn new things as I had stopped learning and lost my passion for programming a bit the last 10 years.

 

This topic is closed to new replies.

Advertisement