Learning XNA for Game Development. Is it worth It? [closed] - xna

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
It seems that most of the popular games in the world are developed using C++. But Microsoft's game platform, XNA Studio is based on programming in C# and I didn't find any popular game which was developed using XNA. Also there are fewer Ebooks you find on XNA and even the google search for a problem won't give you much help.
Does people doesn't use XNA as a gaming platform? Is it worth learning XNA for game development or should I consider some other platform?

Learn how to develop games. The languages and platforms are just that, languages and platforms. If you understand what you need to do to make a game, you can port it to any platform with ease.
Also, if a game is on the Xbox Live Arcade, then it has been developed with XNA. XBLA is a great platform to push out indie games, so for a beginner with (what I assume) is a small team, I'd recommend it.

I have a theory - admittedly I can't back it up with data or experience - that C# and XNA make a great "stepping stone" to C++ and DirectX.
Good C# code is fairly similar in structure to good C++ code. And good XNA graphics code is similar in operation to good Direct3D code.
There are considerably fewer ways to shoot yourself in the foot and write bad code in C#/XNA. If you start with C#, you won't have to spend time learning and then unlearning bad habits that C++ makes possible. And you won't get stuck on as many nasty low-level problems while you're learning.
Once you have learned how to code the "right" way, and how game/graphics programming works, then it should be fairly simple to then wield the raw power that C++ and DirectX provide.
Also, to refute your charge that XNA has little reference material: that is simply untrue. There is a huge XNA community online, there's excellent reference material on MSDN, and plenty of tutorials around. And the first-party samples on App Hub are second-to-none.
There are also plenty of famous XNA games out there. To be sure, they aren't AAA games - but you wouldn't choose "C++ and DirectX" as a platform for making one of those these days anyway. You'd choose the Unreal engine or the Source engine or similar.

Don't learn XNA. Learn C#, using XNA as a stepping stone. It's right now the most promising high level language for game development. It can be used in Unity (all platforms but Linux and WP7), XNA (all Microsoft platforms), Silverlight (Windows 8, web and WP7, possibly Xbox soon), PlayStation Suite (PS3, Vita, Xperia) and there's Mono for all the rest.
Few languages offer so many options right now, without requiring the effort of learning C++.
XNA can serve as a good reference for the common issues to be found in game development, taking care of nasty stuff like low level graphics programming or common asset management. It is also easily integrated with scripting languages (IronPython, Lua), which is very common in modern games.

be careful your investment. consider the portability of your application in C#

Related

Delphi XE2 future [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am an independent consultant and I have developed a product which is liked by my customer that I am trying to port from Java to Delphi. Delphi satisfies couple of my important needs: Native code compilation that gives speed and obfuscation and the language is highly productive as I tried.
Question that I have is:
Would you invest in Delphi, given its turbulent past?
Is there any alternative to Delphi if I want to chose a platform that compiles to native code and is portable to MAC and highly productive?
Does a turbulent past necessarily mean a turbulent future? Look at the current state of Delphi as it has been since Embarcadero took over and evaluate based on that.
Apparently your other choices might be C# .NET with Mono, C++ with a cross-platform GUI library such as wxWidgets or Qt, or Java. But it's a subjective call as to whether one would call those "highly productive".
There's a nice Squidoo article on Cross Platform GUI Programming that will give you some things to consider in your choice, and it lists a few other possibilities.
The latest Delphi XE2 supports cross-platform native development for Windows 32bit and 64bit, Mac OSX 32bit, and iOS with its new FireMonkey framework.
If you don't want to use Delphi, you can use FreePascal (which Delphi uses internally for its iOS support until a native iOS compiler is created).
I would certainly highly recommend using Delphi if you are in consideration of its abilities. Especially with the release of RAD studio XE2, where you can compile 32/64bit/mac/mobile apps, you'll be impressed at the capabilities. I regret to say that I'm not that familiar with many other languages, but I have basically come to be extremely comfortable with Delphi.
If I had to compare it with another language, I'd have to say C#, which Delphi is pretty much the Father language of C#. Delphi is great for pure lower-level programming, whereas C# seems to have an extra layer over it (including .NET). C# is widely used in .NET applications such as websites (ASP.NET), windows forms applications, service applications, etc.
Both Delphi and C# can pretty much do the same thing, but in a different approach (and far different syntax). I'm not sure however if C# can be used on MAC platforms. But Microsoft Visual Studio is the software you want for C#.
I also recommend that you point your interest in FireMonkey, which comes with XE2. This is an HD application language. It's basically a re-write of the entire VCL library for better graphics, and much more.

iOS OpenGL Question [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I'm an intermediate iOS developer with a couple apps on the store with decent results, but I have an idea for a game. I even have some pretty spectacular ideas in mind for monetizing this game.
My problem is I don't know the first thing about OpenGL -- I'm reading the documentation and watching some videos, but that's a deep rabbit hole.
My question is: Am I better off rolling my own 3d engine, or using the SDKs already out there -- Unity, namely -- and how different should I expect those approaches to be?
Thanks!
If you're making a game, you're almost never better off rolling your own renderer. Not unless there's something special about your game rendering that you need to do that engines cannot accomplish.
Oh, and we have a site for game development questions.
While making a game, if you actually want to learn something then you should go for your own 3d engine.
If you go for others engine then yes, may be you will face less difficulties but at the same time you have to go according to their boundaries and limitations.
And OpenGL ES is an API used for rendering and graphics purposes.You need to learn OPenGL ES not whole OpenGL api. Its well documentation is available out there.
here's a [link] http://www.khronos.org/opengles/
I agree with Nicol. Your time and effort is probably better spent developing the game rather than developing, yet another, '3D engine'.
Take a look at the Unity tutorials. They'll give you an idea of the development process.
http://unity3d.com/support/resources/tutorials/
and how different should I expect those approaches to be?
Unity development is very different from OpenGL development. Unity is closer to an authoring environment.

What is the role of Google's Dart programming language? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
I am having a hard time understanding what the major purpose of Google's programming language Dart is. What's its role? Why would I want to use it?
You may checkout the technical aspects on this article. Quote:
The Dart programming language is presented here in its early stages.
The following design goals will guide the continued evolution and
refinement of this open source project:
Create a structured yet flexible programming language for the web.
Make Dart feel familiar and natural to programmers and thus easy to
learn.
Ensure that all Dart language constructs allow high performance
and fast application startup.
Make Dart appropriate for the full range
of devices on the web—including phones, tablets, laptops, and servers.
Provide tools that make Dart run fast across all major modern
browsers.
These design goals address the following problems currently
facing web developers:
Small scripts often evolve into large web applications with no
apparent structure—they’re hard to debug and difficult to maintain. In
addition, these monolithic apps can’t be split up so that different
teams can work on them independently. It’s difficult to be productive
when a web application gets large.
Scripting languages are popular
because their lightweight nature makes it easy to write code quickly.
Generally, the contracts with other parts of an application are
conveyed in comments rather than in the language structure itself. As
a result, it’s difficult for someone other than the author to read and
maintain a particular piece of code.
With existing languages, the
developer is forced to make a choice between static and dynamic
languages. Traditional static languages require heavyweight toolchains
and a coding style that can feel inflexible and overly constrained.
Developers have not been able to create homogeneous systems that
encompass both client and server, except for a few cases such as
Node.js and Google Web Toolkit (GWT).
Different languages and formats
entail context switches that are cumbersome and add complexity to the
coding process.
Major purpose of dart language is replacement of JavaScript. It fixes common issues of JavaScript, it is actually compiled to JavaScript, but in the future it will have its own VM.
Main advantages over JavaScript are that it is object oriented interface inheritance based language, it has support for interface factory builders. It has simpliefed actor model called isolators.

ASP.NET MVC vs Ruby on Rails - market trends/demands [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
In an effort to sharpen my programming skills, I'm looking at doing some on-the-side learning / web development in either ASP.NET MVC, or Ruby on Rails. (I'm completely new to both, though I have a solid C#/Java background).
Based on current market trends and demands, which technology should I sway towards if I want to get the best return-on-investment down the road?
From my understanding there is a greater demand for ASP.NET MVC, but at the same time, there are a lot more qualified/experienced ASP.NET MVC developers.
Ruby-on-Rails on the other hand: there's less projects, but developers seems harder to find.
One concern for Ruby is that Oracle recently dropped it from the Netbeans IDE.
Since you already know C#, it will be easier to learn .NET MVC. I've also seen a lot more jobs that wanted .NET MVC than Rails.
Personal opinion
I have been an ASP.NET developer for the last 3 years and I love C#. However, my personal opinion is that .NET MVC is not as easy to use or nearly as mature as RoR. I have recently developed a passion for RoR. There are some things that you can do with .NET MVC, but are built into the culture of RoR. For example, there is a lot of focus on making the developer experience nice, Test-Driven Development, and convention over configuration (to speed up development). I also have to admit that RoR development on Windows isn't as nice. To really enjoy it, I would use a Mac or dual boot to *nix.
There is a lot of debate on this issue and it really comes down to what constraints you have and what your preference is. If you're trying to gain an career advantage, I think that there is more potential in .NET MVC (at least where I live in Utah and from what I can tell from other areas). I've personally found Ruby to be a really fun, unique language to use that makes me happy writing code.
Also, I'm pretty sure that the NetBeans IDE is not among the popular IDEs used by Rubyists. I've never heard of anyone using it for Ruby.

What's a Good Resource for Learning XNA? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I've been considering experimenting with game development and XNA. I'm already an expert C/C++ programmer. I read through some C# books, but haven't done any development in C# yet.
What's a good resource for learning XNA, from the point of view of someone who's already an expert programmer?
I'll second reimers and the creators.xna.com samples as a good way to get a handle on how to quickly whip things up.
On the other side of the spectrum, I highly recommend Nick Gravelyn's Tile Engine tutorials. It's a different approach, as the entire series is presented in video. It seems like a great place for beginners to get started, though new coders might have a bit of trouble with his pace. Having said that, the section on the Content Pipeline (which is an XNA-specific implementation of the pipeline concept) is a good introduction.
Ziggyware also has a good selection of tutorials, some of which are more advanced.
Shawn Hargreaves, one of the XNA's devs, has a great blog that let's you in on the internals of XNA a little more. Check out the archive if there's a topic that interests you in particular.
This is good: http://www.riemers.net/, just keep in mind that navigation is through the bar on the right. I must have been tired because it took me a while to figure it out :-O
Check out the XNA homepage and the tutorials over there, under Community -> Resources. As an experienced programmer you should be able to take it from there.
For more in-depth infos browse the XNA Team's blogs, also linked from the XNA Creators page.
I would say that a library called XNA Debug Terminal should be of some help to you. It is open source and can be setup in seconds. It allows you to see the value of any variable, invoke any method, watch values changing in real-time, and more by simply typing c# code into a terminal-like display that appears atop your game window. Unlike the normal Visual Studio debugger, you can invoke arbitrary code while your game is running. You can find out more about this at http://www.protohacks.net/xna_debug_terminal . This will greatly help you to avoid a lot of frustration while learning XNA.

Resources