Job posts at studios still requires C++ . When does XNA will get its place?

Last post 05-14-2008, 10:00 AM by ShawMishrak. 55 replies.
Page 1 of 3 (56 items)   1 2 3 Next >
Sort Posts: Previous Next
  •  02-14-2008, 4:09 PM

    Job posts at studios still requires C++ . When does XNA will get its place?

    My friend Moris Beracha and Me searched the web for some job postings on major studios, and noticed that C++ is still king on the hill. ( Cpp )

    C# was definitely an asset, but mainly for tools development and the server side of online games. ( C sharp)

    So, when does XNA will get its place? What can we do to achieve that?

    I would like to hear opinions on how this is going to evolve in the future. Is XNA destined to be the tool for independent game developers and small teams? Is XNA able to reach major studios and big projects?

    Some links to job postings

    Blizzard

    Bungie

    BioWare

     

    Thanks, Baltico X.

  •  02-15-2008, 3:25 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    It isn't going to happen overnight. Some things to keep in mind are that many studios have spent years developing custom engines and toolsets for their games, many written in C and C++. Its a big investment. As well, most of the current popular 'off the shelf' AAA engines are written in C and C++ which will only perpetuate that cycle for another generation.  As well, though learning C# after having used C++ for many years is easy for most programmers, C and C++ have been the staple for quite some time.

    I suspect as the indie / smaller studios start to show the world what can be done w/ rapid development and C#, all running on a consoles nonetheless, others (including large studios) will take notice. They may slowly test the waters. But the change will be slow.



    My Blog | Rocketball! - 2007 DBP Finalist, 3rd Place Overall!
  •  02-15-2008, 7:16 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Engines are very often rewritten. That's not a problem I think.

    In my opinion CLR, C# and stuff is just not enough to make a revolution. Let's put aside fact, that most libraries are written in C and stuff. Game developers usually don't need much of them to create engine. Only few are needed, such as DX. That would be easy to wrap it in C#. But it just not make bigger sense.

    C++ is just not that much worse than C# and c# and clr is not that much better than c++. If some employee would pay me milion $ a day for a year, than someone would come and say that he will pay me milion and a thousand in the same manner - I would keep with old one.

    There is no temptation. C# and Java aren't good enough to break C++ reign in Engines development.

    So, what next? We got new trend... dynamic languages, such as famous python, and clr implementation of it, IronPython. That is all great, but it is also not enough for game developers. It's just another abstraction layer over things, another complication, another slowdown. We need something that could be operated in between layers, language(or runtime?) should allow easy interpreted and jitted code, there should be full memory control with garbage collector at the end of chain. I don't want to start flame or such, so I would end up in this place... :)

     

  •  02-17-2008, 5:14 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Some other elements:

    - Other game platforms (from Sony, Nintendo), are C/C++ only, and I doubt they will ever use C#. And game companies often work on several platform, so they have to focus on the common language.

    - Most of the professional middlewares (Bink, Havok, ...) are C/C++, and are also used on several platforms.

    While C# is great, it's a mono-company language. That's a great investment for game companies for creating tools faster, or even for game prototyping, but the king will stay C/C++ for long years again...

    But never forget that the language is only a tool. If you're a divine coder with C#, no doubt you can find a job as a game developer, because the game company will think: wow, if this guy can do this with a given language, he can also do it in other languages !
  •  02-18-2008, 4:47 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Saorne:

    But never forget that the language is only a tool. If you're a divine coder with C#, no doubt you can find a job as a game developer, because the game company will think: wow, if this guy can do this with a given language, he can also do it in other languages !

    Agree - example, graphics programming is more than just language. Actually to get really efficient on this position you would have to know more and more... Starting from all knowledge about technics, math behind, how to optimize them, some shader language... and far, far at the end, someone who wants to hire you, will ask if you are c master. "- I was working all this time with C# and managed dx. - Oh. Ok. You'll have to learn some cpp cause we are using it. - Ok." Nothing else. Showing some hand written effects should do it.

  •  02-19-2008, 11:30 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    I was working all this time with C# and managed dx. - Oh. Ok. You'll have to learn some cpp cause we are using it. - Ok." Nothing else.

    If only most companies were like that. Most of the time the HR drone will force the hiring manager to specify their requirements and then they will only let 'the perfect candidate' through the doors to the interview. It sucks but unless you have a couple of years of C++ on our resume and probably a shipped game you are unlikley to get a position coding games.

    You may get in as a tools programmer or a level designer sith script and move on up. Or you need to find the couple of companies using C#...

    I loved this article cos its so true http://www.codinghorror.com/blog/archives/001054.html

     



    The ZBuffer - News and information for XNA and Managed DirectX
  •  02-19-2008, 2:12 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    ok, there's two key points here to consider:

    1) Game development skills: An XNA developer that builds an advanced game using shaders, animations, physics, multiplayer networking, etc. will have no problem adapting to the game development needs at any "real" game development studio

    2) C++ development skills: The reality is that C++ is an arcane language, whose current existence was born of DECADES of foot-trampling, steering committees, and syntactic and semantic patching.  But that's what makes it so wonderful :)  The important point here is that you need to be able to demonstrate a firm grasp of the best patterns and practices of solid C++ development.  There's several books out there that will help you do this, and it's independent of your game development skills.  They're orthogonal concepts that (traditionally) work together to create retail games. 

    3) (Yes, I can't count) Getting hired in the industry is 95% being able to show the work you've personally done in the past and convince the employer how the skills you applied to do those things are valuable to them. 

    You should not regard the lack of C++ skills as a barrier.  Instead you should regard it as a call to action -- good employers (especially game studios) value flexible developers.  If is not unusual to hear of developers working in C++, C#, Perl, and Lua all in the same day.


    XNA Evangelist Dude.
    http://letskilldave.com
    http://twitter.com/letskilldave
  •  02-19-2008, 3:55 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Basically, it will become useful for professional games when they add good memory control to C# - not being able to use memory pools or control cache locality really kills performance - and when the compiler starts doing a good job with inlining, using prefetch and optimising in general. I've not yet tried it on a big project, but I'd also be concerned about build times, without Incredibuild or being able to do unity builds on upwards of 2000 source files.

    C# is a fine language, better than cpp from an architectural pov, and miles better from a reducing-legwork angle, but performance-wise cpp is currently better: take the standard MSVC compiler and it beats C#... then turn off RTTI, exceptions, error checking, and do a minute amount of tuning with a profiler for memory locality and branch prediction cases and watch performance jump 25%. Then switch to the Intel Compiler and voila, you've doubled your framerate. For commercial games with dev teams already skilled in cpp, that's a no-brainer.

    Then there's the cross-platform nature of games development as well. Switching languages itself though is not such a big deal, most devs I know swap between things like C++, Lua, Python, VB and a few other things quite casually.

    Btw, what previous repliers say about domain knowledge is absolutely true. Clever people with shader skills and a good eye for what makes a beautiful image are always welcome, as are people who know what they're doing with AI or producing high quality tools or even (shockingly!) gameplay ;) If you have the skills and want to do this as a career, just knock on the door and don't take "no" for an answer.
  •  02-19-2008, 4:21 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Kerome:
    Basically, it will become mainstream when they add good memory control to C# - not being able to use memory pools or control cache locality really kills performance - and when the compiler starts doing a good job with inlining.


    While it's true that there is a lot of room to optimize the Xbox run-time and there are a lot of micro-optimizations you can't make on either platform, I think your are making a big assumption on what it means to be "mainstream".

    If mainstream means Epic writes the next Unreal Engine with it, then yeah, it's going to need all sorts of cache control and manual memory management to get maximum speed. But I bet you didn't know that the vast majority of the Unreal Tournament games' code is Unreal Script: which runs 20 to 40 times slower than C++. There is plenty of space for C# in this definition of mainstream, but it's a lot further away due to platform support, legacy code, and legacy coders!

    In a more realistic definition of mainstream, C# is exactly what the doctor ordered. Practically every Xbox Live Arcade game and Walmart budget bin title could have been developed with in XNA. A large number of AAA titles probably could have been also. There's absolutely no reason why Viva Piniata all the way through to Fight Night Round 3 need to fiddle with cache locality or manual memory management.

    Kerome:
    I've not yet tried it on a big project, but I'd be concerned about build times as well, without Increbuild or being able to do unity builds and pushing upwards of 2000 source files.


    I sincerely hope you never have a 2000 source file C# project. Breaking it up into a few Assemblies is a smart and easy idea. But anyway, C# builds are orders of magnitude faster than C++ builds. There are a lot of explanations, but some quick web searches show that distributed C# builds are practically unheard of due to a lack of necessity.

    Distributed content builds... now that may be a problem for AAA titles.

    Brandon Bloom

    I am a former XNA Intern rejoining the team soon. Nothing I say is official.
  •  02-20-2008, 12:28 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Brandon Bloom:
    But I bet you didn't know that the vast majority of the Unreal Tournament games' code is Unreal Script: which runs 20 to 40 times slower than C++. 

    I knew that. Do I get a prize? :D

    Personally I kinda hope people don't adopt C# and XNA GS as it'll mean my games get done a lot quicker than theirs! :D

     

     

    Yeah, that kinda wasn't mean to be taken totally seriously, but then again....


    Jim Perry
    Here's what I'm up to.
  •  02-25-2008, 6:20 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Brandon Bloom:
    If mainstream means Epic writes the next Unreal Engine with it, then yeah, it's going to need all sorts of cache control and manual memory management to get maximum speed. But I bet you didn't know that the vast majority of the Unreal Tournament games' code is Unreal Script: which runs 20 to 40 times slower than C++. There is plenty of space for C# in this definition of mainstream, but it's a lot further away due to platform support, legacy code, and legacy coders!

    In a more realistic definition of mainstream, C# is exactly what the doctor ordered. Practically every Xbox Live Arcade game and Walmart budget bin title could have been developed with in XNA. A large number of AAA titles probably could have been also. There's absolutely no reason why Viva Piniata all the way through to Fight Night Round 3 need to fiddle with cache locality or manual memory management.


    From that point of view, you're quite right, of course. XNA as a RAD environment for games is very good for more casual titles, and I'll even concede the point for PC titles which do not push the technical boundaries. Although I have to say I'm a little surprised that UnrealScript is quite as slow as that... Lua 5.1 tests quite a lot faster, at around 12-15x.

    With scripts the point is that engines such as Unreal are architected in such a way that although a lot of the code is script, the engine spends a as little time as possible inside those scripts. The scripts act as a customisation layer over the engine code, and are not intended (or should not be intended) as "workhorse" pieces of code. It's the maximum speed you can get out of the system for the critical code sections that matters, while it's not such a big deal if your high-level decision making or your once-per-game level triggers run slowly. By coding with XNA you're more or less comitting to writing your renderer in C#, and if you are trying for a best-of-breed product, it matters.

    I'm not saying that that means anything bad for XNA or C# - mostly the reason it's less used is just skill set inertia, I'm sure. In the long run we all have to consider the dev-time vs fps argument... C++ is fast, but if your game is canned because you can't get it done in time that won't help you ;) Enfin, I do hope that MS realise that they're not that far off definitively overtaking C++ with C#, even for the big PC games, and it's very possible to add the required level of control over memory location to the language without going back to pointers.
  •  02-25-2008, 10:49 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    During my recent job hunt, I've had several recruiters and HR reps in companies call me up showing interest in my C# background. But most was out of state which I wasn't ready to move yet. It's out there, they're just hard to find.
  •  02-26-2008, 1:49 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Gibby:
    During my recent job hunt, I've had several recruiters and HR reps in companies call me up showing interest in my C# background. But most was out of state which I wasn't ready to move yet. It's out there, they're just hard to find.


    I'm curious. Were these game development studios or standard development companies? I know I got my internship largely on my ability to write C#, but it's not a game development place. I'd be interested to know which companies are looking around for C# and whether or not those are for tool programmers.


    Nick Gravelyn -- Microsoft XNA MVP
    XNA Wiki | Zune Games
  •  02-26-2008, 3:21 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    The thing is that C++ is more powerfull and it enables the programmer to have access to anything while C# is just a child of the CLR which means that it can't do something more than vb or managed C++ because they are all several faces to one coin and here comes the problem i think as if you want to add something new to C# you have to add to the whole CLR,However C C Language was found for over than 30 years now more over its OOP phase in C++ caught all the programmers view,and till now nothing had appeard that could takeover the crown from C++ but since C++ development is not going as fast as C# i think that C++ won't tolerate C# achivements for more than one decade and that C# will be the king then(Hope so).
    Ashour
  •  02-26-2008, 6:59 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    My studio is developing tookits and systems that will set the framework for several releases for this platform, with the intention of designing full sized releases for the Xbox 360 after 4 Xbox Live Arcade titles which are in various stages of development at this time.

    The real question is, will we be satisfied with the end amounts of compensation for our works, based of course on actual numbers sold, which is in the context of Live Arcade Royalties.  As we roll our out 4 releases over the next 11 months, we should have a realistic idea if their business plan will support our business plan.  If not, we have put our money in developing using the XSI suite, which will allow us very easy porting to the Steam Platform, and thats just one obvious example.


  •  02-26-2008, 7:27 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Unless you already are in talks with MS there is no way you are releasing 4 XBLA games in 11 months - the process takes a long time and there are schedules for when games get released that are pretty full.  The only way to get the information on royaties is to have a publishing agreement with Microsoft. Nobody is going to comment in here on the financial aspects. However the rumour mill says there are plenty of big companies still writing XBLA games and few of them work for nothing.

    Here is the process for getting on XBLA http://forums.xna.com/thread/16411.aspx well as much as we can determine.

    BTW what advantage does using XSI have for porting to steam?



    The ZBuffer - News and information for XNA and Managed DirectX
  •  02-26-2008, 8:04 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    I certainly wouldn't underestimate the skills earned by using C# and XNA and how applicable they are to getting a job in the games industry. I didn't start programming until about 5 years ago, and didn't start game programming until ~22 months ago, a few months before XNA was announced. In that period I use MDX and moved to XNA from August 06 onwards except to continue work on a project I'd already started.

    During my final year at university (first half of 07) I started thinking seriously about getting into the games industry given how much I'd enjoyed doing it as a hobby until that point, fully expecting my complete lack of C++ experience to be a stumbling block. It wasn't really until last September after having graduated in July that I even looked at C++, so to say I got my first job (at Kuju) in November on the back of any great C++ experience wouldn't be true. What did get me the job was a clear demonstration that I had done the groundwork required to convince them that I wasn't applying on a whim and was genuinely committed to being a game developer. Even though I'd been using MDX/XNA for a while I'd not got any games I'd written to anything approaching completion, but in working on them had built-up a sizable knowledge of 2D and 3D game programming, something I certainly wouldn't have wanted to do using C++ (even if I had knowledge of the language).

    In my talking to various UK developers (before getting the job) it's quite clear that even though none of them (to my knowledge) were using XNA for production level titles there certainly are a few using it to rapidly prototype new game ideas and I can't have spoken to more than about 10. I think the time is quickly approaching where many of these larger studios that prototype games using XNA (especially XBLA titles) will realise they needn't make that switch back to C++. Assuming the process goes smoother than it sounds like it did for Schizoid, I see little reason why they wouldn't start hiring decent programmers with knowledge of C#/XNA with a view to doing the entire title in XNA from start to finish. It'll certainly take time both for the studios to realise XNA's benefits, but also for Microsoft to give the sort of support for XNA titles you might expect if you were using the native libraries. In my (rather uninformed) opinion it's the sort of the of thing that will really fall into place as studios begin the transition to the next generation of consoles in the next couple of years, to have full XNA developer support there from the start, both for Live distributed titles and disk-based titles (should such things even exist in the next generation). We'll see.

    Until then though I'll be using C++... perhaps not the ideal PR story for XNA, but it certainly served it's purpose in getting someone into the games industry, even if the games industry doesn't yet want to follow.

  •  02-27-2008, 2:36 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    Nick, I forgot which company it was. Unfortunately, I threw away most of my notes regarding companies and positions that were presented to me after I accepted my new position. I only got into XNA and C# last Sept. and most of my background deals with design scripting using proprietary script languages or LUA. If I remember correctly, most of the positions were looking for people with several years experience with C#.

    If you're having a hard time finding companies on your own, I really suggest finding a trustworthy recruiter. They can really help quite a bit. I also got a lot of responses from posting my resume on DICE and Monster...believe it or not! Those sites actually work in getting your resume seen by many companies since most companies now have their own internal recruiters that scour those sites daily.

    It's funny, earlier today, I overheard some designers/programmers talking about the possibility of using C# in future projects. One programmer was basically stating the pros and cons and was basically describing how it works. Whether it happens or not is the question but just to hear people talk about it means it's starting to gain popularity. Even designers were talking about "needing to look into XNA" since GDC really brought it out.

    I think at this point, it's up to the indies to really push XNA and prove that innovative games both simple and complex can be developed using this platform. During a time where large publishers are buying out big companies really opens the door for small teams to sneak in and do something creative. It's funny, "next-gen" doesn't only mean higher resolution graphics, sound, or epic games...it seems like it took "next-gen" to make consumers realize there's still value in simple, retro-like games, that are fun and simple to get into. I think this is where small teams can step in and provide something fresh. It's like a step back, yet, a leap forward if that makes any sense.

    If XNA and C# can prove that things can be done quickly and efficiently, then money can be saved from reducing the development time. If money can be saved and yeild fun games people will buy, it's only a matter of time till more companies put more faith into this.

  •  02-27-2008, 12:27 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    As I am working for a large game company I may give you an inside why we still looking for C++ developers today.

    1.       We have a large C++ code base that would not magically rewrite to C# overnight. I know that some people believe that “engines are rewritten all the time”. That true but “rewrite” doesn’t mean throwing anything away and start from the scratch. “Rewrite” stand for changing modules that doesn’t long fit the needs one after another. So even if you plan going to C# you still need people who understand your codebase to port it over.

    2.       The C++ code base caused the next problem. As we are not willing (or better say it is just impossible even thinking about it) to throw anything away and start over from the scratch we need ways to make C++ and C# working together. So far this is only supported on the PC but today you need at least plans for porting to a console. Without a C# only code base there is no plan.

    3.       Let’s assume for one moment we have a full C# code base. Another problem is just around the corner. It’s not possible to ship boxed C# games on the Xbox360.

    4.       The last and biggest problem that any bigger studio has with C# today is the limited overall platform support. It will work only on PC (with Windows) and as stated in point 3 in a limited way on the Xbox360. There is no support for any other game system. I willing to add Windows Mobile based mobiles and Zune but there isn’t a big game market on these platforms.

    Even if you are willing to use C# (and we are willing) there are simply too many unsolved problems to make it happen.

  •  03-01-2008, 11:19 AM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    I agree with the statement above that C# just doesn't offer enough to start a revolution in game software development.  The cost vs. benefit analysis results (for me, at least) just isn't sufficient.  Now if C# 4.0 comes along and offers truly revolutionary language features and a high-performance CLR backend to support it, then it will be a different story.

    As has been mentioned above, C# and the underlying .NET technology are missing some key features that are required for cutting-edge games.  C# is great for rapid development, and business applications where you're so heavily bottlenecked by database and file access times that you'll never notice lost CPU cycles during routine processing.  However, when it comes to numerical processing like that found in game physics, video encoders/decoders, etc., .NET is unable to hold a candle to properly optimized native code.  Unfortunately, this is a huge issue with the Xbox CLR.

    As CLR technology evolves, I'm sure we will start seeing better performance out of C# code.  However, I doubt this is a priority for the .NET team.  Which is most likely to be improved/added by the .NET team: database connections and XML processing, or floating-point vectorization and optimized code generators?  Cater to the business world, or the gaming world?

    For casual games, this really isn't an issue and I'm sure XNA will get market penetration here.  For more cutting-edge games that push the hardware, I doubt there will be much XNA activity.  Tools maybe, but not the core engine code.  This is especially true for cross-platform games.  If you use XNA, you're stuck with Windows/Xbox (and potentially Zune).  There is no non-Microsoft platform support.

    The way I see it, C++ isn't going anywhere, and neither is C#.  XBLA-quality titles will most likely become an even mix of C++ and C#/XNA titles, and AAA titles will remain dominated by C++ (with maybe a handful of XNA bargain bin titles thrown in).  On the PC side of things, you'll probably see more XNA indie games, but the AAA titles will remain native in the majority.
  •  03-23-2008, 3:33 PM

    Re: Job posts at studios still requires C++ . When does XNA will get its place?

    It's due to the fact c# is slowwwww in a game engine, Show me one good FPS(Fist person shooter) with a decent fps(frames per second). Hard ain't it.

    C++ is usfull in apps and is the king of games.

    c# is Best for making apps.

    But look at Lua and ruby, thay have been around for over ten years and ony now do they have power and use

    Hmmm.
  •  03-23-2008, 3:45 PM