DirectX

Whether you're a newbie or an experienced programmer, any questions, help, or just talk of any language will be welcomed here.

Moderator: Coders of Rage

Post Reply
deathsangel
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 30
Joined: Sat Apr 18, 2009 8:17 pm

DirectX

Post 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?
Thanks to gyro vorbis for inspiring me to learn how to make a 2d graphics engine :)
User avatar
thejahooli
Chaos Rift Junior
Chaos Rift Junior
Posts: 265
Joined: Fri Feb 20, 2009 7:45 pm
Location: London, England

Re: DirectX

Post 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.
I'll make your software hardware.
User avatar
hellknight
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 37
Joined: Fri Apr 24, 2009 2:54 am
Current Project: Non
Favorite Gaming Platforms: Pc, NES, PS1, PS2, xBOX
Programming Language of Choice: c,c++,c#,JS, haskell
Location: India

Re: DirectX

Post 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).
Dont Mind the typos...i m too lazy to correct them. :P
CC Ricers
Chaos Rift Regular
Chaos Rift Regular
Posts: 120
Joined: Sat Jan 24, 2009 1:36 am
Location: Chicago, IL

Re: DirectX

Post 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.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: DirectX

Post 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/++.
User avatar
wtetzner
Chaos Rift Regular
Chaos Rift Regular
Posts: 159
Joined: Wed Feb 18, 2009 6:43 pm
Current Project: waterbear, GBA game + editor
Favorite Gaming Platforms: Game Boy Advance
Programming Language of Choice: OCaml
Location: TX
Contact:

Re: DirectX

Post 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.
The novice realizes that the difference between code and data is trivial. The expert realizes that all code is data. And the true master realizes that all data is code.
User avatar
Falco Girgis
Elysian Shadows Team
Elysian Shadows Team
Posts: 10294
Joined: Thu May 20, 2004 2:04 pm
Current Project: Elysian Shadows
Favorite Gaming Platforms: Dreamcast, SNES, NES
Programming Language of Choice: C/++
Location: Studio Vorbis, AL
Contact:

Re: DirectX

Post 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.
User avatar
hellknight
Chaos Rift Newbie
Chaos Rift Newbie
Posts: 37
Joined: Fri Apr 24, 2009 2:54 am
Current Project: Non
Favorite Gaming Platforms: Pc, NES, PS1, PS2, xBOX
Programming Language of Choice: c,c++,c#,JS, haskell
Location: India

Re: DirectX

Post 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)
Dont Mind the typos...i m too lazy to correct them. :P
User avatar
Netwatcher
Chaos Rift Junior
Chaos Rift Junior
Posts: 378
Joined: Sun Jun 07, 2009 2:49 am
Current Project: The Awesome Game (Actual title)
Favorite Gaming Platforms: Cabbage, Ground beef
Programming Language of Choice: C++
Location: Rehovot, Israel

Re: DirectX

Post 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:
Last edited by Netwatcher on Tue Jun 09, 2009 1:25 am, edited 2 times in total.
User avatar
Trask
ES Beta Backer
ES Beta Backer
Posts: 738
Joined: Wed Oct 29, 2008 8:17 pm
Current Project: Building a 2D Engine
Favorite Gaming Platforms: Sega Genesis and Xbox 360
Programming Language of Choice: C/C++
Location: Pittsburgh, PA
Contact:

Re: DirectX

Post 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.
MarauderIIC wrote:You know those people that are like "CHECK IT OUT I just made Linux run on this piece of celery [or other random object]!!"? Yeah, that's Falco, but with ES.
Dear god, they actually ported ES to a piece of celery!
Martin Golding wrote: "Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live."
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: DirectX

Post 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?
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
Netwatcher
Chaos Rift Junior
Chaos Rift Junior
Posts: 378
Joined: Sun Jun 07, 2009 2:49 am
Current Project: The Awesome Game (Actual title)
Favorite Gaming Platforms: Cabbage, Ground beef
Programming Language of Choice: C++
Location: Rehovot, Israel

Re: DirectX

Post 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;
"Programmers are the Gods of their tiny worlds. They create something out of nothing. In their command-line universe, they say when it’s sunny and when it rains. And the tiny universe complies."
-Derek Powazek, http://powazek.com/posts/1655

blip.fm DJ profile - http://blip.fm/Noobay
current code project http://sourceforge.net/projects/vulcanengine/
User avatar
MarauderIIC
Respected Programmer
Respected Programmer
Posts: 3406
Joined: Sat Jul 10, 2004 3:05 pm
Location: Maryland, USA

Re: DirectX

Post 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
I realized the moment I fell into the fissure that the book would not be destroyed as I had planned.
User avatar
Netwatcher
Chaos Rift Junior
Chaos Rift Junior
Posts: 378
Joined: Sun Jun 07, 2009 2:49 am
Current Project: The Awesome Game (Actual title)
Favorite Gaming Platforms: Cabbage, Ground beef
Programming Language of Choice: C++
Location: Rehovot, Israel

Re: DirectX

Post 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.
"Programmers are the Gods of their tiny worlds. They create something out of nothing. In their command-line universe, they say when it’s sunny and when it rains. And the tiny universe complies."
-Derek Powazek, http://powazek.com/posts/1655

blip.fm DJ profile - http://blip.fm/Noobay
current code project http://sourceforge.net/projects/vulcanengine/
Post Reply