Soft body physics with FastLSM.

I have always been interested in soft-body physics, but this is one of those algorithms which promises to stand out of the crowd. While soft body simulations have been under considerable research, their applications to the games in general have been limited. That is due to the fact that such simulations are complex and time consuming. Simulating a lot of soft bodies at a time can be punishing to the frame rate. Th FastLSM algorithm appears to be pretty impressive in term of speed and accuracy even for a fair number of objects in the scene. However I am not so sure how it will scale to an arbitrarily complex world often encountered in a game.

I am particularly interested in soft body physics for simulation of liquids ever since I first saw soft body simulation (and that was a while back). I never got around to really “getting my hands dirty” with this stuff though. Maybe I should give it a try one of these days. I must say the authors have been extremely kind enough to give fully commented source code along with their paper. That will definitely help any aspiring candidates like me who want to implement such simulations.

Halo 3: Staggering Sales?

It seems that Halo 3 has hit new records in sales. However this figure is from Microsoft themselves.

The staggering figure presumably came from Microsoft’s internal estimates.

Apparently Halo 3 has outsold every entertainment release in history and is making and breaking sales records all over the world. Oh great, Microsoft should stop making OSes and concentrate on making games instead. I guess this is going to be where the bulk of the revenue is going to come from for Microsoft.

Chuck-De-India!

!!Chuck-De-India!!

Wooh!! It’s been one of those days which you never forget in your lifetime. One you tell your grand-children about. A rare event in time. A historic moment for Indian cricket. For the clueless, “INDIA HAS WON THE FIRST EVER 20-20 WORLD CUP” by beating arch rivals Pakistan. In India Cricket is a religion, hell it comes before religion, so you can guess the party thats going on over here. Lead by a new captain, a young resurgent side has proved everybody wrong by archiving a memorable victory.

OK I am just a bit woosey here, not it a state to write any more, so I will head back to the partying and….. more later!!!!

“BioShock” did shock.

Yesterday I had the opportunity to finally have a sneak peek at the much hyped game BioShock. Had heard a lot about it from friends and I was eager to see what the game was. Unfortunately my PCs have nowhere near the hardware configurations required to push the game even at its lowest setting. But yesterday I was visiting a friend of mine who is a avid gaming freak. His system has the new 8800 GT (or was it the GTX, can’t quite recollect, anyways), and it so happened that he had already installed BioShock.

I must make some confession here. Initially I had figured BioShock to be one of those mad shooting FPSes which, I am sure, all of us (or at least I have) played gazillion times before. I had a notion that it was another of those graphic pipeline consuming hogs that are filled with unnecessary eye candy just to make you go “whooo… cool graphics dude!” How wrong I was! BioShock turned out to be quite different. It has a more depth in game play than just dark corridors and shooting bright eyed monsters. The fact is I should have expected that from a team that brought us SystemShock 2. It’s just that FPS games have just got so nauseating in the past couple of years that I tend to turn away from most of them. I am not a big fan of SystemShock 2 and there are several things about the game that ticked me off when I first played it. Sure many may disagree with me, but I though that the game was not properly beta tested and while some innovations were made in the FPS gameplay they were not fine tuned enough. The weapons degraded far to quickly and that is one other game that I dropped half-way.

But BioShock is different. I think the team has got it right this time. Again the game seems to be modeled on decision-consequence behavior, meaning your decisions directly affect the gameplay. Over the past few months, ever since I started playing Oblivion, I have become fond of this type of gameplay and to see it in a FPS game is refreshing. I don’t know how much affect this has to the overall game-plot since, and I must confess, I have played only a very small part of the game, about 2-hours or so. A more interesting Cricket match got my attention away from BioShock, but now I sorely miss playing the game. Too bad my PCs don’t have powerful cards like the 8800.

The graphics of the game are (, you probably already know,) wonderful and allow for total player immersion in the game. That was to be expected. An engine like the powerful UE3 engine in the hands of good artists and game-designers can give scintillating graphics, and BioShock doesn’t fall behind in that respect. The scenes are flush with nice post-processing effects and the water effects are beautiful. I had heard that the BioShock team had heired a special engineer and an artist just for doing those effects, and it shows in the quality of those effects. One of my friends had told me the game featured amazing refraction effects on glass, and I did make it a point to look at those, and yes, he is quite right. Shadows and Lighting seems to be a combination of pre-baked lightmaps and shadow maps. I am not quite sure if the game features LDR or HDR, but I suspect strongly that the game does use HDR lighting since you could distinctly see some bright patches on the gun and some totally in shadow, but yet visible. I am not quite sure though, I think I will have to have a re-look at those.

So was the BioShock hype overrated. I think not. I thing the game does deliver on all the hype meted out. Awe! I miss playing BioShock already :(.

Leading a Second Life.

Ah again a long week with no updates to the blog. Actually this was something I was planning to write a couple of weeks back but never got the time. As it goes, a few of months back I had downloaded Second Life and decided to give it a try. I am still pretty new to this concept of Second Life so these are basically my initial reactions. Once again, the game is something new, something I certainly look out for thesedays. I haven’t really played any MMOs before this one, so I was a bit exited. Installation and setup of the software was a breeze. I did get a nice name for myself and decided to sign on.

The game features a in-depth tutorial but I found it a little bit difficult to understand. There were some poor unfortunate souls in there who couldn’t understand anything at all. I think the tutorial focuses more on how the program should be used, but fails to address what Second Life is all about. I would rather like a tutorial that explains to me the “possibilities” in the game. I would like the tutorial to explain to me the different experiences that can be had in the world of Second Life. Essentially how to go about having a very different life. Maybe some examples of how others, maybe senior players have gone about and created their own worlds. Yes, the tutorial does a good job at explaining stuff like which keys do what and what needs to be done to achieve something, but fails to address finer issues with the game. Like, for example, how to do macro level things like building your different life. You tend to pick things as you go along, but I would have loved a more in-depth tutorial.

The game is basically a 3D world or should I say a 3D chat room. You can log into a place and the content then gets pulled off the net into your PC and slowly you can see the world. The login interface looks deceptively similar to a chat or an IRC application. Maybe the developers intended it to be that way so players can pick things up rather easily. I tried to log into different places to see that it was all about. I must say, places with high number of users are particularly slow. Unfortunately these are the very places that are interesting and worth a visit. Catch 22 there. If you want to logon to Second Life you better have a high speed connection, else you can forget about it. Other places I visited were mundane and uninteresting. Some places were plain weired! Some were disturbing (, parents watch out there).

The game is great if you like to make friends on the internet or spend your time chatting on IRCs. The game allows you to push this further and adds a whole new dimension to your social networking experience. Second Life provides players with “Unlimited Freedom”. You can check out the FAQ for more details. You can even earn money off of Second Life, I haven’t explored that part however. The fact is I got bored rather quickly. I am not the kinda guy who you would expect to find on a chat channel, or one who spends a lot of time on a social networking site, so I quickly lost interest. I have too much things to do as it is in my First Life. I haven’t given up though. Maybe after a few days I might try again and see if I can really get the hang of a “Second Life”.

Silverlight looks promising.

Recently Microsoft released version 1.0 of it’s “cross-browser, cross-platform plug-in for delivering the next generation of .NET based media experiences and rich interactive applications for the Web”, called Silverlight. Last week I had a sneak peek at the software and I was presently surprised to see that Microsoft is also developing a Linux version of the plug-in with the help of Novell, codenamed Moonlight.

As such Silverlight is just a plug-in that can deliver interactive .NET content on to your web-pages. It is particularly interesting to see where this leads to with regards to game development. Silverlight is almost certainly a challenger to Flash’s monopoly on web-based games. It offers a flexible programming model that supports javascript, .NET, and other languages, so it will particularly hit a cord with programmers that already know these languages.

Are we going to see more Silverlight based games? I am sure we will. .NET applications are very easy to build now that there are great environments like the Visual Studio, Visual Studio Express and #develop. It just means people are naturally going to build games that run on Silverlight. This software is clearly something to watch out for if you develop web-based games. I hope Microsoft offers graphics hardware acceleration in some form on the Silverlight platform. That will just be amazing.

Some major issues with hardware.

Well I have been battling with some hardware issues on my internet PC for the past week and they seemed to be finally fixed as of now. Since the development and Internet PCs are different machines, and are not connected, my access to the internet was severely limited for the past couple of days. Updates to the blog have been quite slow. I am also doing some heavy debugging on some other issues with hardware with regards to the game on remote locations. That means I do have to be away from by desk most of the time. I am happy to say that most issues have been resolved.

Does Google “Ad Sense”?

It seems like when it’s Google, they can find a marketing edge anywhere. Google is all set to take it’s advertisements for website service a step further and actually have “AdSense for Games”. Those annoying ads that fill up a website, well now will appear in your favorite games too. I doubt if major development houses or AAA games will have them, but you can pretty much expect every small indie flash games and casual games to carry some sort of Google ads very soon. Currently Google is targeting web based games, but soon plans to move to console and PC games as well. Go figure! Apparently it will work similar to the current system where developers can basically put AdSense into theirs game and advertisers can then use Google’s system to have advertisements in the game while playing it.

Advertisement in games in not new, but the entry of heavy weights like Google and Microsoft is significant. I remember Coke tried something like this once, but without too much success. However players like Microsoft and Google have the technology engines to do it right. So advertisement in games could be here to stay. If it does become a success then we could well see most game publishers get bit by the money bug sooner rather than later. It would mean a whole new method of generating cash inflow for developers and publishers alike, and that means ads in games could well be the norm of the future.

Games are essentially a interactive entertainment medium so you could see yourself interacting with the ad too. Nothing is preventing developers and designers to have innovative ways to get the player’s attention just so that they can earn an extra buck. Does this mean, our experience with games will soon be marred by ads? Well frankly I don’t know. As a player I wouldn’t want to have nagging ads in an otherwise intense gameplay. But as a developer or a publisher, I could earn an extra buck every time a player interacts with an ad. It’s essentially who wins in the end. I hope sanity prevails.

Hmm… so the next time I am fragging Stroggs on Stroggos I guess I shouldn’t be surprised to see a hoarding inside the game saying, “Matrimony Online! Come Find Your Life Partner!” or “Get your degree online! No need to study, just play games!”. Or ..ooh, we could we have a Commercial-Break in a middle of a game, “HappyDent White Chewing-gum. Keeps your teeth shining white so you can see Alien HellSpawn in the Dark!”. Nice, can’t wait to see that day!

Vista Woes.

Ah had my first Vista experience! I am been doing some heavy debugging for the past week and have had to keep myself awake drinking 6 cups of tea a day. For the record I am not a heavy tea drinker, but I had to do it because the work load is a bit heavy. One of the machines I was debugging on happened to be a Vista machine. This is my first taste of Vista and, boy is the OS corny! The UI in true Microsoft tradition has been revamped. I was kinda expecting that, but it was nothing out of the ordinary. I have seen Linux boxes that looked slicker, but not bad on the whole.

It is the whole attitude of the OS that ticked me off. For one it takes me for a freaking dumb ass. The warning boxes are pretty nagging. Now, some people told me that they can be turned off, but even so I felt that the engineers have gone overboard. I can understand that safety is concern these days, but come on guys a box to ask me if a want to run an exe or copy a file is just too much. Even if you do want to, where are the “OK” and “Cancel” buttons. Why are you making me read “Do want to Move and Overwrite”, “Do you want to Move and Keep”, “Do you want to Move to Latvia” … every time I want to copy a file, bull shit let me do my job. I would like to ask Mr Gates, “Just because we use your OS, do you take us for a bunch of f***ing retards!” The OS kept nagging me like I was a 2 year old kid.

Another dumb message box for installation. The OS sounds a big alarm bell when you try to run any installation. Almost like an anti-virus program would when it detects a virus or a worm attack. Seeing the message box even scared me, and it was in-fact my very own installation package. For a moment I thought the installer was corrupted or infected by a virus. The next bad experience was when we tried to install VNC. No! Doesn’t work. Set a rule in the firewall, no, doesn’t work. Turn off the firewall, no, doesn’t work! Oh its our new Defender Service! Put a rule in the defender service, no, doesn’t work! Oh yes security, sorry we don’t allow programs like these to run. Please use our 1000$ Remote Desktop. Oh sorry, it’s not available for Home edition, buy our 10000$ Professional Vista Edition. Oh God getting VNC up and running was a nightmare. The OS is also a big resource hog. It was slow while pushing a lot of windows and applications on a AMD Turion 2.0 64bit, dual core CPU, which can run XP at comfortable speeds.

Eventually we did get everything working and the game ran with but the whole experience just left me with a very bad taste for Vista. There are many more things that got to me, but this rant has gone on long enough. Maybe I need some serious straight 8 hours of sleep. Looking objectively however, there is nothing special that Vista offers and I can’t think of 2 reasons to upgrade to it. The ONE reason I will have to upgrade to this naïve OS is DirectX 10. I know it will be punishing, but unless Microsoft comes up with DirectX 10 for XP, which I know will not happen, I will have to move to this OS ultimately. I hope sanity prevails and the service packs for Vista turn off the kindergarten nanny in the OS.

The war of the graphic APIs.

OpenGLSo it’s finally here! I mean OpenGL 3.0 update, formerly known as Longs Peak, has officially been announced at Siggraph. Read more about it here. It’s been like way too long already. I know the announcement was made a while back but I didn’t get time to read the details and proposals till this weekend. The Birds Of a Feather(BOF) presentations are interesting and if you are an avid OpenGL follower then they are a must look at. While true and detailed specs are not yet released, the discussion threads do provide some interesting insight of things that can be expected. If you are already a an OpenGL programmer, expect significant changes to the way you worked with OpenGL. The update removes some redundant and archaic practices that have existed in OpenGL for way too long which makes me happy. The last time OpenGL was rewritten was in 1992 and has survived this long arduous journey of hardware updates pretty much unchanged. Some would argue that that the current mechanism of extensions have cluttered the API just too much and can be a pain to work with. I don’t blame them. Lets just hope the new update addresses these and other issues better than the previous versions. Personally I never found extensions too difficult to work with. Generally complaints are from DirectX guys who have switched over to OpenGL and have to adapt to the new way of working with OpenGL.

DirectX 10Talking about DirectX, it’s been quite a while since the release of DirectX 10. It is apparent that DirectX has a clear advantage at the moment on OpenGL with regards to exposing newer functionality. I don’t buy the argument that DirectX is in anyway superior or that matter inferior to OpenGL. Many people have argued this over the years, but the argument is far from conclusive. While DirectX may be able to expose newer and latest functionality faster than OpenGL, the functionality eventually does get exposed via OpenGL too. So to all nay sayers, my response will be, it’s not so much the graphics API but the underlying hardware that determines how well your card performs and how much graphics throughput you get. The O2 Engine abstracts both APIs and through the years of developing the engine I have seen that both APIs are neck to neck when compared to speed. There is no clear winner when comparing the two APIs from a purely technical perspective. While DirectX is more favored one in game development circles, OpenGL is the API of choice in CAD and Science & Research circles, but that is clearly for very different reasons and not speed or performance. What people fail to realize is that fact that DirectX and OpenGL are very similar, more similar than you would think. With the release of the 3.0 update, I think (and this is my personal opinion) that the two APIs will end up being even more similar. The DirectX 10 update fixed shortcomings of DirectX 9 and previous versions and OpenGL 3.0 has addressed issues that were problematic with legacy OpenGL. So in the future, and I hope, there will be little to choose between the two APIs.

This is like a zoomed up API level and technical level picture. Let’s stand back a bit and look at the bigger picture. So DirectX was first of the block, so is it wining the race. At the moment it would seem so. Programmers and developers have already begun working on the API and getting their hands dirty. Hardware for shader model 4.0 has been available for quite a while and is now considered reasonably cheap. It simply means that development houses have already come up with good engines. But there is a catch to all of this. DirectX 10 is only available for Vista machines that could prove to be somewhat of a stumbling block. Now don’t get me wrong, there is nothing wrong with Vista as such, but I can’t understand the sanity in not releasing DirectX 10 for XP! The driver architecture reason given by Microsoft is crap! If they had released it for XP, that would have meant even larger market for games that used DirectX 10. The only reason I can think of as to why this decision was made was because Microsoft wants to push it’s OS on to end user’s desktops. Gabe Newell of Valve Software touched this point recently where he emphatically said that DirectX 10 for Vista was a mistake! I don’t buy into his argument completely. I think users will eventually buy Vista anyways and we have seen this arm twisting by Microsoft before, and it does eventually force people to buy their OS.

The question to ask is, does DirectX 10 offer truly unique graphics than 9.0? The answer is at the moment NO, but eventually YES. You could get similar graphics with 9.0 or OpenGL 2.0. That said the XBox 360 does not support DirectX 10 yet, so cross platform developers are going to stick with 9.0 for a while. While OpenGLversion 3.0 promises a lot, it’s true potential will only be realized when it comes on to our desktop. Also the spec for Mt Evans update that promises geometry shaders is somewhat still to be fully operationalized. So I think it will be after, probably much after, the 3.0 release. The OpenGL committee seems to be slow again as usual. While DirectX 10 games are here, DirectX 9 is not history as yet.