Take the 2-minute tour ×
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 making a 2D game in C# and realized that I could also use a game engine or XNA. For the moment everything works fine but I'm afraid I will have problems in the future.

So do I actually need a game engine or XNA? Or will it also works without.

PS: I don't know anything of XNA so I would learn it.

share|improve this question
    
C# is not a great game language as it is managed. This means to talk directly to the GPU (and not very slow GDI or cumbersome P/Invokes) probably means using external libraries such as SlimDX etc. XNA is the replacement for DirectX from Microsoft that makes using C# syntax in a faster, game orientated (and cross platform) way. It hides most of the GPU access required and makes many things much easier while maintaining good frame rates. It is well worth learning. –  Wolf5370 Jul 13 '12 at 18:48
    
Wolf5370, I'm kind of building up my programming skills. I started with Visual Basic and I'm also seeing this language in school. Right now I'm learning C# and after C#, I'm going to learn Java or C++. –  Velcio Jul 13 '12 at 19:03
    
Sure - c# is great for building Apps and websites/services with. XNA is the form of C# you want to use if you want to game program. There are other ways (like I said SlimDX and TAO) but these are just libraries which do not help learning c# particularly. It's just a case of picking the right tool for the right job really. IMHO I would spend some time on XNA, if games programming is your objective; or build some winform apps if learning c# is your objective. XNA is good because it handles a lot of the under the covers horror nad adds helpers and datatypes/maths etc that make life easier. –  Wolf5370 Jul 14 '12 at 9:36
add comment

2 Answers 2

up vote 10 down vote accepted

Game engines are not required! However, since you seem to be new to game development, game engines are highly recommended. XNA will help you by abstracting away a large amount of complex tasks into easy ones. Think of the engine like a set of tools and code that covers all the "standard" game development tasks, so you don't have to re-write something that needs to be written for every game.

Obligatory game/engine advice: Make games, not engines.

share|improve this answer
    
Is it easy to make my own buttons in XNA? Because without XNA it was very easy to make my own custom button. Thnx for the advice :P –  Velcio Jul 13 '12 at 16:12
    
I don't use XNA, so I don't really have a good idea about that. However, from my understanding, XNA doesn't really have GUI features built in. If you're only looking for GUI type functionality check out: xnagui.codeplex.com –  Byte56 Jul 13 '12 at 16:17
    
thank you very much, I think I will use XNA to make my game. –  Velcio Jul 13 '12 at 16:21
    
Plus one for the "make games, not engines" advice, even though I'm making an engine now- ;) –  jco Jul 13 '12 at 16:50
1  
@Bane Same here :/ I think that means we're more qualified to give the advice though :) –  Byte56 Jul 13 '12 at 16:59
add comment

It seems to be a slight misunderstanding here what a engine actually is. The foundation of a game is always called a engine. Can you build a car without a engine? No. But you can build your own, you don't have to depend on any premade engine. Your engine can be a tiny 100 lines of code or it can be a big beast of hundred thousands lines of code. Either way its a engine. Building big reusable engines is something rather new, ten/fifteen years ago every engine was a very specialized one, specifically build for the one game it was used in.

Building your game from scratch can teach you a lot about the implications of design decisions and I think every game developer should have gone through that process at least once for a small game.

However using a already existing engine will make a game require a lot less work, and why do the work again if it was done once already?

I tend to interpret the slogan "Make games, not engines" as "Make your engine as small as possible" because many programmers tend to work years on the engine for their game, implementing many things they don't really need, rather than the game itself. That way they never finish it.

share|improve this answer
    
Is XNA a game engine or can I make a small engine using XNA? –  Velcio Jul 13 '12 at 17:45
1  
XNA is a library you can use to write your engine. Its not a engine because its basically just providing building blocks rather then a complete (and rigid, as it is usual for engines) structure. –  API-Beast Jul 13 '12 at 18:21
add comment

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.