Question:
Video game developement, C#, and Directx?
2006-11-21 11:48:09 UTC
I've been reading a bit on developing video games. What I want to do is over time for a personal project learn how to design and build my own PC video games. Is C# the best language to learn for doing this? Also is Directx a good way to go? The game(s) will only be for the PC. Any tips on where I can start would be appreciated. Thanks.
Eight answers:
Kryzchek
2006-11-21 14:32:49 UTC
I use C# and Managed DirectX 9 for creating video games.



True, the speed won't necessarily allow for high frame-rate 3D first-person shooters, but learning the basics, it can't be beat.



I'd suggest picking up a copy of "Managed DirectX 9 Kick Start" by Microsoft Press. Also, download the DirectX SDK from Microsoft.com



You may also want to look into the new Microsoft XNA framework. It's basically a melding of DirectX and the .NET framework to allow for easy X-Box game programming. You'll be able to run your games on your PC and on an X-Box 360.
kingrottenboy
2006-11-21 15:46:30 UTC
all the previous answers are good but... if you are thinking of making your own pc game by yourself I would recomend first try your hand at modding existing games with already built game engines. PC games today take crews of at least 20 people while a good mod of an existing game can be done with 3-5 or even 1 dedicated person. but starting from scratch. the problems with that is by the time you get your game engine going the technology will have already passed you by. Also the modding community for a well liked game is huge and you can get alot of advice and knowledge just on the message boards so if you hit a wall it won't be that hard to get over it. Plus if you make a real good mod than we (publisher) often have the ability to publish it. Even if your mod is not published it is something you can show a prospective employer if you are interested in working in the game industry. What game engine you use is up to you, I believe the orginial doom engine is free for anyone to use and publish for free. but if your goal is to make a complete finished pc game I would seriously consider working with an established game engine.
rohitchauhan802
2006-11-21 12:08:52 UTC
C# uses Manged directX , Managed means , basically , that garbage collection is carried out by the .net framework and bytecode is converted to Machine in realtime.

Well ,Curently , 99 % PC games ( or 100 maybe 100 %) are written in C++ and directX/OpenGL) , mainly because C++ compiles down to Machine code (more aptly Assembly) , and is lot faster than byte code compiled languages like Java and C#.MoreOver C++ is 3D industry standard.

But , its more of a myth now , as with JIT(Just In Time Compilation) , speed difference is negligible .



However , if you played "Da Vinci Code" 2006 ,it was written in C#.

DaVinciCode , for me , was as fast as say a C++ game like "Painkiller"



However , you will be better off using a Game-Engine (really good opensource and free(as in money) are available).But nearly every one of them is C++ or has a C++ backend.



So, to cut the long story short , try "Irrlicht"game engine . You can use it

with C++ or C# .Because learning directX/OpenGL requires lot of time and efforts. With Irrlicht you can really roll up a stupid game in 1 Month , but with directX , wait for eternity !!!



There is another game engine (library) called OGRE ,its more feature-rich

(features youll probaly never care for :) , but its mainly C++ only , though a working C# port exists(OGREdotnet).



You can find more info about game engines(libraries) on this link,

http://www.devmaster.net/engines/
groundbrandon
2006-11-21 15:28:55 UTC
I would start with vb.net then move to c#.net and eventually c++ if you want to get that advance people always say managed code will slow you down and give you bad results but they forget to inform you that the people who are using unmanaged codes are people who do it everyday non-stop and are so advance if you just focus on one language with managed code you can surpass in time completed project for example an game you build in c++ you can build the same game in C# in half the time and if you want even quicker than you go for VB which is the quickest programming game language using direct-x if your a newbie to programming and direct-x i would recommend Visual Basic Game Programming with DirectX by jonthan harbour I've actually told so many other peope abotu his book he also has a game programming for teens using vb.net as well for rpg game programming....if your interested in xna and using C#.net to program on the xbox 360 they don't use direct x check out Beginning C# Game Programming by ron penton if your really serious about C# but when it comes down to it the programming language doesn't really matter if your going to do windows game programming I would use VB and buy the book mention it goes in depth how it doesn't really matter that much if the code is managed or not and explains what it is and how it's really the power of the code when it comes down with it.....if you download the direct x 9 api you can see source codes of c++.net , c#.net , VB.net and if you complie them you will get all the same fps if you want........after xna project you should also download that as well because you can eventually port your windows games to xbox360 with only a few changes



under faqs here's my proof managed code doesn't matter link to the faqs below



Q: Isn’t managed code in the XNA Framework interpreted and therefore slow?

A: No, it is not interpreted. The IL is just-in-time (JIT) compiled into native code when it is initially loaded by a process, prior to execution. This allows hardware-specific optimizations unique to the PC and Xbox 360 architectures.





hope that helps your anwser
BigBadWolf
2006-11-21 12:22:21 UTC
Before you set your heart on C sharp let me ask you to check out these two links

the first is for blender 3D

Blender is the open source software for 3D modeling, animation, rendering, post-production, interactive creation and playback.Game engine Available for all major operating systems under the GNU General Public License. Meaning it's free!

http://www.blender.org/cms/Home.2.0.html

The other is here

Game Engine & physics for blender

http://www.blender3d.org/cms/Game_Engine___physics.756.0.html

Theres a lot of great tuts and support fourms all free...

now why I say go with blender is by no means simple to learn

you'll be with a very large number of people who daly share tips tricks and some will help debug...I think thats better than being on your own with C sharp

dont take my word for it go to the blender site and click some links....
2006-11-21 11:58:32 UTC
I would go with c++. C# is hard to make a game in. And you could use direct X or OpenGL.

I would suggest starting out with something small, like a tetris clone, work your way up.
2016-03-29 08:28:54 UTC
The AS/400 is an IBM midrange computer (a small step down from a mainframe). It is not a complier. They are probably referring to C++ on an AS/400.
chemicalimbalance000
2006-11-21 20:52:48 UTC
C# or C++ is probably your best bet for languages.

DirectX or OpenGL are the best APIs to use.



http://nexe.gamdev.net for DirectX tutorials.

http://nehe.gamedev.net for OpenGL tutorials.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...