Just had a go with XNA

Miscellaneous Forums/General Discussion/Just had a go with XNA

It's quite good, using the free Microsoft C compiler and the free XNA game studio - I got a window up with loads of sprites rotating independently very easily, only problems were trying to remember how C works and how stubborn it is with regard to syntax and missing semi-colons.

It seems very fast also - I had 100 sprites on-screen at once and thought it looked very busy, so I decided to keep upping the numbers and see what happened - I ended up with 12000 alpha-blended colour-tinted Doom Cacodemon sprites all scaling and rotating at seperate speeds all on-screen at once with no sign of slowdown...excellent fun!

Hmmm, 2d Doom with 12000 Cacodemons...what possibilities for carnage!!!!

Anyone else messed around with XNA?

What's your system specs?

Core2Duo 1.6 (I think, I built it ages ago) with some Radeon, possibly a 1750Pro. Just about enough to play Crysis on medium.

I love XNA ...

XNA? I didnt like it because there is too much files things u need add before you can even run XNA!

xna is very nice but its requirements are a lot higher than blitz.

I've been playing around with XNA a little recently, and from what I've seen it seems really well designed and easy to use.

It's basically DirectX (wrapped into C#, which makes it a lot friendlier to beginners) with some high level classes built on top, and you can use any level you want - if you need to write a terrain engine for example, you can use direct vertex buffer access and set vertex buffers, shaders, textures, etc. manually. If you just need to draw some sprites/models, XNA has easy to use classes for that too.

I'm considering porting my current engine over to it, although I have doubts about it's speed, since a lot of high speed dynamic calculations are being done in my C++ code like procedural terrain generation, normal calculations, dynamic vertex buffer population, etc.

To be honest I'm more interested in it due to the straight to xbox-ness of it.

Seems fast enough to me, certainly it can fling sprites around much faster than Blitz it appears, especially taking into account it can do realtime scaling and rotation and alpha-blending all at once.

It's not as user-friendly as Blitz (you wouldn't really expect it to be when compared to a BASIC-type language) but I'm finding that there are loads of great tutorials and sample code on various websites, and as usual you learn by doing.

Getting stuff going on like sprites on-screen etc.. is harder than Blitz but much easier than DirectX - the Compiler can produce a sample program that gives you a basic window and adding about 3 lines of code can put a sprite up, so not really too bad at all.

The Xbox aspect is great. I find that PC performance is less than desirable.

Yeah it's definitely "harder" to learn than Blitz but it's much more powerful and flexible. And once you get a good framework running for your game it'll be far easier than Blitz thanks to C#'s OOP and productivity features.

I certainly hope it's fast enough. The fact that it can do 12,000 sprites smoothly is encouraging, but I'll have to see if it's enough. My terrain engine needs to dynamically generate batches of multiple 1000 vertexes, on which procedural alterations need to be performed, and normals need to be calculated. If this performs fast enough to not cause lag (it doesn't in C++), I'll be happy :)

To be honest I'm more interested in it due to the straight to xbox-ness of it.

Definitely. I probably wouldn't even consider it if it wasn't for this.

Unfortunately I'm sure it's not going to be compatible with Mac/Linux any time soon, unlike my current engine which is fully cross platform.

Edit:
I find that PC performance is less than desirable.

Could you elaborate on what ways it was slow? (for example in terms of CPU performance or GPU performance?)

q) Is XNA code private or does everyone get access to the source?

q) Porting to xbox. How does this work?

q) Can you sell something on the xbox with it? Is there some kind of license or approval process?

Here is the faq that covers your questions MGE.

http://creators.xna.com/en-US/faq

1) Its a framework. you can not access it at all. But that is not needed as well.

2) single click deploy but to run it on the xbox you need to have the $99 creators club membership

3) Sure, if you meet the needed quality. This is a console, so be aware that the process of approval and quality assurance will cost you $20'000 and more and that MS decides when the Q&A is met, not you

One important thing: If you intend to use XNA on desktop please keep in mind that it defines the minimum requirements as full Shader Model 2, so no casual game development with it as Intel at least till X3100 does not meet that (have not seen benchmarks of the 4500 yet so don't know if it finally got a shader processing unit that is capable of anything at all)

This is a console, so be aware that the process of approval and quality assurance will cost you $20'000 and more and that MS decides when the Q&A is met, not you
From what I understand you can simply submit to XBox Live marketplace, of course this isn't appropriate if you've written a massive million dollar game... that said... if you have then you probably won't mind a big QA process.

wait - so how exactly and where exactly do you install it? I have the Sharp Develop C# IDE, will it work with this? What files do I need?


I tried looking for XNA, but couldn't find anything but random wierd downloads off the MS website.

I've said it before, I think Mark should sell an XNA Wrapper that brings most of the blitz commands to C#, I'd pay good money for that to make the transition easier.

Rob: you mean the community marketplace. The regular one is different, there you will only get through Q&A
On the community one the community decides if it is worth or not and if not its just gone again. Not really the appropriate place given you invested months in its development. Even if the community does not decide so I think I remember the part that you are removed after a given time anyway or something the like. Might be wrong on this one.

XBLA Live Arcade games normally are no million dollar games. $30'000 - $300'000 at max.
If you opt your game to meet the Q&A requirements, the approval process will be less nerv killing and cost you less as well as it will not take 3+ attempts

Rob - I would consider that as well. Is it something that can be made as a compiled module? ie. protecting code etc?

I've said it before, I think Mark should sell an XNA Wrapper that brings most of the blitz commands to C#, I'd pay good money for that to make the transition easier.


I'm sure you would but writing tools to help people move away from your tools and towards other people's tools is hardly a wise long term business decision. I think we've all seen some "unusual" business decisions from BRL, but nothing quite as foot-shooting as that.

wait - so how exactly and where exactly do you install it? I have the Sharp Develop C# IDE, will it work with this? What files do I need?


Here you go : scroll down to the section titled "Join the XNA Creators Club and Download XNA Game Studio" and there are download links for Visual C# 2005 Express Edition and its service pack, and then a download link for the XNA Game Studio v2.0. Install VC first, then the SP, then install the Game Studio, and away you go!

http://creators.xna.com/en-US/create_detail

I'm sure you would but writing tools to help people move away from your tools and towards other people's tools is hardly a wise long term business decision. I think we've all seen some "unusual" business decisions from BRL, but nothing quite as foot-shooting as that.

Not really. XNA is very much like DirectX wrapped to .net with some extra features, so it's more of a light framework than an engine. To write a 3D game in XNA you're going to have to make an engine first, so for BRL to make an XNA-based engine like TorqueX, etc. would actually be a very smart business decision.

Of course BRL makes BlitzMax which in a way competes (and loses to) C#, so I can see why it could take business away from BlitzMax.

I'm sure you would but writing tools to help people move away from your tools and towards other people's tools is hardly a wise long term business decision
Yes and no... If people are going to move to XNA regardless then if you can make a few quid on the exit then why not?! And by keeping the command set in mind you're maintaining loyalty for potential future products.

I get what you're saying though! :)

Other indie companies are creating XNA engines so why not? In my opinion though Mark would be better off supporting iPhone because XNA is already geared toward game programming and is very Blitz like.

Are that many people really going to bother with an iphone. I know they are selling quite well, but it's still a tiny market. I've yet to see one in person or know of anyone that owns one in rl.

Why can't you buy the Blitz3D SDK and import your Blitz games into XNA that way? XNA uses C++. Blitz3D SDK is designed for C++.
With a simple porgram to add the bbcommand prefix to every line of your code, why couldn't someone port a Blitz game onto the 360??

Actually, if you implemented a virtual machine & compiler in C#, you could write a system that runs native Blitz3D code straight on the XBox360 through XNA. Of course, that would be ridiculous because BlitzBasic is a major (MAJOR) step backward from C#. Even BlitzMax doesn't compare.

With a simple porgram to add the bbcommand prefix to every line of your code, why couldn't someone port a Blitz game onto the 360??

It would be very easy to make a Blitz-like syntax for XNA, even with features like shaders. It's just that anyone with the time and knowledge to do it is probably too busy working with XNA on their own games :)

XNA really is superior to Blitz3D in flexibility, so I personally wouldn't want a Blitz3D-style commandset for my games.

However, I'm starting to reconsider using XNA for my game. C# is a nice programming language for game logic programming, but for manipulating vertex buffers, etc. C++ is better (easier and faster), and the XNA forums seem to be relatively unhelpful and "dead" compared to the gamedev.net or Ogre forums.

I just want something that would port my Blitz games onto the 360. Not only would that be cool, then I could sell them on Live.
I don't want to have to learn yet another language, then rewrite thousands of lines of code just to port a game that's already happily running.

Just use XNA ... it's dead easy.

iphone can go swivel, apple will gouge the sh8t out of developers once its well established. How about supporting the new open pandora.

i've been plying with the starterpacs and have been having fun creating my on fantasy rpg game thing.