-
|
|
|
Since the topic changed, moving this from a different post
FortisVenaliter Productions:XNA isn't a game engine. It's effectively a DirectX wrapper.
OK, i misunderstood what XNA was all about. i've used DirectX (in C++),
XNA is certainly easier than that, but not something i'd use in my
intro game courses, where students have minimal programming experience and only 10 weeks to make five games (not an issue for TGB, the tool we currently use)
If XNA isn't a game engine, presumably there are groups/companies that are making game engines using XNA. i know of TorqueX. Any others?
What features does XNA not have build in that a game engine might add? i was never clear on the line between TorqueX and XNA. i guess TorqueX adds GUIs and a level editor. Does XNA already contain collisions, physics, particles, networking, sound and 2D animation? i stopped looking at Torque because i assumed all this was in XNA
i assume TorqueX is a good game engine but just to be a smart shopper, i'd like to hear about any alternatives anyone knows of. And what features in the engine should i be looking for (i.e., common features that XNA doesn't have that the engine should therefore provide)?
|
|
-
-
- (14664)
-
premium membership
Team XNA
-
Posts
9,315
|
|
|
|
-
|
|
|
baylor:Does XNA already contain collisions, physics, particles, networking, sound and 2D animation?
That's game engine territory.
Sound is implemented. You can play any sound that you compiled with the content pipeline with a single line of code.
XNA does contain a small bounding volume collision frame work, but it's not automatic. You have have to set them up to work yourself. Phsyics, no.
Not sure what you mean by 2D animation. You can draw any 2D graphic very easily, but animation can mean different things. It's up to you to move it around the screen or change the frames to something different.
XNA is a framework that gives you access to call into directx to show graphics, play sounds, and take input (among other things). But everything else you have to implement yourself. Torque is a game that runs, and you add your own content to it, and script that content.
You might try Unity 2.5. Torque has a bad reputation for having a horrible engine, very bad and incomplete documentation, and people say it's a pain to get your assets into the engine. I would never assume anything that comes from Garage Games is good.
return;
|
|
-
|
|
|
Thanks for the link to engines and also for the list of things to look for in the engines (which wasn't captured in the FAQ, but i still feel like a noob for not checking the FAQ first; doh!)
By animation i meant changing frames (like an idle animation). Sounds like that's not in XNA
i've heard excellent things about Unity but that does not support XNA, does it?
|
|
-
-
- (3151)
-
premium membership
-
Posts
1,485
|
|
baylor:
By animation i meant changing frames (like an idle animation). Sounds like that's not in XNA
XNA is a lot more "low-level". Yes, you can do that, but you're going to need to write a good deal of code to handle it whereas an engine may allow you to either drag and drop or easily configure this. In XNA, you wouldn't be starting with the frames, you'd be starting with the textures and then you'd have to define what a frame is and how frames are played/ordered/etc.
|
|
-
-
- (2643)
-
premium membership
-
Posts
738
|
|
If you go check garage games site they have just released the new versions of Torque X for XNA.
Henry My wife says most of my posts should finish with "Get off my lawn" smokinskull.comMy Twitter
|
|
-
-
- (14664)
-
premium membership
Team XNA
-
Posts
9,315
|
|
baylor:i've heard excellent things about Unity but that does not support XNA, does it?
No. Unity has renderers for both OpenGL and native Direct3D. If you are only targeting PC, it's not that big of a deal since you can use C# for the scripting with Unity (granted with their data structures and APIs). But if you wanted to put it on XBLCG, Unity would not work.
|
|
-
-
- (8275)
-
premium membership
MVP
-
Posts
6,127
|
|
something i'd use in my
intro game courses, where students have minimal programming experience
That's like trying to teach a "Latin poetry" class when the students haven't yet learned Latin. You have to crawl before you can walk. You have to learn to program before you can learn to program games. In fact, it would be useful if you also already required logic, classical mechanics, linear algebra, graph theory and a bit of color theory just for good measure.
Just because games are fun and simple to play, doesn't make them fun and simple to make -- rather the reverse!
Jon Watte, Direct3D MVP Tweets, occasionallykW X-port 3ds Max .X exporter kW Animation source code
|
|
-
|
|
|
jwatte:That's like trying to teach a "Latin poetry" class when the students haven't yet learned Latin. You have to crawl before you can walk. You have to learn to program before you can learn to program games. In fact, it would be useful if you also already required logic, classical mechanics, linear algebra, graph theory and a bit of color theory just for good measure.
Actually, we've been teaching this class for several years and the games they make are pretty good. That's the advantage of a good game engine ;) The issue is what you want them to be spending their 10 weeks on. The students in the intro to games course want to make games, which means focusing on design, maybe art and the code specific to their game (for example, how combat works). They don't want to write collision systems, physics, renderers, GUIs, animation systems, etc. Kinda like how, when i write a game engine, i don't want to also write the operating system, network drivers, graphics drivers, file I/O system, etc. Or how, when i want to learn to play soccer, i want to learn the rules and practice some kicking but i don't want to be required to learn how the kinetics of my ankle work. But i sure hope my doctor understands it after i break my leg and end up in the hospital :)
One of the problems we've seen in places that teach low level programming too early is that the students end up spending the rest of their lives writing cooler and cooler engines and never get to the part where they make a game (something, unfortunately, i'm guilty of as well). Writing games and writing game engines are entirely different tasks and require different skills. A game developer doesn't need to understand linear algebra or physics (unless, i suppose, that's the fun part of the game). It's a little embarassing to me that i've spent 20 years doing this and have written several renderers in assembler and i have teenage students who've written more games than i have (and their games are more fun too :( ). Right now, i wish i spent more time with a game engine and less time with a game API - more people would make fun of me for not being uber enough but i'd have a lot more games, and at some point you have to ask yourself, which do you enjoy more, writing games or writing technology
A side note - my students sometimes write puzzle games like the pipe one where you have to connect all the pipes or a 9-puzzle. And those are almost always harder for them than making an RPG or adventure game or platformer
|
|
-
-
- (8275)
-
premium membership
MVP
-
Posts
6,127
|
|
That's fine -- if the class is more like "shop" or "art" and less like "physics" or "math," then that's all fair. However, then you should not involve programming, IMO. Trying to involve programming will just lead to woes. Thus, XNA is not what you want to use. Something like Blade3D, perhaps? What have you been using before?
Jon Watte, Direct3D MVP Tweets, occasionallykW X-port 3ds Max .X exporter kW Animation source code
|
|
-
|
|
|
jwatte:That's fine -- if the class is more like "shop" or "art" and less like "physics" or "math," then that's all fair. However, then you should not involve programming, IMO. Trying to involve programming will just lead to woes. Thus, XNA is not what you want to use. Something like Blade3D, perhaps? What have you been using before?
Most of my students probably won't write the next Crytek engine but i think they'd do well make a lot of the Unreal or Source based games where much of the hardcore stuff (AABB, ragdoll, network state prediction, etc.) is already done. You pretty much have to teach them programming though, even if it's just in a scripting language. Even if they go on to become designers or artists, they still have to program (quests in NWN, MEL scripts in Maya, etc.). But it is really hard for some people - most of them get the logic, but debugging mismatched curly braces and missing semicolons causes a lot of grief. For my AI class (which is oddly before the intro to game programming class), i have them fill in the logic sections in templates or i give them code generators
For the intro class, we use Torque GameBuilder, a 2D engine. It's worked out really, really well. Turns out it doesn't (easily) make certain types of games (due to some bugs in functionality or implementation) but a lot of games you can build out of Behavior components really quickly and others can be built fairly fast. They generally make one game a day in the class (breakout, space invaders, frogger, Myst, etc.) for the first half and then their final project for the last half. The adventure games have been fantastic (i built a framework for them to use that let them build a lot of it with properties rather than code) and there have been some good platformers, arcade-kinds of games and others that required coding but mostly in an event-driven fashion (respond to onCollision, etc.). You'd never guess they were all made with the same engine
i also use TGB in the AI course and that's worked really well for the assignments i've given them (turn based strategies) but there are a few projects i'd like to do where it would be nice to have hashtables and something a little faster than a C-style scripting language. Still, it has built in pathfinding that works really well (i was surprised) and my monte carlo algorithms and real time Bresenham-based ray tracing for projected collision code, all in script, have run plenty fast enough
i suppose TGB actually is alright and i could keep using that. From what i can tell, the documentation for TGB is a little better than that for XNA (but XNA has better starter kits; i just wish they were documented). But i don't like being limited to script (and the C++ integration is painful), i think C# gives the students more career options, there are bugs that drive me nuts that i can't (easily) fix and it's easier to open source a project if the other person doesn't have to buy an engine.
|
|
-
-
- (0)
-
premium membership
-
Posts
26
|
|
jwatte:Thus, XNA is not what you want to use. Something like Blade3D, perhaps? What have you been using before?
I WAS trying Blade3D. It klunky but it more like what baylor is after. spot on jwatte. XBOX support is diabolical. I have abandoned it as useless.
baylor:
i suppose TGB actually is alright and i could keep using that. From what i can tell, the documentation for TGB is a little better than that for XNA (but XNA has better starter kits; i just wish they were documented).
I don't mean to appear rude. but you've been doing this 20 years, you teach, and you feel the XNA examples are tricky? I'm gobsmacked.
TGB - the 2D one is good IAUI, but the torqueX3D is appalling. I just wasted like a week testing it. UGH!!!
baylor:
But i don't like being limited to script (and the C++ integration is painful), i think C# gives the students more career options,
hmm - not in the games industry right now I wouldnt suggest. C++is a must AIUI.
hope this helps.
My two pence says stick to Jwattes sterling advice.
HTH
-----------------------------------PROJECTS:0xOrbIt! on Ox for XNA
|
|
-
-
- (0)
-
premium membership
-
Posts
26
|
|
Big Daddio:If you go check garage games site they have just released the new versions of Torque X for XNA.
dont bother, it's awful.
-----------------------------------PROJECTS:0xOrbIt! on Ox for XNA
|
|
|