Not logged in, Join Here! or Log In Below:  
 
News Articles Search    
 


Submitted by Charles Bloom, posted on April 17, 2002




Image Description, by Charles Bloom



These images show a little particles system running on an XBox. The particles are time-evolved by the GPU in a vertex shader; that is, the CPU creates particles and then never touches them again. The particles live in memory only once (in the vertex buffer), there is no system memory copy. Particles can be added to this circular buffer by the CPU without stalling the GPU on the XBox.

I get about 30 million particles per second when their size is set to zero, but in practice particle systems are fill-rate limited. As usual, it looks much better in motion, but I'm afraid you need an XBox dev kit to run the demo ;^)


[prev]
Image of the Day Gallery
www.flipcode.com

[next]

 
Message Center / Reader Comments: ( To Participate in the Discussion, Join the Community )
 
Archive Notice: This thread is old and no longer active. It is here for reference purposes. This thread was created on an older version of the flipcode forums, before the site closed in 2005. Please keep that in mind as you view this thread, as many of the topics and opinions may be outdated.
 
L.e.Denninger

April 18, 2002, 04:15 AM

30.000.000 particles / 60Fps = 500.000 particles.

With size set to 0.0f

500.000 particles = 500.000 quads or
1 Million triangles/sec.

Thaznotthatmuchreally....
The king is not impressed.

 
Mox

April 18, 2002, 04:37 AM

You're right, one million triangles per second is quite basic PC performance.

How about the one million triangles per FRAME rate that you actually calculated, though?

: )

yours,
Mox.

 
KieranIsOK

April 18, 2002, 04:40 AM

Charles, in opengl you can specify whether the "vertex buffer" is created in video memory or agp memory. Now, sequential writing to agp memory is not very expensive. I believe this can be done as efficiently on a pc as the xbox.

 
gmcbay

April 18, 2002, 04:49 AM

Sony would be pretty hypocritical to try suing Microsoft over exclusive contracts, since pretty much everyone in the console world tries to aquire as many exclusives as they can... Just look at all the recent Final Fantasy games (well, until XI hits, anyway)....

 
Manuel Astudillo

April 18, 2002, 05:11 AM

Hi,

well, I guess that the thing that make a lot of people upset is the fact that XBox is very similar to a PC. Standard intel pentium 3 and a Nvidia chip which is almost a GF3. It means that for a developer, making a XBox title and PC version of it is not hard att all. People is asking then, why should I buy a XBox if my pc is potentially able to play the same games? The same thing doesnt apply to gameconsoles as PS2, Dreamcast or GameCube.
Anyway, at the end the thing that matters is the amount of games and the quality of them. Right now PS2 has the best games and XBox has to fight against that to win a position in the market. Another fact is that XBox is VERY expensive: ~550EUR, dunno in USA. Thats the most expensive concole ever... Of course the economy in the developed countries has incresed a lot since the first consoles were released. I can for sure guarantee that my parents had never bought me a game console as expensive as that.

Personally I dont like microsoft very much, so I would like to see Xbox to fail, or at least no to success as much that they will put out of market companies as nintendo or sony. I dont really like the idea to see microsoft monopolizing the videoconsole market.

greets,

Sarwaz.

 
Rory

April 18, 2002, 05:55 AM

I too am an xbox developer and I can say that it is by far the easiest console to develop for. You can do all your development and debugging in Visual Studio whereas other platforms require a seperate (and very buggy) debugger. Plus you have the advantage of a very well matured library in the XDK. There certainly are a few things that the Gamecube can do that I wish the xbox could do, but if I had a choice then I would always choose the Xbox

 
noxa

April 18, 2002, 06:00 AM

Omg.... I didn't want to get drawn into this, but I can't help it; your blind comment asks for a response...

WTH do you mean supporting a MS console is helping a monopoly? Last I checked Sony had the monopoly in the console market, and without the XBOX GC and PS2 would have higher prices and crappier games. MS _IS_ the competetion here; to anyone even remotely connected to the real world (no, counter-strike is not considered 'real'). Also, where do you get off thinking this has anything to do with software? Owning a XBOX will not cause the price of Dungeon Siege to rise, and the titles for the XBOX will be forced to be competative; it's how the market works. And if you don't even own a console, how could your post be considered anything but biased and unfounded? How can you say the PS2 is better when you don't even own one yourself?

It's people like you who don't even understand the MS anti-trust deal, let alone the diversity of the company. MS is big, but I would much rather run a MS OS with a MS mouse and MS keyboard and MS game controller with MS software and MS dev kits than anything else.

"and I tell you this from personal experience"

 
Awax

April 18, 2002, 06:11 AM

The XBOX GPU IS a GF3 advanced : 4 pipeline instead of 2 or something like that..

The only things vertex shaders can access are the vertex buffers they have in input (up to 16 I recall). Basically, its a CPU you program in assembler code.

So, just write data in your vertex buffer like any other data, like first vertex stream for position, second for velocity, and so on. At the end, you just output one stream : the vertex needed to draw your polygones. In the middle, you do what ever you want. The vertex shader update the in memory vertex buffer each frame.

 
RyseFtk

April 18, 2002, 06:18 AM

It might be me but I think 30,000,000 particles per second is 60,000,000 quads per second, not 1,000,000 per second...

Could be a problem with your calculation? I think the 1mil is per frame here? <grins>

 
RyseFtk

April 18, 2002, 06:20 AM

I forgot:

"HAIL TO THE KING!"

 
behemoth

April 18, 2002, 06:44 AM

I find this which-console's-the-best blurp here really amusing. Why won't we start another DirectX vs. OpenGL debate or M$ vs Linux ?
Anyone ?
I would have bought a console anytime but I have a problem with the graphics : They suck !
Extremely low resolution and the low TV refreshrate gives me a headache. So I'll happily stick with my PC. 1280x960@80Hz
On the IOTD : good work ! Would love to see it moving !
Could you capture an AVI for us?

 
AndrewRL

April 18, 2002, 07:36 AM

Here's a better debate - Lisp vs. C++. Someone earlier on in this discussion said that PS2 games are coded in C++, but there's an honourable exception : Jak and Daxter was coded in Lisp using an in-house compiler. Has anyone else tried writing a major game project outside C++?

 
Tim Aidley

April 18, 2002, 07:47 AM

Speaking of XBox...

It's now down to 199 or 299 Euros in Europe (Woohoo!)

Suddenly it's looking *a lot* more attractive...


Hey - I wonder if Sony will slash the PS2 price now...? :D

 
Shrew

April 18, 2002, 07:54 AM

My understanding from the gamedev article was not that the game was coded in LISP, but the scriptiing language used to control characters and events was; ie the parts of the game exposed to the designers.

 
Sebastian Sylvan

April 18, 2002, 08:41 AM

I said that TO ME graphics is at least 50% of the gaming experience. I like pretty graphics. And though I wouldn't play a crappy game with nice graphics, I would play a so-and-so game with gorgeous graphics.

Graphics do quite a lot to enhance the gaming experience, whether you like to think "gameplay" is all that matters or not.

 
Sebastian Sylvan

April 18, 2002, 08:46 AM

And the winner in the category "Stupidest argument ever".. IS YOU!

Competition is all about using the best product available regardless of the company making it. If Microsoft produces superior products, they deserve to be the market leaders. Although we can all agree they have pulled some dirty tricks in the OS market.

The XBOX should be the market-leader because it's clearly superior.

 
Sebastian Sylvan

April 18, 2002, 08:52 AM

What if I fill up a vertex buffer with all particles from now, to say 10 seconds from now, and each particle has an "emit time" when it get's emitted.

Right, then you simply check if the particle has been emitted, if so you solve it's position with regards to the elapsed time since emission. (P = V0*t + .05*a*t2)
As time elapses so will 't' and the particle will move.

 
Sebastian Sylvan

April 18, 2002, 08:54 AM

Tim, that's the que for going out and buying an XBOX.

 
AndrewRL

April 18, 2002, 09:12 AM

Its hard to tell - the article just specifies 500,000 lines of 'run-time code' were written in lisp. that amount of code suggests some pretty low-level work was being performed in lisp. Also, the article goes on to say that the lisp compiler was able to generate assembly, with register colouring and all the other noodles you'd associate with a 'proper' compiler - most scripting language implementations pump out simple bytecode that is interpreted only occasionally for high level reasons, and leave performance critical code to C++ (which I think is very sensible. Using lisp sounds crazy).

 
Awax

April 18, 2002, 09:23 AM

299 is the same price for PS2 and XBOX : starting April 26th.
but NGC is even cheaper : 250

For people who bought it at 480 (!), M$ will give (for free !!!, like in NO MONEY or happy birthday) 2 games and a gamepad. I think it's fair.

 
TheDMan

April 18, 2002, 09:33 AM

I think you're right, Microsoft and the XBox probably are here for the long haul, but it will be mostly down to Microsoft's deep pockets and even deeper motivations.

Sony also have deep pockets and deep motivations, but they'll get to lay off their pockets.

Sony and the PS2 will "win the console war" for this generation. In the long run that will almost certainly lead to the PS2 having better games (there's no technical barrier to this - the machine can do at least everything the GC and XBox can do).

A lot of people fail to understand one fundamental difference between PCs and _all_ consoles. It's not the hardware, it's not the way the games are developed, it's the market model. Console manufacturers are creating a market for software. They create that market largely in a demographic with a lot of disposable income (25-35 yr olds). They have total control over access to that market, and they can make a great deal of money charging vendors for access to THEIR market. (If they get it right, they even get to make money on the consoles themselves.)

Sony have created by far the biggest market for next generation console games, and their lead is growing. That means vendors (software publishers, third party hardware manufacturers) will want to get access to the Playstation 2 market, which in turn creates demand for Playstation 2 software, which developers can make money by providing. It also means more Playstation 2 titles than titles for other platforms, which means even more Playstation 2 console sales (probably at a profit) and so on.

 
Oliver Markovic

April 18, 2002, 10:31 AM

Just take a look at Common Lisp and be blown away when seeing what is possible with it. Of course nearly everything can be done in C++ in one way or another, but that's not the point: we'd be still coding in 100% assembler then. Just compare Lisp macros and the C++ template mess; There are DIMENSIONS in between.
And btw: The game logic of Abuse was written in a Lisp, too (and that was in the Doom days - it worked fine on a 486, so the "Lisp is slow" argument is completely moot).

 
AticAtac

April 18, 2002, 11:27 AM

XBOX 2 is in the make ?
wth ... the industry is fooling us.
Does M$ wants us to buy every 6 months a new console ?
There we see more similarities to pc / nvidia.
NVIDIA did a nice job to confuse all customers with their different
versions and models, make us believe we need ever some months new graphic-card.
It's about GAME and not GRAPHIC. Why do game-developer almost talk about 3D, graphic, bsp, etc. and very few about game ? The same developers are now very "pleased" of xbox and will possibly make the same graphic-demos (they call them games) on xbox. If you are looking for real fun-games go for Nintendo and PSX.
XBOX is just trying to imitate the pc-game-market with just better graphics in a box, well it's already outdated.

 
Parashar Krishnamachari

April 18, 2002, 11:33 AM

I don't know that anyone was complaining about the speed of lisp (at least not recently). Everyone should know the kind of code that can easily be produced by lisp and Scheme compilers and the like.

I believe the question is how suitable is lisp for something like gaming. AI, of course, lisp is good... and I can see it as suitable for a scripting language. But for a whole or significant chunk of a game, it's really not a good idea. And I'm assuming we're talking about games a little more complicated than Galaga and such.

Personally, I despise lisp, but I'm a guy who would weep tears of joy at the sight of assembler, so you can guess why. Besides which, there's plenty of functional languages out there... At the same time, there's too many languages already.

 
Sebastian Sylvan

April 18, 2002, 11:50 AM

Just because it's better technology-wise doesn't mean that the games aren't as good. A game CAN have good gameplay AND graphics.

 
AticAtac

April 18, 2002, 12:03 PM

Well, sometimes i wished the "machines" would have bad graphics-capabilities, so the only way game-developers could impress buyers is with good gameplay.
Right now most developers do some fancy nice graphic effects, try to "find" a game around it (if they don't find because of lack of creativitiy, they just make it another fps or rts) and want make you believe it's a kick-ass game.

 
.:fl0yd:.

April 18, 2002, 12:09 PM

I could care less who sells any given console. I like gaming and really can't see, how anyone could let politics get in the way. I certainly don't approve of M$'s policies and most definately not of their pricing scheme. Selling the xbox for $299,-- (BestBuy) in the States while offering it for roughly $540,-- (1 = $0,89) in europe, seems awkward. Also I would have liked to have seen a more aggressive pricing on the software end. IMHO it has never been as easy to develop for a console as with the xbox. Development cycles are about as low as they will get in a while. Unfortunately this potential is not used to attract more customers.
So if the xbox fails to compete it is most likely not because of its hardware bearing a strong resemblance to PC's but because of the pricing that actually triggers the question: "Why not buy a PC instead, then?".

 
Spaceman40

April 18, 2002, 02:32 PM

The controller does feel like it was made for Halo, but I'd rather play FPSs on a computer.

 
hdmx

April 18, 2002, 02:35 PM

The price dropped to 299 today in Germany. I heard that's because they sold only 14.000 since the launch here :))).

hdmx

 
Oliver Markovic

April 18, 2002, 02:37 PM

I see, you despise Lisp as much as I despise C++ (not C, which is a fine assembler). I think your problem lies in the fact, that you know Scheme and probably learned it at university, where you probably had to always recurse through some lists without using certain functionality and other such rubbish. That's one of the (nonsensical) reasons, why people don't like Lisp ("In Lisp you always have to recurse through lists to get something done" or "All those parentheses scare me" or even "Lisp is only good for AI").

Besides, please don't compare Common Lisp and Scheme. Those are VERY different and the only thing they have in common is the language family (It's like comparing BASIC to C - both are Algol-like).

And yes, I AM talking about games more complicated than Galaga - You obviously have never seen Crash Bandicoot or Abuse. In fact, I'm wondering how people manage to write more complicated things in C++ (perhaps that's the reason why software is in such a sorry state these days).

 
This thread contains 125 messages.
First Previous ( To view more messages, select a page: 0 1 2 3 4 ... out of 4) Next Last
 
 
Hosting by Solid Eight Studios, maker of PhotoTangler Collage Maker.