C# is not good?

Started by
55 comments, last by Keldryn 19 years, 1 month ago
Quote:Original post by zRED
<blah blah blah, jobs only in C++>
Nobody's going to hire you for another good three to five years, and I'm being charitable. At 15, make it more like ten years.

Don't learn to earn. Learn to learn.

Quote:Original post by 3dmodelerguy
well if you design the game engine, since we are talking about game engine programming, very well, you might have to change some setting and maybe some code but other than that it could not be that hard to port your app.
You speak with the conviction of a man without hands-on experience. How idyllic.

To reiterate: pick a language, write some fucking code.
Advertisement
I was just commenting on what other people have told me.
Oluseyi said "To reiterate: pick a language, write some fucking code."

After reading through this entire thread that was the best advice of all....do it.

How many times does this discussion have to come up :(

----------

Quote:Original post by Oluseyi
To reiterate: pick a language, write some fucking code.


Amen.
Just FYI academically obviously perfectly tuned C++ applications will perform faster than perfectly tuned C# applications right?

Here is a benchmark of OGRE (C++ engine) and Axiom (C# port):



Those "academic" remarks make absolutely no difference in the real production environment. It also shows that refactoring is a key to better performance :)
Quote:Original post by zRED
Thanks you all! :) Yeah, I guess I'll stick with C#! Found a great physics engine written in it, a game engine, and a game - everything is perfect :) So it's not bad at all.

And thanks for the books: I bought the Code Complete one and about C# Dseign Patterns, both look good.

Ok then, another question: what books on C# do you recommend? I have some, but still would like to hear some advice. Is Wrox Press - Proffesional C# good?
Are O'Reilly books good (also called Professional C#)? Or which are good?

Oh! And is Managed DirectX 9 for C# really different from normal DirectX 9? I have a lot of books on normal DirectX, but none about Managed and how to use it with C#. Again, need your advice.

Thanks!

P.S. Anybody needs a Gmail account for their help? Just PM me your Email and you'll get it. Cause I do owe you all.


Where did you get this physics engine from!? I had to implement my own little phyiscs engine using quaternion, vector, matrix and generally lots of kinematics that even my collegues in my additional maths set at GCSE (I am 15 too!) have never heard of. We are actually only just dabbling in some simple kinematics (which makes for boring lessons ;-{).

About someone saying that C's syntax was rubbish, I actually switched from VB .NET to C# because I liked the syntax more! VB .NET was definately better that VB 6 anywho.

How did you start programming? At the age of 9, I kept pestering my dad that I wanted to make my own game and after a while he actually brought me VB 6 and a 5cm thick book to learn it from! As for a book to learn C++ from, I got 'Sams Teach Yourself C++ in 21 Days' (it has always been a matter of pride for me that I did it in 7!) However, that didn't cover COM or MFC, just console apps, but it gave me more than enough understanding of the syntax, pointers, templates (did anyone mention that generics in C# 2 are similar, to a limited extent?) etc to understand all of the sample code, all code in my books is C++, generally most code is in C++.

Other motivations for making games!:
With moving languages twice, I was always converting and improving my graphics engine so really the game I started on last year is my first. Having your friends help with your game is cool, and good for motivation.
Recently I realized how younger children admired games programmers (and astronauts!) The year 8 student who I take for paired reading as one of my prefectorial roles found out (yes, I'm very modest) that I was making a game, and he was like 'wow'. People ask you how it's coming along and stuff as well, while they wouldn't care at all if you made a much more profitable business app.
It will also just generally impress people; I am the only programmer in my year group of ~240.

Anyway (eek - long post - can you tell none of my friends were on MSN?), read lots of articles from Gamasutra and GameDev on AI, physics, game design etc to expand your knowledge and have fun!

If you're in the UK you'll have your GCSEs coming up like me, so remember to revise over the holiday!

EDIT: yeah, write loads of fucking code and practise like Oluseyi said, and don't worry - pointers and stuff are easy once you realise why they're useful.

EDIT: you should probably learn UML as well for class design, that's something I need to do. I took previous advice from cool guys on the forum before and learnt Smalltalk to expand my knowledge of languages, but there wasn't a free .NET compiler so I never actually tried it out. Nice, different syntax though.
Quote:Original post by zRED
P.S. Did I mention I hate consoles?! :) Damn, just look at their specs! It's horrible! They force you to make s**t games rather than great ones like HL2. Do you know a good console game, despite those specific to the genre-platform (like fightings etc.)? NO! Cause consoles are shit! They will never have the power of a PC. Sure, new ones will arrive every five years, but PC aren't frozen too. There will be Radeon's 10500X Pro and etc. I can't understand why is it such a big part of the industry :( But still, you are right, they are, so if I want to work in that area... Still, I can be a PC-only programmer, why not? A lotta games these days are still released only on PC's


Game consoles represent the majority of the industry for several good reasons.

First of all, they are the most accessible means for the majority of people to play a game. You can just pop in a game disc, turn on the system, kick back on the couch, and play a game. No installation, no downloading patches, no messing with configurations, no updating drivers, etc. And this isn't just a benefit for "dummies" either; I've been working with computers for most of my life (I'm almost 31), and programming for many years, and I'm quite appreciative of the fact that the games just work without having to mess around. Like it or not, gaming has become very mainstream, and the average person doesn't know enough about computers (nor want to) to mess around with configurations.

I think that there is definitely a perception that PC games are more complex to set up, and more complex to play than console games, and it's not entirely unwarranted. Plus, PC games are seen as "geekier" than console games, which doesn't help increase the market share of PC games. I'm not saying that one is warranted.

Game consoles are relatively inexpensive. Yes, you can do more with a PC, and yes, game consoles are over-priced when they first come out. But in the first year or so, it's pretty much only hardcore gamers buying new systems anyway. Around the two-year mark in a new console's lifespan, it's hit the ~$200-250 price range, and there is a fairly large-sized library of titles for the system, including a good selection of $20 "Greatest Hits" titles. It still costs less to buy an entry-level/budget PC and a game console than it does to buy a fully-decked out high-end PC.

From a developer's standpoint, game consoles are nice because you only have to worry about one hardware configuration. Not only does this make QA somewhat less difficult, but it also allows the developer to optimize the game for the platform, without worrying whether or not end users will have systems that support all of the features used in the game. Every Xbox has programmable pixel shaders; you can't guarantee that every PC will support them.

And it simply isn't true that consoles will never be as powerful as PCs. When the last generation of consoles came out, they were fairly comparable in power to good gaming PC; the Xbox in particular. I can't remember if the GeForce3 was still on top in November 2001, but the Xbox's GPU was slightly more powerful than the GF3. And from what we know of the specs of the coming generation of consoles, they will be roughly comparable with a high-end PC of today. The main difference is that at least two new generations or product lines of CPUs, motherboard chipsets, and video cards will be released for the PC during that 5-year lifespan of the console. The trade-off is that by the end of the console's lifespan, we're seeing games that really make use of all of that system's capabilities and that squeeze every last bit of performance that the system can muster. And even though a Radeon X800 is a lot more powerful than the GPU in any of the three consoles available today, I can buy all three systems for the price of a Radeon X800 card, and still have money left over for games.

There are many good games on all platforms -- on all three consoles, and on the PC. A good game is a good game, regardless of the platform it appears on (of course there are crappy ports, but that's an entirely different issue).

And, to get back on topic... If you want to have any hope of getting a job as a programmer in the games industry, you're going to need to know C++, for now, and for the foreseeable future. I don't see .NET becoming a development platform for anything other than a future-generation Xbox, and the PC (of course).

However, as others have said, it is important to learn good programming practices, which don't really change from one language to another. C# is a good language for learning to program, and once you have a firm grasp of C#, you can pick up C++ relatively easily. Or vice-verca. Learning more languages will only be of benefit to you in the long run.

This topic is closed to new replies.

Advertisement