So anyway, I've spend the last 2 years learning XNA, I've developed two small 2D games and one mid-size 3D shooter, all just for learning purposes. Now it's time to start work on the actual game. Initially I was going to go with XNA, but a couple of my friends who are game artists are strongly advising that I go with UDK (or Unity) instead.
I've done quite a bit of research on UDK (and Unity) so, while I've never used it, I know what it is and what it is not, i.e. it's a tool as opposed to XNA, which is a programming framework.
So I am at a cross-roads. I am not sure which way to go. Here are all the considerations I've been mulling over while trying to decide:
1. I am a programmer by education and trade. I have 3 years of professional game programming experience. I am currently not in the game industry (working as a JAVA programmer for an energy company), but I want to get back into it. If I started using UDK and then applied for jobs wouldn't it seem odd for a programmer to be using a tool some other programmer developed, i.e. won't the HR people think, "if you can program while not just make your own engine?" Isn't UDK more for level creators and designers, as opposed to programmers?
2. It's impossible to predict what HR people in a game company may or may not be looking for in an applicant, and even if it was, should that guide my decision? Wouldn't the better decision be to just go with the platform which would allow me to make the best game possible? If so, that makes consideration #1 obsolete.
3. I've already invested 2 years in XNA and have "an engine" sort of built. Of course, it's nothing compared to Unity or UDK, but it can put 3D terrains and animated models on the screen. I've no level editing tools, but that's something I could develop (or download, there probably are 3rd party Level Editors for XNA).
4. Is my time better spent focusing on gameplay programming and game design (which would be the case with UDK) or tools and engine development and gameplay programming and game design (which I would have to do if I stuck with XNA)?
5. I don't want to be an engine and tools programmer. Five years down the road I see my self more as a gameplay programmer and designer. My ultimate goal is to be a game designer. With that in mind, wouldn't it be better to go with UDK, which would allow me to focus on gameplay programming and design?
6. Experience with which one would be more useful in getting a job in the game industry?
7. UDK is multiplatform, XNA isn't. Not sure how much of a difference that makes. I want to develop console games.
8. With UDK I would pump out games faster, but I won't learn as much. Should I sacrifice knowledge for the sake of speed?
9. I can develop higher quality games with UDK, as it is the industry standard.
10. Will XNA be supported in future iterations of XBox?
This has been bothering me for about 2 weeks now. Any help would be appreciated.
Edited by lougv22, 05 August 2012 - 07:34 PM.