Visual Studio Upgrades, and some XNA questions.

Started by stripe103, October 05, 2013, 04:49:30 pm

Previous topic - Next topic

stripe103

Hello there. It has been a while since I last posted on here, although I've always been lurking around =)

Anyway, I would just like to ask if anyone knows if an upgrade to Visual Studio 2012 from 2010 is worth the price?
Personally I don't quite like the looks of it, icons look a lot the same, and it isn't that appealing to look at overall. From what I've understood it doesn't work with XNA either.
Are there any other special reasons to upgrading, or can I stay at 2010 without any problems?

Another thing, is that from what I've understood, XNA isn't being developed anymore, and like said doesn't seem to work with Visual Studio 2012 too good.
Is it worthless to continue using XNA and go to another game engine instead, or will it still be supported to run in systems in the future?

I've recently been looking into Haaf's Game Engine(HGE) as I got it as a tip from a former Ubisoft employee as a good place to start making games.
It's using C++ which I haven't quite understood the logic of. Would it be better to continue with that instead of XNA maybe? Which one would be the best if you're looking to getting a career in game programming?

ForeverZer0

I have been using 2012, and in my opinion, the NuGet manager is about the best thing that makes a difference for me personally, and that's not a huge deal.  It really depends on what you do, and what type of programming you do.
I am done scripting for RMXP. I will likely not offer support for even my own scripts anymore, but feel free to ask on the forum, there are plenty of other talented scripters that can help you.

winkio

My opinion is that windows is dying with the advent of Windows 8, the abandonment of XNA, the PR disaster of the Xbox One, and much more.  C# and .NET are tied to that sinking ship.  Mono has a few key flaws from what I have heard, so I would think about switching languages entirely.  I have identified 3 possible routes, but I'm sure there are more:

C++ and Python (industry standard)
Java (almost all platforms, including android and browser)
Html 5 / Javascript (browser)

Do C++.  It sucks, it's cumbersome, and it's generally not nice, but there is a lot more code available, and it is industry standard.

If you can't handle C++, Java is pretty similar to C#, and can still make games, and can run in a browser or on android.  Unfortunately, there is much less code available in terms of engines and game libraries.

If you are feeling adventurous, HTML 5 is only in browsers, but for a lot of the types of games that are being made a browser is perfectly fine.  Also, lots of developers are active in web-based games, and it has the potential to become a dominant gaming platform.  HTML 5 may be a risk in terms of timing in the near future, but long term I expect HTML 5 to be just as widely used as C++.

stripe103

Okay, 2010 it is for me then I guess.

I do want to learn C++ and have started already, it's just that there are some things that I haven't learned the way of thinking in yet. Pointers I still have trouble with.
Example being what the difference is between "type* var" and "type *var".

Then I've had some trouble with circular dependencies but I guess that's just because I'm used to having each class in it's own file, while I'd suspect C++ is supposed to have each "system" with all classes for that system in one file.

As for Java, I've programmed that some too for a Minecraft server I'm dev on, and it's quite simple, not too many differences from C#.

Blizzard

Quote from: stripe103 on October 06, 2013, 04:34:06 am
Example being what the difference is between "type* var" and "type *var".


Same thing. The first just looks better IMO because it visually separates the variable type as "pointer to type" rather than the variable being a pointer.

Quote from: stripe103 on October 06, 2013, 04:34:06 am
Then I've had some trouble with circular dependencies but I guess that's just because I'm used to having each class in it's own file, while I'd suspect C++ is supposed to have each "system" with all classes for that system in one file.


Because C++ is fairly old, it still relies on the use of headers. A header is a file with the definition of code that is in an implementation file. When you classes become more complicated, there are several issues that arise because of possible circular dependency.

Usually you will have problems when declaring a value type variable within a class if the classes depend on each other. You will have to use pointers for that. e.g. A good example where this has to be done this way is a simple Node class for a tree-like data structure. The class simply cannot contain a definition within itself, because this would be a recursive memory allocation which is impossible. This is where forward declarations come in handy. But you can only use forward declarations with pointer types.

Code: A.h

class B; // forward declaration for class B
class A
{
   B* varB;
}

Code: B.h

class A; // forward declaration for class A
class B
{
   A* varA;
}
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.