Archive for June, 2009

Back on inFAMOUS…

I finally got past that annoying Alden fight I was stuck on in inFAMOUS. The first phase of the fight, on top of the tower, was just a pain. The second part of it, with all the dustmen with rocket launchers, was what messed me up. I was very often getting nailed by two rockets way too fast to react. It was the kinda fight that I feel I won because I got lucky, not because I was on top of my game.

The second part of the fight was much better, in that regard. The last part of that fight kinda felt like an old school boss fight, where you had to watch for subtle movement to see which move he would do next. He threw cars, threw fireballs, and fired a gun at me. The car and fireballs I could reflect with my shockwave, and I had to get behind barricades for the gun. The way he moved his head was the clue as to which move he was going to do, and when I finally killed him, I feel like it was because of skill. I figured out his pattern and countered it until I killed him.

I put the game down shortly after, but now that I’m past that annoying fight, I’m much more likely to pick it back up again and finish the game. I do this a lot with games – play intensely for a week, then stop for a month, then get back into it. I just hope I’m near the end of the game, because I’m feeling done with it. The story is nothing spectacular (although Zeke’s recent shit was interesting), the controls bother me more each time I play, and the UI is pretty crappy – especially in regards to indicating which direction you are taking damage from.

I still plan to do a final thoughts on the game, but I can’t do that until I consider the game done.

No Comments

An odd dream last night got me to start up a new game concept

I had a weird dream last night that had clear influence from The Dark Tower, specifically Wolves of the Calla, and I decided to run with it and see if I could flesh out a game concept from what happened in the dream. I don’t want to say too much about it yet, since right now the whole concept encompasses about 6 paragraphs in a document, but the idea has more potential the come to fruition than a lot of the stuff I’ve come up with. It would be a point and click in the vein of Myst, with influence from Hotel Dusk: Room 215, Dungeons and Dragons and Fallout. Being a point and click, the engine would be super easy to find, I could even probably use the open source ScummVM engine that I recently read about.

The biggest challenge for me will be getting artwork done, but a friend of mine has wanted to do game development for a long time, and I’ve seen his artwork and he is really good and can come up with really stylized stuff, which I would definitely go with. I just hope he can pull off multiple styles, since it would be required for this game. I’ll have to get a hold of him and see what his thoughts are, but first I’m going to try and find an open source engine to handle this and get it a bit more fleshed out. It is just a super vague concept and some ideas on how the opening chapter will start off.

For the time being, I’m codenaming the project Riley, after the main character in the dream – Riley Deschain, which is clearly influenced by Roland Deschain from The Dark Tower, but in name only.

No Comments

I learned some painful lessons about InnoDB and MyISAM today

Here at work, one of our tables has been a thorn in my side for years, and only seems to get worse as time goes by. It is a massive table (currently sitting at 1.5gb, with the database totalling only 1.6gb) with each record representing a single report for a client. As time goes by, and more reports are added, the table gets larger and each client takes longer to load. I decided to switch from MyISAM to InnoDB on that table, so that each client’s reports are clustered together on the disk and quicker to load.

So, this morning I messed up this transition. I planned on creating a cloned database and doing some benchmark testing on my local machine to find out how significant the speed increase is. So, I loaded up phpMyAdmin and copied the database to a new one, and then forgot a critical step – switch to that database. I loaded the reports table and changed the engine from MyISAM to InnoDB and added a new index on the client ID and suddenly all of our sites that used this table crashed. It took almost an hour to restructure the whole table to cluster records by client id.

This was my first mistake of the day – the second was when I ran the importer script to add this week’s reports to that table. Like I said earlier, InnoDB clusters records based on the index, which means every time you add a record, it has to shuffle the data around to keep it with it’s siblings. This script was going to add about 7,000 new records… and it’s still going, well beyond the usual time frame for the report.

Through this series of mishaps, I learned quite a bit about InnoDB and MyISAM and where to use each one. I’ll be applying this knowledge to some future stuff I’m working on, and hopefully optimize some tables and get some better performance.

No Comments

This week on twitter – 2009-06-28

  • looks like celebrity death week continues – ed mcmahon, farrah fawcett, michael jackson and now billy mays. #
  • i really can't figure out why the zaba's on flamingo sucks so bad, but the zaba's on lake mead is so incredibly awesome… #
  • Requiem for a Dream is a really, really good and really, really depressing movie. #
  • no climbing tonight. my usual partner had to back out, and i need to give my arm a bit more time to heal. #
  • Did anyone else know that sales tax in Clark County is going to 8.1% on July 1st. #
  • In honor of MJ, we wanted to play Thriller here at work, but we don't have it…. so we chose the next best thing, Dr. Dre – The Chronic. #
  • I really want rain. I'm sick of this overcast with no precipitation. It's been years since I saw a decent rainfall – Come on summer storms! #
  • i just got an email from my landlord – the fine has nothing to do with us, so that issue is resolved. i wonder what it was all about. #
  • I got an email from my landlord today over a pastdue fine for about $250, due Friday. I don't even know where to start on why this is wrong. #
  • starting next week – Dustin and I are changing our rock climbing schedule to three times a week instead of two. yay! #

Powered by Twitter Tools.

No Comments

I had an odd realization at lunch today – I prefer PS3 over Xbox360

I bought my Xbox360 shortly before GTA IV came out, and bought my PS3 on launch for Metal Gear Solid 4. In the time since, I’ve picked up 8 Xbox 360 games and 4 PS3 games. For a long time, I was adamant that if I could only choose one system, I’d choose the Xbox 360, but today at lunch I began to think about that again and did not come to that conclusion.

As much as I love my Xbox 360, I’m starting to think that the PS3 would’ve been a better choice for a single system.

My game library for Xbox 360 is:

  • Halo 3  – decent, hardly play
  • Tales of Vesperia – enjoyable
  • Star Ocean 4 – pretty abysmal
  • GTA IV – fantastic, cross platform
  • Mass Effect – enjoyable
  • Skate 2 – good, cross platform
  • Rock Band 2 – fantastic, cross platform
  • The Orange Box – way better on PC

Whereas my PS3 library is:

  • Disgaea 3 – amazing
  • Valkyria Chronicles – holy fucking shit. play it. play it now.
  • Metal Gear Solid 4 – amazing
  • inFAMOUS – decent

Of course, there are other games out there that I don’t have, but have borrowed,  but I’m only counting the library of games that I have purchased. As you can see, the Xbox 360 games that I most enjoyed were not exclusives – GTA IV, Skate 2 and Rock Band 2. On the other hand, my entire PS3 library is exclusive, and I love three of them, and enjoyed the fourth.

The Xbox 360 exclusives that I have purchased have all been merely decent games. I’m not a big shooter fan, and Halo 3 didn’t impress me that much. I have two JRPGs for the Xbox 360 – Star Ocean 4 and Tales of Vesperia, one of which was horrible (Star Ocean IV) and the other was just an acceptable game, but nothing that I would miss. Lastly is Mass Effect, which is my favorite of my Xbox 360 exclusives, but just like Tales of Vesperia, I wouldn’t be in tears if I couldn’t have played that game.

Of the four PS3 exclusives, three absolutely blew me away. Disgaea 3 is an incredibly fun SRPG, Metal Gear Solid 4 is everything that a MGS fan would love, and Valkyria Chronicles is, simply put, the most underrated game I have ever played. It gets nowhere near the attention it should be getting. The last one, inFAMOUS, is fun, but I could’ve lived without it.

It was an odd conclusion. I never would’ve thought that I’d actually prefer my PS3 over my Xbox 360 in this kind of showdown. I still love my Xbox 360 – I think it has a better control, interface and online service… but the simple fact remains – Sony has a better exclusive lineup for my tastes.

,

No Comments

Lately, I’ve been having a hell of a time with Subversion

When I first got into source control, it was with a team who had no experience with any form of source control. We initially chose CVS, but over the past year, we eventually migrated to Subversion due to it’s more elegant setup with branches, tags and revisions. In this time, we have four main projects on Subversion: corporate intranet, main website, client software, Septuro. The last two are pretty traditional setups, where our file tree looks something like this:

/software
    /trunk
    /releases
        /1.0
        /1.1
    /branches
        /restructuring
    /tags
        /1.0.0
        /1.0.1
        /1.1.0
        /1.1.1

Anyone familiar with Subversion will recognize this setup as a very normal setup. We use trunk to add new features, branches to do major work that will destabilize the project for awhile, releases for maintenance work and tags for snapshots of individual releases. This system works fine when you are actively maintaining multiple releases – where the software is being deployed to a large number of sites.

However, our intranet and main website repositories have to be laid out differently, due to them not having multiple releases. Each system is deployed to exactly one location – the local web server. This has caused some issues with how we should lay out our repository. As of right now, it looks like this:

/intranet
    /trunk
    /release
    /branches
        /front-eod

This system ditches the traditional releases folder setup and uses a single folder called release in its place. This folder is where we keep our maintenance, and at any time, the web server is updated to the newest revision of this folder. This system works okay, until it comes time for releasing new content – unlike a traditional releases setup, we don’t simply clone trunk to a new folder and label it, since the previous folders would be completely unneeded as they are never being used. Instead, we try to merge changes on the trunk over to release, but this is sometimes problematic.

The big problem, however, is how to deal with large projects that should go on a branch. When dealing with branches, you want to make sure they don’t stray too far from one another, or from the trunk, so later merges are as painless as possible. You lay out your milestones (points where it is convenient to merge back into trunk without breaking trunk) and make sure you periodically merge from trunk back into the branch. This gives you time to make sure the branches play nicely, as well as get bug fixes from your maintenance branch onto your feature branches.

What happens when you are working on a large feature change, and halfway through the project, a smaller feature must be quickly pushed through and made live? You can’t just do a new release, because it may have some milestones from that incomplete project! How do you make sure that each branch never strays far, yet there is no sign of a new feature until it is done and approved? That dilemma is what my team is trying to sort through.

Our current idea is to get rid of the release branch and make all milestones disabled by default. Instead of using a release branch, just keep the webserver running from trunk and put all new features in branches. We will lay out milestones out as usual, but all of the new features will be disabled in these milestones – new menu options are hidden, changes in processing is not implemented, etc. The final milestone will be a change that will enable all of these new features. This will allow each branch to keep up to date with each other, but keep incomplete features from being put on the webserver.

I hope this system works. It is our current attempt, but far from our first attempt. I ‘ll keep you updated on what happens.

,

No Comments

For a change, I have a problem with a Mythbusters episode

I love Mythbusters – it is one of my favorite shows currently on the air. I usually find little to complain about with their testing methods, but an episode I saw today definitely caused an issue with me. The myth being tested was the old Hollywood scene of someone hanging onto the top of a car while the driver attempts to throw them off, through weaving and slamming on brakes. In this test,  Jamie was hooked to a rig that kept him safe while he held onto the roof of the car while Adam drove.

The part that I had a problem with was the second part – the long curve test. In this test, Adam held a constant right turn while Jamie tried to hold on as Adam sped up. Jamie was laying perpidicular to the car, so his feet were on the outside edge of the turn and his hands were clamped to the top of the windows on the inside edge of the turn. He fell off around 20mph, and they considered it busted at that.

Well, I’m a rock climber. Jamie has never mentioned doing anything that would particularly strengthen the muscles in his fingers in ways that I know they can be strengthened. On top of that, he was wearing gloves. No climber wears gloves, and there is a good reason for that – you lose almost all grip with gloves.

Between the gloves, and the lack of finger strength, it’s no wonder he lost grip so quickly. While the myth might still have been busted, this portion was poorly done, and if someone were to train in holding onto a vehicle like this, I’m sure they could do it for much, much longer. Most of the time, I approve of their testing methods, but not this time – Jamie losing grip while wearing gloves does not prove that it is impossible to hold on.

No Comments

My Death Knight is finally out of the opening area

A few months ago, I made my first Death Knight in World of Warcraft. My previous character was a level 55 Paladin (now 61, I haven’t played a whole lot in this time), and the transition to a Death Knight was pretty frustrating. It felt really weak. I couldn’t last in fights without needing a heal immediately afterwards, and I felt like a 55 Paladin to a 55 Death Knight was a kick in the nuts. I put in about two hours and stopped playing, and only today did I finally go back and play that particular character again.

This Death Knight is a dwarf named Dundabi (Proudmoore server), who is now a 58 Blood Death Knight. I’m still not super thrilled with him, mostly due to the lack of moves available. The opening area was designed to rapidly get you up to speed. You start at 55, and before you leave, you get 46 talent points to spend, and as soon as you leave, you get pretty much all flight points in Azeroth (except Northrend). The one area that wasn’t fully set up was the move set. I still only have about 8 moves, which is pretty minimal, considering I am level 58.

I don’t know how much more I will play that character. I really want to bring my Paladin up to level 80. I’m used to the Paladin, and take more pride in the Paladin than the Death Knight. Sure, in order to even get a Death Knight, that means I got to level 55 somewhere else, but it still just feels a bit cheap – I’ve put less than five hours into that character, and he is on the verge of going to Outland.

One good thing I can say though, the starting area was really well done. I didn’t like the ship cannon or wyrm missions, the controls and UI seemed half assed, but when I was playing normally, it was fun. The missions were well designed, the phased zones were really cool, and I felt like a true part of the Scourge. The ending scene also did a good job starting off the story of the Death Knights. The only mission I didn’t enjoy (except for the two I mentioned) was the one where you had to fend off some enemies while an allied Death Knight held up an anti-magic shield. I had to stay inside the shield, or suffer really strong magic damage, but anytime I tried to click an enemy, it would activate the shield and I’d start talking to that Death Knight. I am a control whore, and that little flaw irritated the hell out of me.

No Comments

This week on twitter – 2009-06-21

  • i finally did it! i got out of bed at 645 and went for a jog. i'd be really happy if i could get this to be a habit for every morning. #
  • today is a joyous day, it is the first day where i can be pissed off at someone parking in my reserved spot. #
  • Tonight is just not going well. Psychonauts is being weird, inFAMOUS became unfun, and Sim City 4 just crapped out on me. I need a new game. #

Powered by Twitter Tools.

No Comments

Psychonauts – First Impressions

I finally got my hands on Psychonauts a few days ago. This is a 2005 platformer from Tim Schafer that I wanted to play when it first came out, but it kept slipping through the cracks. Well, now I’m playing it for PS2 and I’m really liking it. I finished the first level (Oleander’s mind), and am ready to do my first impressions review.

The story is that you are Raz, a kid who sneaks into the psychonauts training camp, and you are being given a chance at becoming a psychonaut. You enter the minds of various people and play a fairly straightforward platforming experience. The levels are very bizarre and twisted, as each one represents the particular mind that you are in. The first level is a military mind of a fairly warped ex soldier.

The first level was well done, but nothing incredibly good. Comparing it to Jak and Daxter: The Precursor Legacy, which is my favorite platformer from this generation, I would rank it below Jak and Daxter, but not by much. The controls are very standard, although the camera is a bit brainless. I feel like I am too often having to readjust my camera to prevent it from getting stuck behind things that obscure the view of me.

The story is decent, voice acting is okay, but it reminds me way too much of a bad Saturday morning cartoon – the bully is whiny and nasally in his speech, there is the stuck up girl, etc. The humor can get dark at times, which is a good relief from that other stuff.

The art style is good, but I was expecting the levels to be a little more wacky and the regular world to be more subdued. Double Fine had a great opportunity to play with art styles, and thus far, the real world and the mental world were pretty similar, although there were occasional neat gravity effects and transitions between environments did feel almost dream like – which is good for a game like this.

Thus far, I’m enjoying it, but it’s not the mind-blowing experience I was expecting, but perhaps those expectations were simply way too high. However, if it can be as good as Jak and Daxter: The Precursor Legacy, it’s done right in my book.

No Comments