(Again, I’m out of town and this is being posted automatically; please forgive delayed responses!)
In the spirit of choosing the right tool for the job . . . .
For a while now I’ve used MonoDevelop for C#/Unity work, and Microsoft’s Visual Studio 2013 for C++. I’ll be frank in saying that I chose both more for their visibility than because of any specific feature they included; MonoDevelop is literally packaged with Unity, and Visual Studio is easily found when one goes looking for C++ compilers.
As time has gone on I’ve become curious about alternatives. My searches have led me to lots of options–but, interestingly, not much guidance as to how to choose between them. Various people online suggest using one compiler or another, but they rarely explain why one should prefer this over that..
Coders, what factors go into your choice of compiler? Do you have specific recommendations for the languages above, or for other languages?
I’ve worked on many programming languages in my career and hobby projects: objective-C, C, C++, C# (only a little), Java, PHP, Perl, Javascript, QuickBasic (getting historical here), Basic, etc.
With some exceptions, I would say most of the popular programming languages can probably handle 60-80% of the tasks thrown at them. If you have special requirements on speed, graphics, or project size, then you reduce your options. However, if you are in prototype mode (meaning you are not making something that will be used by real people yet), then you still can use nearly any language.
I think your chose of C#/C++ is totally fine, as they are both languages that can do almost anything with the right platform and frameworks. However, if you are the type of person who likes to learn new platforms and languages b/c it is fun, feel free to experiment around, using a different set of tools for each project.
But based on your posts I feel you are more the “Game designer” than the “Game implementor” (I’m a bit of both, with skills more to the latter) so I am not sure if it would be worth your time learning all these new frameworks.
Despite the fact many of the platforms allow you to do mostly the same things, the way they do it (syntax, patterns, frameworks, etc.) are different, so you may have a big learning curve on each new platform. So you need to think if that time is worth it to you as opposed to spending more time learning about game design.
For me, I am into mobile development lately with a preference for Apple devices (though I have done Android as well), so that pretty much constrains my language to Objective-C (I’ll omit a discussion here about Swift).
The good thing about Unity is that if you do it right you can easily port to multiple platforms, so I think using that as a base is a good idea for the long term. However, I doubt you are at the stage where you need your games to be pushed out on 2-3 platforms.