Sign in to follow this  
Small programmer

Why should I learn an API

Recommended Posts

I'm sorry if this question was repeated too much , But I searched a lot and couldn't find an answer
Does it required to lean an API to get a work ?
and why I should learn an API like DirectX ?
if I didn't learn such API can I get a work as a gameplay , AI programmer ? .
If I should learn it , what's required level that should I rich ?
I'm waiting for your answers .

Share this post


Link to post
Share on other sites
Antheus    2409
Programming languages do very mundane tasks. They can add or subtract numbers. And that's it. It is impossible to use just a programming language to do anything useful.

Everything else, such as accessing a keyboard, a mouse or a screen is provided by operating system.

Since many devices are similar, drivers were invented. But drivers are hard to work with and they only do boring stuff. They read and write bits.

So people developed libraries. Libraries sit between the application and drivers and make it easy to do useful stuff. Instead of setting bits, you say DrawARectangle.

Over time, standard, brand name or vendor specific APIs appeared. DirectX is one of them. .Net is another. Java Standard Library is third. STL became standard library for C++. jQuery makes writing web pages simple. Ruby on Rails makes developing business apps simple.

All of these are, in practical sense, are APIs.

Quote:
if I didn't learn such API can I get a work as a gameplay , AI programmer ? .
No. The only thing you can do without knowing the required APIs is theoretical computer science. And even that only at most basic level.

Quote:
Does it required to lean an API to get a work ?
Yes. Each job lists a specific set of APIs.

Quote:
why I should learn an API like DirectX ?
Because this is one of the industry standards.

Quote:
If I should learn it , what's required level that should I rich ?
To get a job - *paid experience*. This means having used certain API at previous jobs. With no past experience, internships or certifications may help.

Share this post


Link to post
Share on other sites
Hello Antheus

thanks for your answer.
But you seem that you didn't understand my question , I meant that despite of learning API , I would learn Game Engines like XNA , Unity , Unreal etc..

So if I can work on this engines why should I learn an API like directx ?

Share this post


Link to post
Share on other sites
Ravyne    14300
Its not usually necessary to know a given API any more than your day-to-day duties require. If you want to become a gameplay programmer working with, say, the unreal engine, then you need to know the parts of the Unreal engine (or the framework your studio has built on top of it) that you come into contact with each day. A game engine is an API as well -- API stands for Application Programming Interface -- Even a single, free-standing function comprises an API when it is consumed by another party, or even some other function in the same project. APIs are everywhere, so you can't avoid learning them.

As for DirectX or OpenGL or similar APIs, it would be beneficial to know at least a little bit about them, specifically, as well as having a thorough understanding of the concepts behind them -- Even a gameplay programmer should know about 3D transformations using Matrices and Vectors, vector spaces, and the classic 3D pipeline, but its not required that you have intimate knowledge of every function, data type and class method. Even programmers' whose job it is to work with those APIs every day probably don't know the entire thing by heart, most of them probably know the 20% (they may touch more or less every day, but very few work with the entire API frequently) or so that they touch every day and look the rest up.

Share this post


Link to post
Share on other sites
NickGravelyn    855
FWIW XNA (as in the XNA Framework) isn't really a game engine comparable to Unity or UDK. There is no world editor or anything. XNA Framework is a set of managed APIs built on DirectX and some other technologies to make game development in C# faster and easier.

If you're trying to avoid learning a large API and doing a ton of coding yourself, I'd suggest grabbing the free version of Unity and giving it a try. You'll still be doing some scripting (which will require you learn some of the Unity scripting APIs), but most of your work can be accomplished with their UI tools.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this