Tell me more ×
Game Development Stack Exchange is a question and answer site for professional and independent game developers. It's 100% free, no registration required.

I started C# programming in order to develop games with XNA later (I always wanted to create some awesome 3D-based RPG or at least a functional one). I read a good book for C# which is gamedev-oriented (even better). Since I already knew other languages I could quickly learn C# features and syntax code. Then I stepped over XNA...

Since the book I was reading was a bit old, I put it aside and started to find game dev tutorials about XNA over the internet. I could accomplish and understand most of them using 2D graphics. I created animated sprites, made my characters move in any direction, scrolled my background together with my character's movement and so on. Everything was done with "raw" XNA.

I found some of those things hard to understand, also I found that some thing could already be built-in the framework, then I found out game engines which I could clearly understand at least the simple line codes such as FlatRedBall, Axiom and Quick Start Engine.

I already knew of the famous ones like OGRE, Unreal and Unity. At the same time I was tempted to throw it all away and start learning some famous game engine programming, I wanted to stay with XNA which took me time to learn and I wouldn't like to waste it.

This time, I leave it for the experienced ones. Can I go through some game engine and use what it has to offer even if I'm starting with game development? Some people could think that is good to get used with the boring routines of a naked framework. And if so, what would be the recommended one to start off? I heard that it varies from market to market. We can consider that I want a RPG specific engine, maybe.

Am I messing everything up and should forget all that I said? Sorry about the ignorance, I'm just a beginner

share|improve this question
migrated from here as this is probably a more suitable location stackoverflow.com/questions/4383054/… – CrazyJugglerDrummer Dec 8 '10 at 1:07
1  
I had the same thing on my mind... I've been using XNA for like 4 years. I started out making an MMORPG... Look where that got me, no where. As always, start small, use something you like unless you have bigger plans, and just get something done before too much time flies by. – Omnion Dec 8 '10 at 3:35

2 Answers

up vote 7 down vote accepted

It depends on what do you want to learn. If you want to "just create game" you can be good with engine. I personally do not recommend this.

If you wanna to really understand how computer graphics works you must go deeper and learn all the stuff. From refreshing linear algebra (at least matrices, vectors and linear spaces) to understand how graphics pipeline works. XNA is the best framework to start with. My first game was in it (i mean real game, first 3D app was battle tanks in opengl - but who cares). If you wanna to start 3D programming, do not have so ambitious plans, you cannot do RPG now. You should try to make some game where you are flying in space full of cubes and trying to shoot the red ones, to learn basics. It will propably take you more time than you should say now :). But it will learn you lots.

And go for it! 3D graphics programming is just the best thing which you can do for living. It is hard,fun and creative in one package.

share|improve this answer

There is nothing wrong with using an existing engine, it all comes down to your goals.

If you are most interested in just building some games or game design, the faster you get to the gameplay code the better. Something like Unity is great here, as you can use your C# knowledge and start attaching scripts to objects and have something running immediately.

If you want to become a game programmer, then you need to understand things at a lower level. A framework like XNA is a good starting place. You can rely on the framework to get things up and running and then start replacing parts of the framework with your own code as you learn how to build each component of your game.

share|improve this answer
I like yours answer more than mine. +1 for you. – Notabene Dec 8 '10 at 1:52
3  
It's especially useful if say you want to be a game programmer, to start with an engine, and then when you make your own go study that one you used as a good example (assuming you enjoyed using it) to contrast with other resources you find on engine architecture. – michael.bartnett Dec 8 '10 at 6:38
But still you should be solid rock in computer graphics basics, even if you are using engine. – Notabene Dec 8 '10 at 10:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.