Game Development Stack Exchange is a question and answer site for professional and independent game developers. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

One can not simply just write some code and competently believe they know how their little MAIN.exe is getting executed underneath the exposed API functions.

I want to know deeper on how my games are running under the APIs; I want to know how the kernel gets everything going to get my game working, and I want full assurance that everything I code is working with my knowledge of bloat ware.

How can one simply just "write a game with SDL, compile, link, run, i.e., F9" without wondering the abstracted reality of your game's execution?

I know terms in regards to low-level programming, such as without an OS, but the OS makes it even more complicated than just with a bare machine, since there's so many endless modules, programs, and kernel work done that most people have no 100% idea or clue of.

share|improve this question

closed as primarily opinion-based by Sean Middleditch, Byte56 Jul 5 '13 at 22:14

Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise.If this question can be reworded to fit the rules in the help center, please edit the question.

Is there an actual question here? – Brendan Webster Jul 5 '13 at 21:46
also, off-topic and not really just about games – Sean Middleditch Jul 5 '13 at 21:48
Btw, API is just the first turtle. Then it's standard library, system calls, kernel, drivers, microcode... Turtles all the way down. – drxzcl Jul 5 '13 at 21:51
I like turtles :P – Brendan Webster Jul 5 '13 at 21:54
Abstractions are just that! The kernel developers write their kernel, the graphics vendors write their OpenGL implementation, and the game developers write their games with this implementation, they compile and link. The whole idea behind all this is so graphics vendors don't have to worry about linux init and process scheduling (at least I don't think so), and game developers don't have to worry about their OpenGL implementation. As much as it would be great if everyone knew everything, it will not happen. - Just a few thoughts! – Luke San Antonio Jul 5 '13 at 21:55

"How can one simply just "write a game with SDL, compile, link, run, i.e., F9" without wondering the abstracted reality of your game's execution?"

Simple I do it all the time...

"Why should I write a computer program if I don't know exactly how the program gets run in its entirety?"

You would need to write a computer program in order to learn how it gets run in its entirety. Maybe you could create an OS, then make a game using your OS, that would teach you an awful lot about how your program gets ran in it's entirety

Oh, wait but to understand everything you may want to make the computer from scratch too

share|improve this answer
Good answer to a dubious question.. – Grimshaw Jul 5 '13 at 22:44

You certainly can just write all your code in machine code and totally understand and control everything. However, it will only run on the one specific hardware setup you developed it for. This is why we abstract things. So we can do our thing, and have the hardware vendors control the details

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.