Archive for May, 2008
MASSIVE DAMAGE
So, Mass Effect for PC is here. I’ve put a few hours into the game, and just beat the prologue as well as most of the first chapter.
I’m more used to run-and-gun type shooters where things like cover and tactical commands aren’t really a factor, so this is something new to me. Luckily the squad commands are fairly intuitive, and you can tell your squad mates to do a fair number of useful things like lay down cover fire, hold a position, advance to a particular spot, regroup, or use any of their equipped weapons/abilities. As I mentioned, it’s not quite straight run-and-gun, as your characters’ statistics as well as their equipment influences the battles a great deal, as well as your ability to use cover to minimize the damage you take.
The story is just getting started, so I can’t really say too much about it, although the universe Bioware has set up for the game is quite well-fleshed out, and you can find out lots of information about it by talking to various NPCs. I also like how all the major characters are pretty understated for the most part - not quite like your standard JRPG where your allies are pretty much cardboard caricatures. You pick up party members along the way, and each character’s relative strengths and weaknesses are listed out for you to see on the Squad screen, making decisions on who to put in your party fairly easy…in theory, at least.
Performance wise, though, my rig seems to be chugging a bit with it. I don’t know if it’s just because of the quality of the port, but running this game at my monitor’s native res with all the bells and whistles turned on appears to be out of the question for now. I’m currently running it at 1280×720 in a window, with textures and particles turned down to medium. Oddly there doesn’t seem to be any option for anti-aliasing, which is very strange for a modern game. There is a movie-like grainy filter you can apply to the output, as well as a motion blur. The former mitigates the lack of anti-aliasing a bit, but the latter doesn’t seem to work particularly well with my sketchy framerate.
Perhaps it’s time to get a new card. Although the game apparently has resolution switching issues with 8800 series cards - from the readme:
The the NVIDIA 8800 Series of video cards can require significant time (30 seconds or more) to change resolutions. This is due to a required recalculation of thousands of video shaders.
This is a very strange limitation for this particular card (and even stranger that the 9xxx series cards apparently don’t have this problem).
In any case, Mass Effect has proven to be a fairly interesting experience with some kinks so far.
On a side note, the in-game history suggests that Singaporeans were the first people on Earth to develop psychic abilities. I loled.
No commentsTouching is good
Bill Gates and He Who Flings Chairs apparently just gave a brief demo of some of the new features that will be in the successor to Windows Vista.
Click here for a summary at Engadget.
Apparently the biggest two things are that:
- Microsoft has borrowed the OS X dock (or something similar) for Windows 7 and
- Multi-touch (based on their upcoming Surface technology) apparently plays a significant role in the OS
That’s right - multi-touch, aka that technology which the iPhone brought to the mainstream last year. A desktop OS driven by multi-touch definitely sounds interesting, but it’ll require dedicated hardware. Still, Surface is probably the most interesting thing that’s come out of Microsoft in a long time, so I’m genuinely curious as to how they’ll integrate it into a standard desktop OS. In addition, I doubt this will supplant mice and keyboards as input devices - I’m not sure I want to be typing my e-mail by tapping on a touch screen, or aiming my rockets with touch gestures.
Still - interesting developments, worth keeping an eye on.
No commentsThe scaling question
I’ve mentioned before that scaling performance in PC games to lower-end systems is very important. Upon reading Sheba’s post on the same subject, I thought it would be apt to pen down some facts on why scaling is a hard problem, and my thoughts on why more developers don’t do it.
As always, I’ll try and keep technical details to a minimum.
2 commentsHow to fix Soul Calibur IV
A long time ago, in an IRC channel far, far away:
[19:27] <@SonicTempest> at this rate to balance the number of new female characters in SFIV they need to add someone who's super manly [19:27] <@SonicTempest> er SCIV [19:27] <@SonicTempest> Guts plz [19:28] <@xephyris> no guts [19:28] <@xephyris> oh wait [19:28] <@Hayate> welll theres Vader and Yoda :p [19:28] <@xephyris> the berserk guy hasn't been put in yet huh [19:28] <@xephyris> yeah ok guts plz [19:28] <@xephyris> you know [19:28] <@xephyris> get the fist of the north star guy in plz [19:28] <@SonicTempest> ww [19:28] <@SonicTempest> Kenshiro or Raoh w [19:29] <@xephyris> how about both w [19:29] <@xephyris> ps3 gets kenshiro [19:29] <@xephyris> to balance out vader [19:29] <@xephyris> and xbox gets raoh [19:29] <@Hayate> no theyd be broken tier [19:29] <@xephyris> while we're at it let's put Jojo in too [19:29] <@xephyris> the only game where you can wrrrryyyy for real [19:30] <@SonicTempest> www [19:30] <@xephyris> wow man [19:30] <@xephyris> if it had guts, jojo, and kenshiro [19:31] <@xephyris> it'd be the manliest game on the planet
You heard it here first!
4 commentsDoug Lombardi thinks Crytek are a bunch of idiots
Well, no, he doesn’t. But at least this snippet from this interview with him from Shacknews suggests that he thinks that sane system requirements are entirely a developers’ responsibility:
Shack: Does the responsibility lie somewhat with the hardware manufacturers to market their products in a reasonable way, or is it up to the developers to set sane requirements?
Doug Lombardi: Oh I think it’s totally the fault of the developers. Totally the fault of the developers. I mean the graphics guys, their job to keep pushing the envelope, and as they push the envelope, move the lower-end cards down to a nice price point, so that there’s always this evolution that’s happening. If you’re a hot rod type of guy, and you want to spend $400 on the latest thing, you want to have a smoking machine, and when Left 4 Dead comes out you want to run it at its highest resolution with killer framerates, and call your buddies over for a beer and make them all drool over your system, awesome. But if you’re just a guy who wants a decent PC for less than a thousand bucks, and wants to be able to run games on it, there should be a card out there that runs games at a decent famerate and decent fluidity. Then it’s on us to write for both of those guys.
It’s a business decision, really. Too often I think the development side of things runs the house. People say, “Oh, we’ve got to target those high-end core gamers. We have the best graphics, sweetest screenshots, and we’ll get more press, and we’ll win.” Okay, well, you’ll win in the pre-launch phase. Then when the game comes out, and 60-70% of the people who don’t have that sweet machine–maybe even higher numbers, maybe 80% don’t have that sweet machine–well you just cut off your ability to sell to all of those guys.
You know, it’s hard to be able to have games that scale, and to write performance on the high end, and write performance on the bottom end, but you know, winning in any industry means some hard work, and there’s a certain level of hard work that developers have to take responsibility for. And when you see games that do that, where they have solid gameplay, and they scale well across machines, usually those games do well.
Nothing much I can disagree with there, really. Writing an engine that doesn’t scale to lesser systems and then whining that no-one is buying your game is kind of asking to be laughed at.
On a side note, I downloaded the Painkiller demo yesterday (after watching Yahtzee’s review, obviously) and gave it a whirl. It definitely reminds me of Serious Sam a whole lot; it features a ridiculous number of enemies with rather stupid AI who try to basically gangbang you, while you run backwards firing your weapon furiously. The graphics are definitely very nice for 2004 (although I think Half-Life 2 and Far Cry probably outdo it considerably). If anything in the level moves, you pretty much need to shoot it.
Oh, and the gun that shoots shurikens and lightning? It’s awesome.
3 commentsYahtzee, free publicist
Yesterday’s Zero Punctuation featured Painkiller, a first-person shooter from 2004 that somehow flew under my radar. He seemed highly appreciative of the fact that it was an FPS cut from the same mold as Doom, Doom II and Serious Sam, with the shooting action being its primary focus. It certainly sounded appealing to me, so I made a note to check it out at some point.
Today, I logged onto the Steam website and beheld the following:
Well, I guess that’s a far better endorsement than anything the major gaming websites could dream up :D
2 commentsThe answer to the programming problem I posted
Well, AN answer, at any rate. Click through if you want to see it, but hold off if you want to try it out for yourself.
No commentsRiddle me this
The goal is to write a function in C that, given a null-terminated string, prints it in reverse (You don’t have to return the reversed string - just print it). However, there are a few restrictions:
- You can’t create any local variables (apart from function arguments)
- The only library function you can use is printf()
- You can’t use any other language constructs (no if…else, no loops of any kind, no goto, etc)
- Any subroutines you create must also abide by rules 1, 2 and 3
This is apparently entirely possible. My C is rusty at best, but I’ll be giving it a shot on my newly-formatted Linux laptop (which I have christened ‘Potato’ for some bizarre reason).
A hint that may or may not be useful: think about what printf() returns.
On a side note, my friend’s suggested solution was pretty hilarious; he suggested using a format-string exploit in printf() to point the instruction pointer at an arbitrary location in memory, which he would have filled up at an earlier point with assembly instructions (again using printf()). The assembly code then prints the string in reverse with no regard to the rules (since it isn’t technically C). He hadn’t gotten it to work, but I’m pretty sure that it would, given enough time.
Said friend is leaving Amazon to work for Microsoft in a few weeks, by the way, which makes me wonder what sort of software he might write there.
On an even more hilarious note, as a result of the above ’solution’, the discussion quickly turned into one about whether or not C’s printf() function is in fact Turing-complete.
EDIT 2008/05/21, 2045 PDT: Solved it! Although the basic idea for the solution came frome one of my teammates…
Some clarification as to aforementioned spastic monkeys
As I’ve mentioned in the past, one of the games on my backlog is Prince of Persia: The Sands of Time, the 2003 reimagining of Jordan Mechner’s classic platformer. At the time, my completion rate was 65%; since then, I’ve reached 81% completion, and the game hasn’t lost its lustre yet…except for one problem which you might have been able to infer from my previous post - that the camera is incredibly dodgy.
Most of the time, when you’re running on walls, making death-defying leaps and swinging on poles, it works perfectly, and maintains the perfect angle for you to see what you’re getting yourself into. However, during combat, it takes an incredibly inconvenient angle, moving around jerkily, pivoting 180 degrees for no reason and generally behaving like a douche. This is a problem not only because camera orientation determines your control mapping, but also because it changes your field of view, meaning that I can’t see the huge guy with the scimitar just so slightly off screen who’s about to leap over and tear me a new one.
Exacerbating the problem in this particular case is the fact that you need to protect someone while on this elevator, someone whom the camera excels at keeping out of my field of vision. I don’t know what the general consensus on escort or protection missions in most games is, but based on my experience here and in Resident Evil 4, I would say that they need to take a flying leap off a bridge. The so-called “artificial intelligence” is terrible at keeping itself out of trouble, and in the case of Prince of Persia, said character’s inability to keep herself alive forces me to remain nearby, in a walled-off area of the elevator, eminently suitable for all the enemies to gang up and introduce me to their little friends, simultaneously.
The combat itself is functional, if rather bland, but the camera has proved to be the source of much of my frustration so far. I’m hoping it doesn’t end up putting me off completing the game altogether.
This post brought to you by the letters O, T and L
STOP CHANGING PERSPECTIVES LIKE A SPASTIC MONKEY DAMN YOU
AAAAAAARGH
