eloj

This user has not updated recently.

426 706 17 22
Forum Posts Wiki Points Following Followers

PhysX Benchmarks and the Future Of

Pierre Terdiman, a developer on nVidia's PhysX, have put up a blog post called "The evolution of PhysX" with benchmarks over several PhysX versions and Bullet, an open source physics engine.

"I felt compelled to also include the last version of Bullet (2.81), to provide an objective external reference. The thing is, there are many people out there who still think that “PhysX is not optimized for CPU”, “PhysX does not use SIMD”, “PhysX is crippled on purpose”, and so on."

Let me first make it clear that I'm far from an expert in physics engines, and I'm not even that up to date with the latest in the business. I'm pretty sure though that PhysX is still CUDA only as far as GPUs go, meaning it's nVidia hardware only. The rest of my argument rests on that basis.

Though the benchmarks clearly proves that each version of PhysX is faster on the CPU, it doesn't adequately disprove the idea that nVidia have engaged in 'crippling of PhysX' in games.

The problem here is that you probably don't want to run your physics on the CPU to begin with, and as far as I know, there is no publicly available OpenCL backend for PhysX, though I'm sure they have one internally. When I've heard PhysX critiqued, it is this that is the point. It's all very well that PhysX is faster than the competition on the CPU, but what matters to gamers is scenarios where you have CPU and GPU available.

In gaming, nVidia and AMD have about 85% of the market between them. Both losing ground to Intel recently. Simply put, if you belong to the 33% that run an AMD GPU and have your physics run on the CPU where the nVidia owners get to run on the GPU, certainly it's valid to say that PhysX is crippled in this respect, especially if the competition will run on the GPU on both nV and AMD.

The benchmarks as presented only show that PhysX is fast on the CPU in the best case, but it doesn't show that it can't be made to be slow, for instance by artificially resource-starving it. For instance, in a "TWIMTBP" game, nVidia may have instructed the physics to use a maximum of one or two extra threads on the CPU, even if more were readily available. In fact, that they're fast on the CPU could encourage them to cripple an integration just to make sure the CPU path can't catch up with the GPU path even on the fastest of machines.

"Some early investigations into PhysX performance showed that the library uses only a single thread when it runs on a CPU. This is a shocker for two reasons. First, the workload is highly parallelizable, so there's no technical reason for it not to use as many threads as possible; and second, it uses hundreds of threads when it runs on an NVIDIA GPU. So the fact that it runs single-threaded on the CPU is evidence of neglect on NVIDIA's part at the very least, and possibly malign neglect at that." -- Ars Technica, 2010

It would take someone posting game and/or driver disassembly AND benchmarks from a recent title to prove nVidia in the wrong. Again.

PhysX on Next-Gen

It's worth thinking about this in the context of the "next-generation of consoles" rolling out later this year. We know with a fair amount of certainty that they will both use AMD APU parts, so PhysX will almost certainly NOT run on the GPU on them as long as nVidia insists that PhysX should be CUDA only.

I can see three scenarios.

  1. nVidia gives up on the physics engine market.
  2. nVidia provides an OpenCL backend for all platforms.
  3. nVidia special-license GPU-version for the consoles.

(1) is unlikely, (2) would be great for everyone involved, but nVidia being nVidia I wouldn't be surprised to see them take the third options; crippling PhysX on the PC where they (think they) can use it for marketing, but giving in where required to be able to compete at all.

Actually a (4) where everyone come together around a common API would be the best outcome, but it's my view that only MS could push something like that through, and then it'll be some DirectX specific hackery that'll be useless for cross-platform and then what was the point?

On these things and more, the future will tell.

EDIT: @Ken_Addison linked to this press release: "NVIDIA Announces PhysX and APEX Support for Sony PlayStation 4". From the wording it appears as though PhysX will run on the CPU only on the PS4. I should have listed this as an option since it's the most obvious one. Let's call it option 0.

11 Comments

Review of the Kotaku Review of the IGN Review of Bioshock: Infinite

The review is almost unreadable. Graphics; The choice to use a small image instead of industry standard text is very odd. It's also very short, at less than 150 words (estimated) you can read it in well under one minute. On the upside, loading times are great. Sound design is non-existant, and the silent music track gets repetitive after a while.

I give it a ten out of ten.

1 Comments

Way - Without Words

There's a growing trend with the type of anonymous online gaming found in games like Journey and Demon/Dark Souls. I just recently found out about this cool little game called "Way" through the Let's Play by Deceased Crab (part 1, part 2), though it seems to have been around since at least 2011.

"Way" is a (forced) cooperative platforming'n'puzzle game where you can only make it through the game by getting help from a stranger on the internet. The trick is that you don't know who your partner is, and the game only allow you to communicate through avatar gestures, similar to those in LittleBigPlanet, where you can change your facial expression and point your arms independently of each other.

I recommend watching those videos, UNLESS you're the kind of person who likes going in blind of course.

Way homepage where you can download the alpha, or read more on the project page at CMU.

Is there a good word for this kind of multiplayer? Suggestions!

Start the Conversation

Omgpop developer decides against joining Zynga after buyout.

Did one man alone resist when Zynga bought out Draw Something developer Omgpop? His reasoning is one I share, especially with regard to being able to fully own and control projects I make on my own time.

"Zynga has an Austin studio, where several good friends of mine work. Yet I had never applied to Zynga. Why? Because the company's values are completely opposed to my own values, professionally and creatively. Because I believe that developers are at the front lines of game development and deserve to be treated well, and I didn't trust Zynga to do so. All this was still true -- except that their complete unwillingness to negotiate with me only confirmed my concerns. Why on earth was I even considering joining?" 
Full story at Gamasutra: "Turning down Zynga: Why I opted out of the $210M Omgpop buy"
15 Comments

"Appearance of impropriety"

Something just came across my screen which made me feel both sad and a bit angry.

Morgan Webb, host on G4TV and reviewer for X-Play, tweeted:

https://twitter.com/#!/MorganWebb/status/98484038662242305
"The best cake ever!!!!!!!!! Thanks Id and Bethesda! !!! I can't bear to cut it! http://t.co/zLq9Vs8"

I realize people in the business receive all sort of crazy promotional items;
drinks, figurines, apparel, pieces of meat... but something about this particular
tweet just rubbed me the wrong way. I think it's exclamation marks. The excitement.
The tangy smell of 'quid pro quo' lingering in the air.

It just feels wrong.
 
It has the appearence of impropriety.
19 Comments

Let's Make It Better: Mass Effect 2

I've been meaning to write about this since I first completed Mass Effect 2 early this year, but with the new Assassin's Creed: Brotherhood video demo (which basically showcases the idea, though probably a bit less ambitious) out I'll cut my own ambition about a larger article short and settle for this blog post.

CENTRAL ARGUMENT: Mass Effect 3 need to have a team away-mission management component.
 

No more hang arounds

 
I found it quite ridiculous that while you and two members were out fighting the good fight, the rest of the team, which is quite large, just sat around isolated to their own chambers.

Being able to send members, the ones you're not personally taking on a mission, on side missions would resolve many issues and open up a whole new dynamic to the game. This is how you could weave in more of the choices you did earlier into the game. Instead of just emails, missions!
 

Core mechanics

 
Here's how I picture it working. From your ship (base) you have a team management terminal. Here you can see the status of your whole party; their stats, weapons, skills and fighting status. You'll also have a mission list. These missions would be the sort of side missions you had in  ME1 where you were driving around the MAKO. Shorter missions, in and out. You should get a set of missions which expand and contract dynamically as you play through the game. You should have a pick, but also the option to skip.

A mission briefing will explain the setting and purpose of the mission. This includes intel, like enemies and dangers, and rewards (money, equipment, resources). A risk analysis might be provided, but the player must also think about this. It's up to the player to compose a mission team of one to three companions, selected such that the mission success probability is maximised. The right team for the right job.
 
The core mechanic is this: Sending people on these missions could level them up, provide income, items and even create allies or enemies. The trade-off is that missions will take time, so whoever you send will not be available to you for missions you take on. I think time here would be counted in some measure of main mission time, so maybe assign mission time units to the regular missions, and have the side missions take up a number of those (example: a side mission may complete after you play one long mission or after two shorter ones. In essence player missions are driving the side mission clock).
 
I would initially not consider it possible for you to actually go yourself on these missions. This for the obvious development resource reasons, but on the surface, because it's time for your team to shine.
 

Risk vs Reward


The most important thing here is in the dynamics of reward versus risk. Let's talk risks.

There'll certainly be the possibility of missions failing to some degree or another, which could impact you because now you have team members who are injured and will need time to recouperate (invest in the medic bay!). I do not however believe it would be in the best interest of gameplay to make it possible for team members to die on these missions. Not unless the game is very explicit and basically telling you that, for this particular mission, sending this group makes it all but a suicide mission.

You could feed mission outcome back into team morale. Now you'll have to consider if the side mission is worth a possible hit to your 'rep' with a certain character. Certain members might oppose some missions, even though they'd be the best ones to do them. Do you push or give in? On the other hand, we could have bonding between team members because they had mission successes together.

With side missions, why would you need mining? The way I see it, mining is the cop-out placeholder for a proper resource management system, and here is one that I can't see failing.

On a more meta-level I like this idea because the uncertainy of the side mission outcome overlaps your regular missions. This means that if a side mission fails you'll have to really consider if it's worth to reload, because you haven't been sitting around waiting for the outcome, you've been out accomplishing things yourself.
 

The Final Piece

 
I readily admit I'm in love with this idea. I see if in my mind, and it fits so perfectly. This sort of mechanism opens so many doors, and it's just the thing ME3 need to be the kind of leap from ME2 that ME2 is from ME1.
 
I really hope it's a central piece of ME3 already. It's likely too late to add it now if it isn't!
24 Comments

Graphic Adventures - Being a Mostly Correct History ...

Graphic Adventures - Being a Mostly Correct History of the Adventure Game Classics by Lucasfilm, Sierra and Others, From the Pages of Wikipedia

 

 Graphic Adventures - Cover

"Did you love to play graphic adventures as much as I did, and want to learn more about them? The book Graphic Adventures is the mostly correct history of the adventure game classics by Lucasfilm, Sierra and others, from the pages of Wikipedia. The book features the tales behind games like Loom, Labyrinth, Mystery House, Maniac Mansion, Space Quest, The Secret of Monkey Island, King's Quest, Myst, Zork Nemesis and Leisure Suit Larry. The book was based on the pages of Wikipedia articles, which were edited and added to. Many game creators, like Al Lowe, David Fox and Peter Langston, are interviewed and provide further historical background on these games." --  http://blogoscoped.com/graphic-adventures/
 
The 500 page book is available for download (~27MiB) in HTML format. Haven't looked too closely into it. I think this is a case where the editor is pretty much all important. Normally you might have a book where different chapters (articles) are by different authors, here you have a book where even a single paragraph can have many different authors involved.
 
Anyhow, seems like a good way to contribute to the Wikimedia Foundation and get something fairly unique to put in the bookshelf at the same time.
Start the Conversation

Aquaria source code released

  Like Gish (and Penumbra and game called Lugaru) before it, the source for Aquaria was recently released. Unlike Gish however, with its quite horrible C, Aquaria is written in C++ and the code base looks to be in great shape! It is also quite a bit larger and more difficult to understand in some ways, but that's them deals.

 It's interesting comparing the two games, codewise. Aquaria can be studied for how a modern (but smallish) game looks internally; class hierarchies ("Quad", "BitmapText" is-a "RenderObject"), state-machines, rendering-layers, shaders and speciall effects like bloom. Gish should probably not be studied in the same way, but remembered for the lesson it teaches us about how you can reach a goal with lesser means. Is Aquaria more fun than Gish? I don't know, I haven't played either, but there's probably no strong correlation between good code and fun game. That said, if you can, I say you go for good code :-)
 
 The one thing I'm missing with these releases are documentation. Especially for Aquarius you'd think there were some architecture- or design-notes that could make the release? Speaking of which, I think these developers could probably more than double their income if they'd released their games together with a book about their development and architecture. Game development is hot now, and I think that kind of book -- where the core is an honest-to-deities commercial game -- could sail the charts quite nicely.

 Don't think I'm underestimating the effort though. I know it's a huge investment (primarily time-wise) to write a book. I'm just saying I think there's a market here which no-one is satisfying. The first one to make that investment could find himself handsomely rewarded.
 
 I'm saying that because it's what I've been thinking about doing, writing a simple game and documenting it while I'm doing it, then cleaning that up into a book (probably a free one though). I've always found that kind of "okay, so this is how I did this..." material super interesting.
 
 I'm never going to get anything worthwhile done though, so no, don't wait around for that. Tell you what, just pretend like you never read that last sentence.

Anyhoo... Here's a trailer forAquaria (with game-play):

1 Comments
  • 11 results
  • 1
  • 2

Use your keyboard!

  • ESC