I was wondering what i should do to start making simple operations such as games, im gonna be taking an intro into programing, adv. programming and a web page design classes soon, any suggestions?
could someone help me on what to do? i have a little experience with c# c++
Moderators - Reputation: 3117
Posted 24 February 2014 - 01:20 PM
Choose a language; I'd recommend C# or Python normally, but in this case you should probably choose the same one your classes are going to teach you. Learn basic programming. This will likely involve making programs in a console-based, text IO format for some time. The simplest game you are likely to be making early on is a "guess the number" game in a text console environment, which can be done with a few simple programming constructs and iterated on fairly well.
Josh Petrie | Core Tools Engineer, 343i | Microsoft C++ MVP
Members - Reputation: 1216
Posted 24 February 2014 - 03:14 PM
C# is not really great for cross-platform. So depending on your platform you could also choose D or a similar language. But like Josh said it's probably the best to use the same language as the course will be using. But it's never bad to know multiple languages, so just choose the one you like the most.
Members - Reputation: 6083
Posted 24 February 2014 - 03:57 PM
C# is not really great for cross-platform. So depending on your platform you could also choose D or a similar language.
I challenge you to name a modern gaming platform with which you can't use C# but with which you can use D. There's no good reason to steer new programmers away from C# and towards any niche languages.
Members - Reputation: 1216
Posted 25 February 2014 - 02:06 PM
I challenge you to name a modern gaming platform with which you can't use C# but with which you can use D. There's no good reason to steer new programmers away from C# and towards any niche languages. smile.png
All C languages are very, very similar. I said C# is not really great for cross-platform because there is only good Windows support. There are many large frameworks for C# aside from the (awesome) .NET framework but this is limited to Windows. Except if you use monogame but the performance is a lot worse.
Members - Reputation: 839
Posted 26 February 2014 - 03:22 AM
All C languages are very, very similar.
Sorry if this is OT, but I can't leave it at that.
I use C# at work, and C++ in my hobbyist game projects. And I can tell that these languages are very, very different. Generics vs. templates, garbage collection vs. explicit memory management, the whole concept of collection classes...
Crossbones+ - Reputation: 8944
Posted 26 February 2014 - 06:53 AM
There are many large frameworks for C# aside from the (awesome) .NET framework but this is limited to Windows.
I'll just leave this here. Even if you don't end up using C# for games it's an extremely valuable skill to have when it comes to general programming especially right now as it is a stupidly popular language, so by discouraging someone from learning it in preference to D (which is far more niche, as Sean rightly pointed out) you're really not doing them a favor. Now of course you can - and should - learn both, in fact as many languages as you can is best, but obviously "knowing" a language doesn't amount to knowing the syntax and answering interview questions. To be really fluent in a language you have to code a lot in it, that takes time, and let's face it - time is limited, time is expensive, time is valuable. Prioritizing is crucial unless you have the luxury of infinite time of your hands, which most people don't.
Also, OP: games are far from simple. In fact it could be argued that nontrivial games are up there as one of the most complex types of commonly-developed software around.
Edited by Bacterius, 26 February 2014 - 07:02 AM.
The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.
- Pessimal Algorithms and Simplexity Analysis