Page 1 of 1

DirectX

Posted: Sat May 09, 2009 10:10 am
by deathsangel
Hey I some questions about DirectX.
1) Can you get a job knowing something like SlimDX or XNA
2) Can you get a job using c#, or is c++ the only way to get a job in graphics?
3) Which DirectX version should I use? 9, 10, or 11?

Re: DirectX

Posted: Sat May 09, 2009 11:18 am
by thejahooli
I don't know much as I'm only 12 so I'm not really thinking about a job. But I'll answer as much as I know from other people.
1. I don't know what SlimDX is but I think you can probably get a job using XNA for XBox development but DirectX is the norm for Windows.
2. C# is getting more widely used so I think that it will help you. But again, C++ is the main language used at the moment.
3. I'm an SDL person so I don't know but I would guess that you should use the latest version.

Re: DirectX

Posted: Sat May 09, 2009 11:59 am
by hellknight
i m not a pro,but XNA is Microsoft technology,and which means that u will be stuck with windows,(unless u port the Directx code to other OS etc.).On the brighter side most people use windows.(But time is changing..lol).3rd too much readymade stuff means low learning(specially of low lvl stuff.....but who cares....:P).....As far as job is concerned if u r good u will get job,doesnt matter u know XNA or directX or OpenGL etc. as far as c++ and c# is concerned I find them similar, c# is much clean but c++ is the standard. c# code is more like bounded to win api /.net framework. (and i m not sure wheither that sharpGL (openGL clone for c#) is being countinued anymore).there r 2 basic standards Directx and openGL,and eventually u will have to choose one...lol....(i tried learning both and it becomes messy at times.)

(P.S. like i said i m not a pro,these r just my thought and i could easily be wrong at times.. :D).

Re: DirectX

Posted: Sat May 09, 2009 5:09 pm
by CC Ricers
1. XNA is a quick ticket to making games so you'd be able to add games to your portfolio quicker. Getting a job through a good portfolio is the best way. The downside to XNA is not having lower level access to the graphics and input. SlimDX is becoming a replacement for Managed DX. Since I don't use C# I don't use SlimDX but I do know it's more flexible than XNA.
2. I'm not entirely sure about graphics programming but since a lot of optimization is focused on this part, C++ would be beneficial to know.
3. Stick with 9 for the moment. The Windows XP and Vista camps are still very divided, and XP hasn't been dropping real quickly in use. Older graphics cards won't support anything past DirectX 9 (for Nvidia this is the 6800 and below). DX 10 and 11 is good if you want to keep up to date with technology.

Re: DirectX

Posted: Thu May 14, 2009 9:46 am
by Falco Girgis
If you want to get into the industry, C++ is not a plus--it's a must-have. You would be better off knowing lower level C and C++ than C#, if your only goal is to get into the industry (rather than releasing a game).

Sure, XNA is all the rage for indie developers these days, but actual development studios aren't going to be using anything but straight C/++.

Re: DirectX

Posted: Thu May 14, 2009 9:57 am
by wtetzner
GyroVorbis wrote:but actual development studios aren't going to be using anything but straight C/++.
Most of them, but if you get lucky, you might get to use Lisp :) http://www.gamasutra.com/features/20020710/white_02.htm.
Naughty Dog wrote:Lisp has a very consistent, small set of syntactic rules involving the construction and evaluation of lists. Lists that represent code are executed by evaluating the items that are in the list; if the head of the list is a function (or some other action), you could think of the other items in the list as being the parameters to that function. This simplicity of the Lisp syntax makes it trivial to create powerful macros that would be difficult or impossible to implement using C++.

Writing macros, however, is not enough justification for writing a compiler; there were features we felt we couldn't achieve without a custom compiler. GOAL code, for example, can be executed at a listener prompt while the game is running. Not only can numbers be viewed and tweaked, code itself can be compiled and downloaded without interrupting or restarting the game. This allowed the rapid tuning and debugging, since the effects of modifying functions and data structures could be viewed instantaneously.

Re: DirectX

Posted: Thu May 14, 2009 10:03 am
by Falco Girgis
Ah, that article is so familiar.

It's actually what motivated me to design our in-game Lua debug prompt. Naughty Dog is, and always has been, a bunch of badasses as far as coding is concerned.

Re: DirectX

Posted: Thu May 14, 2009 11:19 am
by hellknight
after banging my head agent wall..(when i was using directX with VC++ 6 some years ago,when managed directx was nowhere to be seen and .net was just developing... :P )....turned out directX was not easy to learn..(specially when u r almost all "alone",noone can help you and u use some stupid book for directX....)...after that i got a good openGL book to get me started..(using glut..ofcourse). i wont say that directX is bad,its just that its learning curve is really hard.

(P.S. "I really wanna thank falco for mativating me to "again" jump into game development". :P)

Re: DirectX

Posted: Tue Jun 09, 2009 12:05 am
by Netwatcher
Using " Microsoft-only" technologies, is really not what it sounds like, there are more Windows users then any other OS, you can use it for PC and Xbox games (can work on most unix-like OSs with WINE) and is just widely used.
The language, for that matter, only matters for the scale of the game, and you can even bypass that by using advanced programming techniques!
(note:76% of released games are made using C++, mostly because C# is not as used in programming-relatd eduction as C++)
Between which version of DX you should use, i suggest DX 9, from DX 8 to nine there was maybe 1 important improvement, and 10 to 11's improvements are mostly involved in shaders, and more 3D-related issued.
So if you are going to learn DX, go to 8 or 9 , get the basics, and when ur ready go to 10 or 11.(I'm 99.9% sure that the functions and interface are about the same, only with a few additions/changes in the extremely-boring-3D/shaders stuff)
(note: DirectX is not-so-easy to learn and a pain in the arse to master, a Giant-Fun-Pain-in-the-Arse though)
I'm using DX 9 anyway :roll:

(And...(umm....(i(guess))(LISP(is(kind(of(easy(to(understand)))))))) :lol:

Re: DirectX

Posted: Tue Jun 09, 2009 12:14 am
by Trask
What version of what really doesn't matter, out of entry level programmers they want to see what you can get accomplished by yourself and in a team environment. If you make a plan or set up goals in any DirectX version and work towards those goals and learn and have something to show for it, it will go along way. Update DirectX's bring about different function names, new features, etc... lots that are more advanced then it sounds like you need to worry about right now. Not to mention that once you get into the industry, chances are you'd be using an engine or toolset already created by the company for the company, so you'd be better off just getting familiar with the basics so that you can read the code.

I am currently using DirectX 9 for my current project, willing to help with what I can for you. Keep in mind DirectX 9.0c is the latest version that XP goes up to, Vista brought about 10, so that may help influence your decision.

Re: DirectX

Posted: Tue Jun 09, 2009 8:02 pm
by MarauderIIC
Netwatcher wrote:(note:76% of released games are made using C++, mostly because C# is not as used in programming-relatd eduction as C++)
I wonder how you came up with this statistic?

Re: DirectX

Posted: Wed Jun 10, 2009 10:30 pm
by Netwatcher
The statistics is not 100% accurate...

Here is a little list of games made with C++.

Bjarne Stroustrup;
"Games: Doom III engine. Sierra On-line: Birthright, Hellfire, Football Pro, Bullrider I & II, Trophy Bear, Kings Quest, Antara, Hoyle Card games suite, SWAT, and too many others to list... Blizzard: StarCraft, StarCraft: Brood War, Diablo I, Diablo II: Lord of Destruction, Warcraft III, World of Warcraft. Quicksilver: Shanghai Second Dynasty, Shanghai Mah Jongg Essentials, Starfleet Command, Invictus, PBS's Heritage: Civilization and the Jews, Master of Orion III, CS-XII. Microsoft: all games. EA: video game engine. Byond: a "world" development platform.."
*note: "All Microsoft games" includes Halo

Guild Wars,Crysis, Quake, GameMaker(including Game Maker language) and many, many more.


If I'm not completely accurate about the quantity(which I approximately am, sorry for not having a base for the exact percentage) , then at least notice the quality. :lol:

C++ is more used in the courses people need to take in order to get a job in the industry (it is higher-level assembly, lol :lol: ). hence, more people in the industry use C++(you can say stuff about Java,but it's game-programming aspect is still evolving).

Case=closed; class::dismissed;

Re: DirectX

Posted: Thu Jun 11, 2009 12:49 pm
by MarauderIIC
Netwatcher wrote:The statistics is not 100% accurate...

Here is a little list of games made with C++.
I know what C++ is. My point was that how do you know this is 76% of all games out there? Did you take into account all of the little games I've made? I bet not. It's obviously a number you pulled out of your butt - that's what I was getting on your back about. Perhaps saying something like "many high quality games are made with C++" would have been more... respectable.

:P

Re: DirectX

Posted: Thu Jun 11, 2009 2:57 pm
by Netwatcher
MarauderIIC wrote:
Netwatcher wrote:The statistics is not 100% accurate...

Here is a little list of games made with C++.
I know what C++ is. My point was that how do you know this is 76% of all games out there? Did you take into account all of the little games I've made? I bet not. It's obviously a number you pulled out of your butt - that's what I was getting on your back about. Perhaps saying something like "many high quality games are made with C++" would have been more... respectable.
Netwatcher the awesome wrote:...76% of released games...
:P
[/quote]

Meant retail games.