XNA Creators Club Online
Page 1 of 1 (10 items)
並べ替え : 前へ 次へ

List of things I want

Last post 2007/09/14 7:21 by Kawe. 9 replies.
  • 2007/09/12 18:20

    List of things I want

    Background:
    So, I've been hanging around here since this spring when I discovered XNA. My programming background is that of a novice studying game development at a university. Basically I was hoping to make a list of things I think are missing and that I'd like to really see. I think I'm a pretty good person to do this since XNA is aimed at the non-professional game developers that aspire to make games that take it further than a Breakout/Pong clone.

    Now this isn't just about what's missing in XNA. It's also documentation, tutorials and so on.. things that the community can produce. So this is aimed at... well.. anyone interested in XNA.

    Oh, and if anyone got a "Connect" ticket open for any of these issues please link them so I can go and give them a vote. I tried fiddling around there but it got kind of annoying to find any.

    General XNA:
    I understand that Microsoft really wants to push this for Xbox360 but personally I don't even own a 360 and I'm not really planning to get one. If I want to make a game it's still a lot easier to distribute on the Windows platform (since most people own a computer but maybe not a 360). Anyhow..

    - Make it easier to distribute Windows games.
    This has been up before. I've read threads about it and I don't understand at all why this isn't taken more seriously.
    There's some about it on the FAQ here (ZMan's soapbox):
    Sadly I lost the link to the best thread about this. Summed up there's too much of a hassle to get XNA games running on any given Windows computer. It requires NET 2.0 (that apparently can take a lot of time to install), DirectX 9.0c (this is technically not a probably if it wouldn't have been that there are different versions of 9.0c and that XNA doesn't run on the older ones!), XNA redist.. uhm.. did I miss anything? Well, regardless this is a lot of stuff. Especially if you want people to download this. Just imagine trying to convince peopel that they don't have the latest DirectX even though they are running 9.0c.

    A lot of people are looking into XNA right now are people aspiring to make commerical games with it. The technology sure lets you do it. It won't be the next AAA game but hey.. a good game is a good game. But the installer issue kills a lot of potential on the Windows market. As someone put it in a thread.. this is like a queue at the supermarket. People won't wait at the longest queue.. people don't have the patience to make sure that their system can run the game. Thus it falls on the developers responsibility.

    Oh.. I just realized that I forgot another dependency.. Windows XP SP2.

    - Give more examples on typical optimization processes. How to deal with optimization.
    What I think is the most underestimated things with managed code is performance. Just because it's managed a lot of people automatically think that any code will work just as well, cause hey... it's managed. Everything hard is already taken care of... or... not.

    I read this tutorial over at the Education section yesterday and I was amazed how code that looks completely correct still can be optimized so subtly... and it had quite a lot of impact. More articles with these kind of things would most likely be really appreciated by the community and I'm pretty sure there are a lot of competent people on these forums that can produce similar articles.

    Maybe even some more experience person could make some fun contest called "optimize my code". Then when a winner is found there'll be some brief explanation on the problem and how to solve it.

    - A better/centralized XNA resource collection
    I think I've checked the major XNA community sites as well as the MSDN documentation (it's so slow!) and honestly it isn't enough. There are a lot of good tutorials out there but there's no organization (and still not enough tutorials)! It would be really awesome if there was some site that collected everything into categories or something like that. I realize this isn't really Microsoft's ball so yeah... anyone who's good with websites.. it'd be really appreciated I think. Or maybe have some of the major sites get together and make some joint site?

    As many people have said. One of the major obstacles of making managed code more viable for professional game development is the fact that C/C++ has been around for a decade and the codebase, solutions and so on is just too huge to put away. So building up a real major dedicated community site would probably give XNA a nice boost as well as making things easier for us new people. Well.. it's already a lot more easier but yea.. :)

    As it is now... finding something is just as easy as losing it. It's really hard to keep track of a zillion threads, mini-tutorials.. and so on.

    On 3D:
    I think the reason I started to like XNA was cause the process of making 2D games was pretty simple. Since DirectDraw was removed(?) it has apparently been quite of a hassle to do in DirectX. Anyhow.. 2D is kind of limited but that's where XNA is shining the most. But I think that is only because there's so little information on the 3D aspects of XNA... and it's such a huge subject. Mostly it's the "links" that lack information (you will see what I mean).

    - Going from 3D modeling application to XNA.
    Everyone knows how you can load and draw your models with XNA. Just export to the .x or .fbx format. So far so good...
    But the whole aspect of what gets out from the modeling application and how you can access it in a good way. One thing that has eluded me is how I can make a level in say.. 3D Studio MAX and get it working in a game.

    Just loading and drawing could be the same as any model really. But what about physics? Obviously I need to create some kind of collision data but how? There's most likely many solutions but... how do I do it in ONE way in XNA? Oh.. and then we have culling and all that fun stuff. Obviously this depends on the game.. just think a regular FPS game. I mean.. I've done most of the Riemer's tutorials and that shows terrain generation and some basic collision but.. honestly a heightmap doesn't have any resemblance to what I'm thinking of.

    Oh and yeah... what exactly gets out and can be used with XNA by default? What happens if I group objects together in 3Ds? Can I get them out as a group in XNA too? Or hierarchies.. and so on. There's literally nothing about this anywhere.. at least from what I've seen. It is really one of the more important things to get 3D games going.

    - How to get animations working
    Do I even have to say anything? I don't think I've seen anything about this except that simple animation sample.. but I think something more advanced can be shown? Or less advanced maybe?

    - 3D Physics
    I already mentioned physics once. But this is really the heart of a 3D game. You can have the best graphics in the world but it wouldn't get you anywhere without physics cause your character would fall through the world. Obviously physics can be done in many ways but hey.. there aren't even any bouncing ball samples out there I believe.

    Summary:
    Well, there's probably a lot more that I missed. It's getting late and these are the main things that I've had on my mind. In particular it's loading levels and distributing the games... well basically the things with a lot of text or the things mentioned more than once.

    Anyhow.. any thoughts or comments are welcome

    Oh.. and this post is kind of selfish :)
  • Re: List of things I want

    I hear you on a lot of these issues.

    Kawe:
    A lot of people are looking into XNA right now are people aspiring to make commerical games with it. The technology sure lets you do it. It won't be the next AAA game but hey.. a good game is a good game.

    Why are you so sure you can't make a AAA game? If you merely mean that most XNA users are indies, then that makes sense. But nothing in XNA prevents you from making a AAA game given time and resources.


    - Give more examples on typical optimization processes. How to deal with optimization.

    Check out Shawn's blog. He posted a few posts about optimizing XNA games.


    As for the physics, people are working on it. There's BulletX and probably others. I'm planning on attempting a port of the Tokamak engine myself which will add to the physics engines available.

    All in all XNA really just needs time. It's less than a year old so there's no way it could compare with the weath of resources for OpenGL or DirectX, both of which having been around for probably a decade or more. Give it time. People are making tutorials and people are building resources. The samples here are great, and Ziggy has some good stuff too.
  • Re: List of things I want

    But what about physics?


    The XNA Framework is not a game engine. It is an application development and content processing framework, that also gives you access to most of the 3D graphics hardware and some input and sound playback hardware. You, or someone else, will have to provide the rest.

    If there is enough market demand, someone will come up with a physics engine for XNA that you can integrate to get physical gameplay. However, ecause the main draw of XNA is that it's cross-platform, and you can't wrap native DLLs into game libraries for Xbox, the cost of developing such a library seems to be too high right now. There are some third party efforts going on, but most I've seen have been 2D.

    Further, the fact that Microsoft is giving away XNA GSE means that the main market is likely not very willing to pay for a third party library.


    Jon Watte, Direct3D MVP
    Tweets, occasionally
    kW X-port 3ds Max .X exporter
    kW Animation source code
  • Re: List of things I want

    Kawe:

    Oh.. I just realized that I forgot another dependency.. Windows XP SP2.

    And what is the problem here? If you have Windows XP, or WindowsXP SP1, upgrading to SP2 is free, and recommended for a number of other reasons. If you have Vista, you're good to go.

    What else do you need? (If you think of Linux, keep in mind that XNA is a MS product for MS platforms)

    Kawe:

    - A better/centralized XNA resource collection
    I think I've checked the major XNA community sites as well as the MSDN documentation (it's so slow!) and honestly it isn't enough. There are a lot of good tutorials out there but there's no organization (and still not enough tutorials)!

    Searching for OpenGL or DirectX tutorials wasn't such a happy experience either. Most of the things you find are basics, and a great part of the things shown in these tutorials are very simplified in XNA.

    You say you want more tutorials. Then make a list of what topics you would want covered in these tutorials. There are many of us that want to make tutorials, when we get some free time, and want to help the community, but don't exactly know what the community wants in those tutorials. For example, I made the fog of war sample simply because I saw someone requesting it on the ziggyware forum. If you request some tutorials, with specific topics, surely someone will come out and make either a tutorial, or a sample. But you can't expect the guys making tutorials to stand all day and think "What could I do a tutorial about?". Help them help you! (But please, don't ask for "How to make a 3D physics engine")


    Kawe:

    - How to get animations working
    Do I even have to say anything? I don't think I've seen anything about this except that simple animation sample.. but I think something more advanced can be shown? Or less advanced maybe?

    There is also the Skinned Model sample, Benjamin Nitschke's Collada animation sample, and the XNA Animation Component Library on codeplex.

     

    Also, remember that XNA is only a little over 1 year old. The first beta was released August 31 2006. MS is doing the best they can to bring us more features, and more things. We already have two great starter kits (Racer and Ship), and more are coming. Networking is coming also, and from what I've heard it will be very easy to use. So they are doing what they can, but don't expect them to be robots.

    But still, as said before, XNA GSE and the XNA Framework are not a game engine. They give us the tools, but some aspects we have to do ourselves, like physics, collision models, and others. If they gave you a ONE way to do collisions, people will come out and complain that it is not flexible enough, that it can't be used for what they want. Same goes for a unified way of loading levels. Some things just have to be done by yourself, tailored for your game.

  • Re: List of things I want

    Why are you so sure you can't make a AAA game? If you merely mean that most XNA users are indies, then that makes sense. But nothing in XNA prevents you from making a AAA game given time and resources.

    Well. To be honest. I'm not sure at all about AAA games. So far a lot of  today's AAA games have mostly been about new technology rather than innovative gameplay. From that point of view I don't think XNA will be producing the next AAA game. However a game very close to it could most likely be produced. But then I'm actually not sure what defines an AAA. If it's sales then maybe...

    I guess it's just my own opinion. Personally I'm looking into XNA cause it seems like a cheaper and faster way to make a game. When I get a team together they won't have to learn certain things and you won't need wiz programmers to do anything. I mean most people from my class could read and understand C# code as opposed to C++ code. At least that's what I think.

    Check out Shawn's blog.

    I've been hanging around Shawn's blog and it's really great. However it'd be nice if someone would collect all of these things somewhere so you can easily find it. Also there's probably a lot more to be said about optimization... and it is a really interesting subject.

    The XNA Framework is not a game engine.

    Oh, don't get me wrong here. I'm not saying I want the XNA framework to include all of this. I just want more information in general (which could be provided by the community). This information could be in the form of... anything. Libraries, samples, tutorials.. and so on.
  • Re: List of things I want

    Catalin Zima:
    And what is the problem here? If you have Windows XP, or WindowsXP SP1, upgrading to SP2 is free, and recommended for a number of other reasons. If you have Vista, you're good to go.

    Oh, it was merely an addendum to make my list of dependencies more consistent. Anyone that is running WinXP that doesn't have SP2 should go get it anyway.

    You say you want more tutorials. Then make a list of what topics you would want covered in these tutorials. There are many of us that want to make tutorials, when we get some free time, and want to help the community, but don't exactly know what the community wants in those tutorials. For example, I made the fog of war sample simply because I saw someone requesting it on the ziggyware forum. If you request some tutorials, with specific topics, surely someone will come out and make either a tutorial, or a sample. But you can't expect the guys making tutorials to stand all day and think "What could I do a tutorial about?". Help them help you! (But please, don't ask for "How to make a 3D physics engine")


    Well, it's just not more tutorials. The point was that the current major sites are going to need some restructuring sooner or later. Just take Ziggyware for an example. It's a really great site and is keeps on growing with more articles and currently got 73 articles. But unless you've been following every article it'll be quite difficult to find what you're looking for there. Oh... and I'm not really complaining. Just that I have this weird mind that tells me.. "hey.. there's quite a few good sites out there. What if they made a joint effort? That'd probably produce some crazy stuff".

    Also, remember that XNA is only a little over 1 year old.

    Oh.. and I'm not complaining or anything. I'm well aware of this fact and that's why I made this list. It's like.. a roadmap, so people can see what people demand. I don't think I'm the only one that wants to see well.. the things from my list.

    If I'd request a tutorial right now... or rather a walkthrough... then it'd be linking the 3d modeling application with XNA. What I mean is like.. for an example showing what you can set/do in say.. 3DS MAX and how to access it in XNA. Like.. can I name different parts, group them.. make hierarchies.. and how do I access them in XNA?

    The other thing I'd like to know is how to get some kind of physics data out of a level made in 3DS. And maybe some basic usage like.. not going through the floor.
  • Re: List of things I want

    Kawe:

    Well, it's just not more tutorials. The point was that the current major sites are going to need some restructuring sooner or later. Just take Ziggyware for an example. It's a really great site and is keeps on growing with more articles and currently got 73 articles. But unless you've been following every article it'll be quite difficult to find what you're looking for there. Oh... and I'm not really complaining. Just that I have this weird mind that tells me.. "hey.. there's quite a few good sites out there. What if they made a joint effort? That'd probably produce some crazy stuff".

    Oh, ok then. I agree that a central site where the tutorials would be put into a sort of hierachy would be a good idea. :)

    Kawe:

    If I'd request a tutorial right now... or rather a walkthrough... then it'd be linking the 3d modeling application with XNA. What I mean is like.. for an example showing what you can set/do in say.. 3DS MAX and how to access it in XNA. Like.. can I name different parts, group them.. make hierarchies.. and how do I access them in XNA?

    The other thing I'd like to know is how to get some kind of physics data out of a level made in 3DS. And maybe some basic usage like.. not going through the floor.

    The stuff about physics data taken from a 3d level is on its way. Shawn Hargreaves said that they plan on releasing a sample / article in which they explain how they did this in the Ship starter kit. The Ship starter kit levels are exported directly from the modelling package, and the collision data is extracted from that file. So basically what you want.

    As for the first thing you said... yes, the idea of having helper objects in the modelling application that are then interpreted by XNA to do whatever you want was a feature that was mentioned in the first presentations of the Content Pipeline. Indeed, it would be a nice thing to see how it's done. Most likely, this is done inside a custom Content Processor, but I don't have any experience with content processors. Maybe when they release the article I talked about earlier, this will be more clear.

    Anyway, this is a good idea of an article, and after I'm done with my VTF tutorial, I may try to look into it.

     

  • Re: List of things I want

    Kawe: there's a place for suggestions: http://connect.microsoft.com/

    ~Pete - MSFT MVP for DirectX/XNA

    Need guidance? Just remember: Do as I say, not as I do ...
  • Re: List of things I want

    I find the centralized community site such an amusing concept. No doubt it would be useful, but putting something together like that.....well, just kind of makes me chuckle. But I guess if we're dreaming shoot for the moon :)

    I know that I personally wouldn't want people NOT coming to my own site. Kind of the reason I have a site and all.
  • Re: List of things I want

    Ultrahead:
    Kawe: there's a place for suggestions: http://connect.microsoft.com/

    As I said.. this isn't just for Microsoft.

    George Clingerman:
    I find the centralized community site such an amusing concept. No doubt it would be useful, but putting something together like that.....well, just kind of makes me chuckle. But I guess if we're dreaming shoot for the moon :)

    I know that I personally wouldn't want people NOT coming to my own site. Kind of the reason I have a site and all.

    I think you misunderstood me a little. The idea isn't to take away visitors from other XNA sites. It's just to centralize where you can find everything. So if anything you would hopefully get more visitors than less. Think "link collection" but in a more majestic manner (and probably more features) :)

    But yes... it is more of a vision than something I think will be realized.
Page 1 of 1 (10 items) 前へ 次へ