[QUOTE=Darwin226;20973333]Hey guys, if you wanted to make a professional game in C# what library/framework (I don't know the terminology) would you us. Because I think XNA is good but it's not really for professional development.
What is the best IDE for developing games in C++ using DirectX and can it be done in Visual Studio?[/QUOTE]
With these kinds of questions you're not going to be developing a professional game (or any game for that matter) with C++ and directx for years. C# with XNA is a good option for beginners (and even experienced users). Lets you focus on writing the game and even gives you a portal to sell your game on extremely easily, what more can you ask?
you're making it sound harder than it really is. Even a dumbass like me can make a game in C++ using directx.
[QUOTE=layla;20973528]you're making it sound harder than it really is. Even a dumbass like me can make a game in C++ using directx.[/QUOTE]
[QUOTE=Darwin226;20973333]Hey guys, if you wanted to make a professional game in C# what library/framework (I don't know the terminology) would you us. Because I think XNA is good but it's not really for [B]professional development.[/B]
What is the best IDE for developing games in C++ using DirectX and can it be done in Visual Studio?[/QUOTE]
[QUOTE=r4nk_;20973426]With these kinds of questions you're not going to be developing a professional game [b](or any game for that matter)[/b] with C++ and directx for years. C# with XNA is a good option for beginners (and even experienced users). Lets you focus on writing the game and even gives you a portal to sell your game on extremely easily, what more can you ask?[/QUOTE]
Well, you misunderstood me.
I didn't mean professional by the fact that you make money from them, I meant professional by quality.
Currently I'm too young and don't really have desire to sell my games but I'd like to know where to start so one day I won't play Crysis or something and wonder "How is this made?"
I presume that most of the modern games are made in DirectX, meaning C++, so I asked for the best IDE.
I was really hoping to develop games in C# using DirectX, but DirectX in C# is no longer supported...
If you're looking purely for the best IDE in existence, you'd choose well if you went for Visual Studio.
[QUOTE=Darwin226;20974020]Well, you misunderstood me.
I didn't mean professional by the fact that you make money from them, I meant professional by quality.
Currently I'm too young and don't really have desire to sell my games but I'd like to know where to start so one day I won't play Crysis or something and wonder "How is this made?"
I presume that most of the modern games are made in DirectX, meaning C++, so I asked for the best IDE.
I was really hoping to develop games in C# using DirectX, but DirectX in C# is no longer supported...[/QUOTE]
XNA provides a nice interface to DirectX on top of C#. Seriously, there is nothing in XNA that will limit the quality of your games.
If you want something a bit more fully featured, an engine like Unity can support C#, and I think there are a few others if you have a poke round google, although it seems you'd rather write it youself.
Seriously, afaik XNA is the de-facto way to access DirectX from C#.
[QUOTE=layla;20967835]You seem to have not read past the first line on that wiki article.
Game engines provide a suite of visual development tools in addition to reusable software components.
You don't have to go developing a whole game engine that does everything possible, usually what comes out of making a game is a good framework you could use for other games. I just think it's childish to tag the word onto everything possible.
'An OBJ parser, a resource manager, and some rendering' can also be used for modelling software, would you call that a game engine too?
Not sure why you want to argue about a word so much though. Use it all you want, I just think It's silly.
[editline]03:08AM[/editline]
That's all I've got to say so I won't shit this thread up any more.[/QUOTE]
If that modelling software was also made to be used as middleware in creating a game yes. I like how you say you're not sure why i want to argue about a word so much but yet you were just doing that same thing.
[QUOTE=TheBoff;20975222]XNA provides a nice interface to DirectX on top of C#. Seriously, there is nothing in XNA that will limit the quality of your games.
If you want something a bit more fully featured, an engine like Unity can support C#, and I think there are a few others if you have a poke round google, although it seems you'd rather write it youself.
Seriously, afaik XNA is the de-facto way to access DirectX from C#.[/QUOTE]
Thanks. Tell me, do I lose any performance due to the fact that there is another framework in the way before my code actually reaches the hardware?
As I see it it goes like this: My code >> XNA >> .NET >> DirectX >> Assembly >> Hardware
Am I right?
[QUOTE=Darwin226;20979909]Thanks. Tell me, do I lose any performance due to the fact that there is another framework in the way before my code actually reaches the hardware?
As I see it it goes like this: My code >> XNA >> .NET >> DirectX >> Assembly >> Hardware
Am I right?[/QUOTE]
Erm, not really.
With .NET it sort of goes:
[code]
|<-- XNA <-- DirectX <-- Machine Code <-- Hardware
Your Code <--|<-- .NET Framework
^
|
.NET IL (Intermediate Language - you may want to look this up a bit)
^
|
JIT Compiled Machine Code
^
|
Hardware
[/code]
Technically all of the .NET framework gets JITed, included XNA: XNA just calls on DirectX.
I doubt there will be that much of slow down, honestly. Most of it will come from using C# which is JITed, rather than "properly" compiled: I wouldn't get too worked up about having one extra layer of abstraction, frankly. Write stuff in C#, until you get to the point that performance really becomes a problem.
Well, me and my friend who only started programing about a year and a half ago wanted to make some games (I made some games before in Flash, some pretty advanced ones too) and he said, let's do it in sharp.
Not 2 days passed as we learned XNA he already started complaining that it's too hard, he doesn't understand what static or public means, it's this dot that, nag nag nag.
Now he got the idea (from some random guy he met) that we should do it in C++ with DirectX since he programed in C++ and thinks it will be easier to understand.
I tried to explain that console apps done in C++ are nowhere near as complicated as making a game in C++ and that C# is actually considered easier.
He simply doesn't want to listen so I'll do some c++ with him until he understands that this is the same thing if not harder and we can switch to more modern languages.
I don't really know why I told you all that... oh well...
Hahha, It's good to vent!
If I were you, I'd get a book on learning C#/C++ out of the library. Show him how big it is, and say "And this is just to make console applications!".
I think C#/XNA is easier than C++/DirectX.
I would say too that Python/Pyglet is easier than C#/XNA, especially for beginners to programming, coming from something like flash: python is a much simpler language, and is much more akin to actionscript than C# is.
I think C++/DirectX is piss easy. So if you're saying C#/XNA is 'easier' then I can't wait to mess with that.
Yeah, I think so. There are quite a few nice abstractions that I don't think you get in DirectX. I'm not sure it's a whole lot easier for 3D though.
Plus I find C# nicer to work in than C++.
I made the last post less blunt, and more clear it's an opinion though, if that's what you're hinting at. :D
Well, I never said that C# was hard for me, it's hard for him and he thinks that doing it in C++ will make it easier.
I learned OOP in AS3, but I think he jumped into that whole thing a bit too fast. He should be making little classes and experimenting with statics, but instead the first thing we did is open XNA and start making a game.
Well, anyways, he's not dumb and he will learn but he's missing a lot of background.
Also, Python isn't an option.
The reason he started programing is that one day he would make an RPG/MMO where he would be the boss and could change stuff as he pleases. I don't doubt that he will achieve that but he's probably pushing himself too hard and instead of taking the time to learn some basic concepts thinks it's a wrong language.
OFF-TOPIC: I just watched The Man from Earth
I can honestly say it's in my top 10 movies all-time
[QUOTE=Darwin226;20983455]OFF-TOPIC: I just watched The Man from Earth
I can honestly say it's in my top 10 movies all-time[/QUOTE]
I've seen that too. It's pretty good, though I don't know if I'd call it top ten.
Ok guys, I'm usually pretty good at finding stuff on my own but this is frickin' insane! How do I start making stuff with DirectX in Visual Studio? Every search leads me to Microsoft and they can't write a tutorial if their lives depended on it
What kind of project do I make? Why is C++ under 'Other languages' and C# isn't?
I think it has something to do with the fact that I selected C# the first time I started Visual Studio. Naturally, there isn't a way of changing that, or at least it isn't really obvious.
Please help.
[QUOTE=Darwin226;20992026]Ok guys, I'm usually pretty good at finding stuff on my own but this is frickin' insane! How do I start making stuff with DirectX in Visual Studio? Every search leads me to Microsoft and they can't write a tutorial if their lives depended on it
What kind of project do I make? Why is C++ under 'Other languages' and C# isn't?
I think it has something to do with the fact that I selected C# the first time I started Visual Studio. Naturally, there isn't a way of changing that, or at least it isn't really obvious.
Please help.[/QUOTE]
[url=http://www.directxtutorial.com/]First[/url] [url=http://www.riemers.net/eng/Tutorials/DirectX/Csharp/series1.php]results[/url] [url=http://www.sunlightd.com/Archive/Windows/DirectX/]on[/url] [url=http://www.google.com/search?q=directx+tutorial]Google[/url].
First - Good tutorials, first page talks about core concepts, then straight to code. No Visual Studio.
results - C#, no longer supports DirectX, only XNA
on - Didn't see that one. Thanks
Google - well...
That sunlight website didn't reveal much either.
Actually, never mind. I'll figure it out eventually.
My serious advice is to take a step back, buy a C++ book and learn some of the language first.
[QUOTE=Darwin226;20992408]First - Good tutorials, first page talks about core concepts, then straight to code. No Visual Studio.
results - C#, no longer supports DirectX, only XNA
on - Didn't see that one. Thanks
Google - well...
That sunlight website didn't reveal much either.
Actually, never mind. I'll figure it out eventually.[/QUOTE]
So if something doesn't mention the exact IDE you're using you can't use it?
If you're just setting up Visual Studio for DirectX, Microsoft has written great tutorials on it.
[QUOTE=Darwin226;20992026]How do I start making stuff with DirectX in Visual Studio? Every search leads me to Microsoft and they can't write a tutorial if their lives depended on it
What kind of project do I make? Why is C++ under 'Other languages' and C# isn't?
I think it has something to do with the fact that I selected C# the first time I started Visual Studio. Naturally, there isn't a way of changing that, or at least it isn't really obvious.[/QUOTE]
Writing code that uses DirectX in visual studio is going to have very little difference to writing code in any other IDE. A lot of tutorials don't target a specific IDE for this reason. If you need a tutorial to help you through setting up your project in visual studio, you should learn to do that first (If you have specific problems you can always ask).
Microsoft's tutorials/articles/examples are actually very useful. If you're having problems with them you need to step back and read around a bit more to familiarise yourself with the kind of terms they are using, as rank has suggested.
To change your profile settings, hit tools->import and export settings. Choose import selected settings, and follow the wizard.
What is the first thing you do after you start Visual Studio and want to make a fresh project that will use DirectX? Is that good enough?
[editline]05:30PM[/editline]
I think this might seem like I don't appreciate help. That's not true.
I think I do need some tutorials on Visual Studio, not DirectX specifically.
If you want to learn how to open a simple window and then start drawing stuff in it using DirectX, I suggest you look at the tutorials at [url]www.directxtutorial.com[/url]. In Visual Studio, you would create an empty Win32 project for it.
[QUOTE=Darwin226;20992874]What is the first thing you do after you start Visual Studio and want to make a fresh project that will use DirectX? Is that good enough?
[editline]05:30PM[/editline]
I think this might seem like I don't appreciate help. That's not true.
I think I do need some tutorials on Visual Studio, not DirectX specifically.[/QUOTE]
Need to setup your window first
[url]http://toymaker.info/Games/html/windows_api.html[/url]
[url]http://toymaker.info/Games/html/d3d_setup.html[/url]
[QUOTE=Overv;20993405]In Visual Studio, you would create an empty Win32 project for it.[/QUOTE]
YES! Thank you! This is exactly what I wanted to know.
[editline]06:44PM[/editline]
Wow, I'm so lost. I can wait to show this to my friend. We'll be back to XNA in no time.
I can't even compile the example I downloaded from [URL=http://toymaker.info/Games/html/d3d_setup.html]here[/URL].
First the complier reports that it can't find d3d9.h, after some searching I found that I need to set up the include an library directories. After I did that. the error disappeared... to get reinforcements.
[CODE]1>------ Build started: Project: Triangle, Configuration: Debug Win32 ------
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "bool __cdecl InitialiseDirect3D(struct HWND__ *)" (?InitialiseDirect3D@@YA_NPAUHWND__@@@Z)
1>main.obj : error LNK2019: unresolved external symbol _D3DXMatrixLookAtLH@16 referenced in function "void __cdecl SetMatrices(void)" (?SetMatrices@@YAXXZ)
1>main.obj : error LNK2019: unresolved external symbol _D3DXMatrixPerspectiveFovLH@20 referenced in function "void __cdecl SetMatrices(void)" (?SetMatrices@@YAXXZ)
1>Debug/Triangle.exe : fatal error LNK1120: 3 unresolved externals
1>Build log was saved at "file://c:\Users\Darwin\Documents\Visual Studio 2008\Projects\D3dTriangle\Debug\BuildLog.htm"
1>Triangle - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/CODE]
Linker errors mean you haven't linked all the necessary libraries.
[editline]08:02PM[/editline]
I wonder if this'll help you: [url]http://www.devmaster.net/forums/showthread.php?t=6212[/url]
[editline]08:03PM[/editline]
Yes, I just checked, that link will help you. You haven't linked the library that goes with the header you use.
[QUOTE=Darwin226;20993934]YES! Thank you! This is exactly what I wanted to know.
[editline]06:44PM[/editline]
Wow, I'm so lost. I can wait to show this to my friend. We'll be back to XNA in no time.
I can't even compile the example I downloaded from [URL=http://toymaker.info/Games/html/d3d_setup.html]here[/URL].
First the complier reports that it can't find d3d9.h, after some searching I found that I need to set up the include an library directories. After I did that. the error disappeared... to get reinforcements.
[CODE]1>------ Build started: Project: Triangle, Configuration: Debug Win32 ------
1>Linking...
1>main.obj : error LNK2019: unresolved external symbol _Direct3DCreate9@4 referenced in function "bool __cdecl InitialiseDirect3D(struct HWND__ *)" (?InitialiseDirect3D@@YA_NPAUHWND__@@@Z)
1>main.obj : error LNK2019: unresolved external symbol _D3DXMatrixLookAtLH@16 referenced in function "void __cdecl SetMatrices(void)" (?SetMatrices@@YAXXZ)
1>main.obj : error LNK2019: unresolved external symbol _D3DXMatrixPerspectiveFovLH@20 referenced in function "void __cdecl SetMatrices(void)" (?SetMatrices@@YAXXZ)
1>Debug/Triangle.exe : fatal error LNK1120: 3 unresolved externals
1>Build log was saved at "file://c:\Users\Darwin\Documents\Visual Studio 2008\Projects\D3dTriangle\Debug\BuildLog.htm"
1>Triangle - 4 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
[/CODE][/QUOTE]
Thats why you read what the guy is saying instead of just downloading the example.
I'm sorry. I tried reading your first link, but if you read it yourself you'll see that it first talks about Windows applications and then gives you some code and explains it. It doesn't mention where to put that code so I experimented. Obviously it didn't do any good =P
[editline]12:39AM[/editline]
YES! I did it! I successfully compiled an example from a tutorial.
I'm awesome.
[editline][/editline]
I figured someone might have the same problem so to post how I fixed it.
When I included those library directories I saw that in DirectX SDK\lib folder there are 2 folders, x86 and x64. I decided to put x64 since I'm on 64bit Windows 7 (probably completely unrelated).
It was a mistake. After I changed it to x86, it all worked fine.
[QUOTE=efeX;20947722]Do you [B]have[/B] to create an engine?? You should just create the game.[/QUOTE]
Yeah I have to have my own framework behind it.
[QUOTE=bunguer;20949105]There are engines out there with full source code available, use them and save tons of work.[/QUOTE]
Sure, why not and get a big fat F while i'm at it.
Sorry, you need to Log In to post a reply to this thread.