|
I've started a Games Technology course at Uni this year, and we're learning C++. Obviously, we haven't started any actual game coding yet. Is C++ a good language to use? Is it a good starting place, a bad one? What do you use or find easiest? |
|
Games for what, exactly? And what type of game? Flash is common for making games designed for the web. You can also use Javascript in some cases, but that's rare. C++ is very common for highly intensive gameplay due to its overall performance (because it's compiled). Details on why C++ is a good choice for resource-intensive applications are all over the web. C# (and .NET in general) is starting to gain some ground with the growing popularity of the XNA framework, which allows you to create games and other graphical applications across the PC and Xbox quite easily. On the less common side of things, I have seen games made in Python and C. Not many other languages are used often for game programming. Personally, I see C++ as a bad start for game programming if you don't already know the language. C++ is a hard language to learn, and game programming isn't that easy either. Learning both at the same time will surely cause misunderstandings and pain. StackOverflow has a similar question: I want to learn game development. Which language should I use? Indeed. It has as many undefined behaviours as C with more complex "extensions". Hopefully they'll be learning some basic console games before they move onto the GUI stuff. The reason we're learning C++ is because it's hard. It's like hitting your head with a sledge hammer. When you switch to a mallet, it feels better. C++ is better for highly intensive 'gameplay'? You mean graphics? I'd like to use whatever platform is easier for whatever game is in mind. After looking at C#, it looks pretty useful with the XNA frameworks and such. The problem with learning C++ is, as @Seb mentioned, there are very common pitfalls. If you're not learning C++ itself (and you are instead just using C++ as a tool to get through to game development), those pitfalls will consume you and perhaps lead you to create horrible code. @Dilzi, By "intensive gameplay", I mean "resource-intensive"; commercial games sometimes have high CPU, memory, and graphical power demands, and those games are most often written in C++. 2
Uhh yeh, no. That makes no sense, sorry. Both C and C++ are extremely... well parts of them are downright inconsistent, not to mention many things aren't specified by the languages, so you may believe you're doing something right and boom it breaks on another system because you've unknowingly invoked undefined behaviour (aka the screen ate you). These are not programming languages that should be learnt first up because "they are hard", because it makes teaching/understanding the logical side of things harder. I prey that you have a good teacher. A good book might also help you. Here's a list: https://dl.dropbox.com/u/1607384/books.html Lucklily we are learning C++ seperately, as a seperate string of classes. And the games will build on that. I hope. This is starting to sound more and more like my own college. Curse the education system. Anyway, list of books there. You may like to see your local library to see if they have a copy of "The C++ Programming Language" by Bjarne Stroustrup.
showing 5 of 6
show all
|
|
C++ is currently the most powerful language I know, and I've had fun writing games in it. In order to write good games, you must learn how to use graphics mode to make the games look good. However, graphics mode is only available in 16-bit compilers (ie Turbo), which I had the misfortune of using. It's a real pain and doesn't work in full screen mode in anything newer than Windows XP, which makes it impossible to use graphics on my computer. It is also a good language to use to learn other languages, as it is a C-based language, and so are many others that are more widely used. Now, if it doesn't have to be a language, Game Maker is great for making games, but it is not true programming. Have you ever heard of a graphics API such as OpenGL or Direct3D? Yeah, those are pretty useful in modern game programming. I doubt any games commercial made nowadays interact with the BIOS directly for graphics. Nope. I'm planning to take a class that works with PyGame, which is Python-based graphics, I believe. I would certainly doubt that anyone develops games in anything like Turbo C++. It's great for learning, but nowhere near as good as anything else. Turbo C++ is HIGHLY outdated. I don't think it was even in use at the turn of the century. Also, C++ is a language; Turbo C++ is an implementation. You shouldn't describe C++ as if it were (just) that implementation. I agree that in the modern world, Turbo C++ just won't cut it. However, MSVC++ will, and g++ and Intel's C++ compiler, too. That is true. Turbo C++ is only used at my school as a teaching language, as well as Pascal. And yes, C++ is still a good language, but Turbo C++ is not a good compiler, compared to all the other ones available. Turbo C++ is a great compiler. It's just outdated and not suitable for modern game creation. For what you can use it for, it is a good compiler. For what is needed in today's world, it is an outdated compiler. So basically what you said. It is suitable for game creation, but not very good games. I made a wonderful Checkers game in it, but it will not run on my computer because the graphics does not work in 7.
showing 5 of 6
show all
|
|
I recommend the company clickteam, they make some great software that lets you make flash, java and exe games and applications all with drag and drop, scince I was about 11, I started using it, it is really easy and they have a great community if you need help. Their website is: http://www.clickteam.com/website/index.php |
|
TURBO C++ IS ONLY AN ENTRY POINT TO C++ PROGRAMING WORLD.BECAUSE IT IS DOS BASED. |
|
I believe Battlefield 1942, Battlefield 2 were programmed using Python, Python is pretty easy to learn and if you have played BF1942 or BF2 you know they are very good games. Although C++ is the most widely used of all languages for game programming for the simple fact it is powerful. On a side note Carmack used Assembly language to build the shell for most of iDs games. Thats just hardcore. |
