Sunday, May 31, 2009

Classic Gaming Shelf : Phantasy Star II

Back in the early 90's, the last-gen video game console i asked my parents to have was the Super Nintendo. Although i consider myself a SNES fanboy, it 's undeniable that Sega done some awesome work with Genesis. Now with Wii's Virtual console, i'm taking the time to play the classics i always was curious about but never managed to play back at the time of their respective releases.

My previous system was a Master System II and one of the best games i've ever played in life was Phantasy Star. My history with PS is a funny one for another post, but now i'll comment my impressions on its successor.
The game mechanics are very similar to PS1. The most noticeable differences are 3rd person perspective in battles (you actually see the characers striking the enemies) and the lack of first person dungeon navigation(this style could have been explored more).

The gameplay starts out fine at first, but gets boring over time because of playability issues:

  • Lots of random battles, moving between cities is a test for patience since the pace speed of the characters in the world map is way too slow with battles popping out of every couple of steps.
  • Dungeons are big, hard to navigate and memorize (the spaces are hard to distinguish). For a regular player its virtually impossible to explore them without a map, and even with the map it's hard to locate yourself in it. It explains a lot why the cartridge had a "110-page hint book included"(as written on the cover).
I'm saying this because i've gone through ~4 dungeons till now (just finished the Bio Systems Lab) and each dungeon (in average) can steal you around a couple of hours easily(not counting the ultra-boring powering up needed to cross them without being annihilated).

IMHO, Phantasy Star 1 had a more balanced gameplay. Of course, it had its load of ultra complex dungeons (like Baya Malay/Medusa Towers) and leveling up moments, but at acceptable doses. It seems that Sega in PS2, instead of enhancing the fine balance of these ingredients, decided to overdose them.

But apart the game mechanics issues , i see it as a landmarker game in the time it was released (1989-1990). The universe surrounding the Algol system is amazingly interesting and full of untold secrets.
I surely bet that PS2 was an everlasting gobstopper for a kid with a full summer vacation to play games.

My curiosity concerning what happened after Lassic's fall was the main motivator for getting this game on Virtual console, but i don't think i'll have the time and patience to finish it now. I wonder if these gameplay issues were improved on the Sega Ages remake. I wanna play it once i learn some japanese :)

Ps : I think i'm getting old

Sunday, May 10, 2009

Uncle Bob just wanna have fun!

Uncle Bob Martin's keynote @ RailsConf'09 is definitely a very remarkable one. What keynote to expect from a General Yamamoto-class of software developer with great communication skills? At least some good advices and food for thought.

The title was "What killed Smalltalk Could Kill Ruby", but don't hang too much on it as much some people did. The majority of the keynote was focused on exposing how decent test suites and TDD adoption generates a positive-clean-code-feedback.

Few points of the presentation pissed Smalltalkers for obvious reasons. Usually "Z language is dead" statements immediately pisses the Z-language hackers. Before spitting flames try to take a deep breath and see the thing on a different perspective(and with a bit of humor, of course).

It's fairly known that "No existing language will die in a long time". An interpretation for "Killed" in the context of programming languages can be: "a language that had lost its lift-off momentum to occupy the front row of IT industry technologies". I believe that Smalltalk and Common Lisp are two examples of it.

Sincerely , i didn't read any tone of "Smalltalk was killed because of the lack of testing" on the presentation as some people did. What i understood is that testing provides you the control mechanism to properly harness the power of languages like Ruby and Smalltalk. On such languages with high degree of expressive freedom it becomes "too easy to make a mess". In other words: you can fly high if you don't have proper discipline.

Fabio Kung published an interesting analogy that came to me a while ago when reading a chapter of The Ruby Programming Language. "With great power comes great responsibility" said Uncle Ben and so did Uncle Bob.

[...] Professionalism is honor, Professionalism is being honest with yourself and Disciplined in the way you work [...]

Bob just nailed it. These are the main attitudes i have been working hard to improve right now. A couple of years ago, when i started to code a solution, my mind entered in a turmoil state trying to unroll the entire thing at once, much like a hungry beast attacking its prey. The final result was that i often got lost in the ideas entering an analysis-paralysis state. Today, i have far better control of the beast(sometimes it leaves the cage.. lol). I'm lucky enough to pair program with great people that gives me feedback when that happens.

I see TDD as a software development equivalent to Ritalin. A way of achieving discipline and delivering quality software with one shot. It's no silver bullet, but surely helps a lot.

Take Bob's words seriously , but not too much. Allow the guy to be a little ironic and humorous sometimes (e.g when he was speaking on Academic Smalltalk adoption).

Uncle Bob just wanna have fun and watch his nephews writing clean code :)