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 have experience with XNA and Unity3D. I have also built my own engine with Tao and C#. I am in last year of college and I want to make a small RTS game demo, nothing fancy I won't bother much with the art part. I will leave objects untextured, just drop some light.

It is a big decision, which one to choose XNA or Unity3D or maybe else? I definitely won't build my own engine since I will waste lot of time that way. I am looking for an engine/framework that will allow me to concentrate on higher level stuff like AI algorithms rather than do my own texture loading and stuff.

More details: I will try to copy stuff from Starcraft2. My models and environment won't be textured though. I won't bother with sounds either, just some simple explosion and shooting sounds. The player will play against AI. I will go for the Starcraft2 mechanics/logic, not the skin. By skin I mean art stuff. At the end I would make small videos of gameplay showing the AI decision making process by printing text, so that a potential employee can see what is actually going on.

share|improve this question
5  
Contrary to "No sense in re-inventing the wheel", my belief is re-invent the wheel so you know how it works and then you can customize it and make it an awesome wheel. –  KRB Oct 5 '11 at 20:27
2  
Since XNA is not an engine, just a heavy wrapper around DirectX9 + some helper functions I think you should go for Unity3D. (Although I am a big fan of XNA the iteration time with Unity3D should be even shorter). –  Roy T. Oct 5 '11 at 20:41
    
If you want to dive a bit deeper and don't mind older code, Warzone 2100's source code was released some time ago: en.wikipedia.org/wiki/Warzone_2100 –  Michael Stum Oct 8 '11 at 12:24
    
Yeah, its here: Warzone 2100 source –  bobobobo Oct 13 '11 at 21:01
    
Its more realistic to say "i wanna build a game like Warcraft" than it is "Starcraft 2". THE HUMANS DRAW NEAR!! –  bobobobo Oct 13 '11 at 21:05
show 1 more comment

3 Answers

How to Choose Between Two Things

Seriously though, it sounds like a personal choice to me. Which one do you have more experience in or are more comfortable with? How might you start making an RTS with XNA vs. making it in Unity3D? Unity3D is higher-level, more engine-like; do you want to deal with matrices and stuff, essentially writing things from scratch, or do you want to work within Unity's environment?

Also from a goal-oriented perspective, it sounds like you're doing this for the end goal of showing an employer your game AI. It seems like you would want to do the least amount of work to get to the point of implementing AI, therefore you would want to choose Unity. But if you want to impress your employer with what you've written from scratch, XNA is definitely closer to starting from scratch than Unity3D.

share|improve this answer
    
+1 for the wikihow link ^^ –  Stephen Oct 9 '11 at 20:53
    
What really gets me about that link is it doesn't just say "GO WITH WHAT YOU SAID HEADS WOULD DO", but it says "If you don't like the outcome, then go with the other thing" –  bobobobo Oct 13 '11 at 21:03
    
@bobobobo Actually, you should give it a try. I do it occasionally (before finding this link) and that's exactly what I do. I can't decide one or the other, so I flip the coin and then I either agree with it or argue with it, and discover my choice. It's no fun if you flip it and it's heads but then you realize you wanted whatever tails was but force yourself to do the heads thing; the point is simply to get a "second opinion". –  Ricket Oct 15 '11 at 2:30
add comment

XNA is fine. Unity too. Really just choose one.

As a student I coded a turnbased strategy game in C#/XNA to implement an AI.

So here's some free advice:

You need to get the game in a playable state before even thinking about writing the AI. Yes I know this is obvious ;) So you might wanna consider making a mod for an existing RTS instead of writing an RTS from scratch.

Create a dumb AI as soon as possible. Just to test/tweak your RTS (if you build from scratch). This will give you some insights how to design your AI and which problems the AI needs to solve. It can also be used as opponent against the real AI later.

Your RTS rules must be complex enough to even require an AI e.g. a player should not be able to win by simply mass producing one unit type. One way to do this is by having a counter unit for each other unit type. Starcraft achieves this with different weapon/armor types.

The AI Game Programming Wisdom books by Steve Rabin are a good resource on game AI.

share|improve this answer
add comment

There is a FOSS engine specifically for RTS's http://springrts.com/

It uses Lua and C++.

Though it looks like your using the StarCraft2 engine. Which is a really good idea.

share|improve this answer
    
Its amazing, how long this engine is going one. Since 2005! –  iamcreasy Oct 8 '11 at 8:28
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.