Jump to content
  • Advertisement
Sign in to follow this  
gp343

Are there any big Commercial Games in C?

This topic is 3693 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

With C++ being so popular, I was just curious if there are any Big time commercial games in C or if people are still using C to develop commercial quality games?

Share this post


Link to post
Share on other sites
Advertisement
Is there a specific reason why you ask? No project comes immediately to mind, but we might be able to answer your underlying question even without knowing which games are written in C.

Share this post


Link to post
Share on other sites
You really need to try a few languages and choose the one you find easiest. Bear in mind that it may be 10 years before you make a "big commercial game" so don't be in such a hurry.

Share this post


Link to post
Share on other sites
Well, the root of my question is that I'm a Java developer who's interested in moving over to C or C++ for Games development. However, judging from the questions/comments I see in forums, it appears that the majority of Game developers uses C++. With that in mind, it appears pointless in learning C - although C may have a shorter learning curve than C++?

Share this post


Link to post
Share on other sites
Quote:

However, judging from the questions/comments I see in forums, it appears that the majority of Game developers uses C++. With that in mind, it appears pointless in learning C


So you believe it's "pointless" to learn a language just because the majority of game developers don't use it? You couldn't be more wrong. First of all, do you really think that professional gamedevs only know C++? They probably know a dozen of languages. And second, are you a professional developer? No. So you don't have to work with the constraints they do(compiler support, legacy). Learn a lot of languages, and pick the best one for the job judging by *your* conditions and requirements, not by someone else's. For example, I know C++ but I have decided that I program mainly in Python, because it serves me better. Merely imitating professionals and using whatever tool they happen to use doesn't make you a better programmer.

Share this post


Link to post
Share on other sites
I wonder, how you could avoid learning C while learning C++... C is basically a subset of C++.

But to your question: I think that Doom, Quake 1 and/or 2 were written in pure C. But I'm not 100 percent sure.

Share this post


Link to post
Share on other sites
Quote:
Original post by gp343
However, judging from the questions/comments I see in forums, it appears that the majority of Game developers uses C++.

The majority of game developers on forums never finish their games, either.

Quote:
...C may have a shorter learning curve than C++?

Not really, and certainly not to a Java developer. Besides, C++ is an imperfect superset of C, so you can employ almost all C techniques in C++, though you really should learn C++ techniques and idioms.

Either choice is functionally adequate. There may be external constraints for you that will dictate one language over others, but as far as intrinsics go, C, C++, Java, Python, etc, etc, etc are all valid choices for game development.

Share this post


Link to post
Share on other sites
Well, 'learning C' is not something you can avoid when doing C++. It's practically the same language, the only difference is in techniques used due to the fact that C doesn't have an object-oriented flow.

But, when it comes down to it, I can tell you that yes, some game developers do use normal C. I work for a console games developer, and the engine we use is mostly standard C style, with a few classes here and there.

Just use whatever style/approach you feel comfortable using. TBH i prefer the class-based approach, but have to accept writing normal C style code for the majority of my work.

Don't rule anything out, just make sure you're familiar with the different techniques used in old-style C code, in case you find yourself needing to use them yourself.

Share this post


Link to post
Share on other sites
Quote:
Original post by Dinsdale
I wonder, how you could avoid learning C while learning C++... C is basically a subset of C++.


You could avoid learning, for example, the C way of handling strings(with char*, strcmp,strcpy and whatnot) and learn the C++ way of handling strings(std::strings). You could avoid malloc and use new. You could avoid learning the likes of printf,scanf and learn streams. You could avoid learning how to implement virtual function tables by learning how to use virtual functions. Same for a lot of things that are handled differently in C and C++.

Share this post


Link to post
Share on other sites
Quote:
Original post by mikeman
You could avoid learning, for example, the C way of handling strings(with char*, strcmp,strcpy and whatnot) and learn the C++ way of handling strings(std::strings). You could avoid malloc and use new. You could avoid learning the likes of printf,scanf and learn streams. You could avoid learning how to implement virtual function tables by learning how to use virtual functions. Same for a lot of things that are handled differently in C and C++.


Yes. But those things are not language constructs, those are more or less the same in both. It's more a 'coding style' question. You can always use malloc/free in C++ if you want :)



Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement
×

Important Information

By using GameDev.net, you agree to our community Guidelines, Terms of Use, and Privacy Policy.

Participate in the game development conversation and more when you create an account on GameDev.net!

Sign me up!