About Me

My photo
I'm a colonist who has declared war on machines and intend to conquer them some day. You'll often find me deep in the trenches fighting off bugs and ugly defects in code. When I'm not tappity-tapping at my WMD (also, known as keyboard), you'll find me chatting with friends, reading comics or playing a PC game.

Thursday, September 8, 2011

ACSVParser: A simple CSV parser written in standard C++.

Hey folks,
Its been a while since I posted back here... ok, its been a looong while. A lot has been going on. I've pushed forth my career in gaming all the way to Singapore! Yes, that's one of the four asian tigers and it sure is one of the best places to be working as a game developer. That, of course, does not mean I will let this blog lie fallow. So here goes...

One of the most interesting (vexing?) things about programming is that some of the simplest things turn out to be not so simple at all! Consider a CSV reader. We've probably used one (if not written one of our own) and yet we all know that it could do with a whole lot of customization. Some of the general peeves, I've heard are:
"I don't want to use commas, I like using the caret symbol!"
"Why can't I have new lines in my CSV content?"
"I want to have embedded spaces in my CSV data!"
"I want to sneeze with my eyes open, darn it!"

All of these (except the last one), led me to stop kicking the can down the road and come up with my own parser. I called it ACSVParser(after yours truly :))

The project is hosted on github at https://github.com/angelorohit/ACSVParser
Do check it out and let me know what you think (feedback, suggestions, issues).

Cheers!

Friday, May 20, 2011

Poem - The Warning

While going through an old diary of mine, I happened to stumble upon a poem I'd written in high school. It made me remember that I did want to be a writer before I became a programmer. Perhaps someday, I'll be able to do both.


The Warning

Spare me your protests for peace and love,
You do nothing but put on a lively show…
For then you disbelieve the one above,
And meekly forsake the man next door.

If autumn leaves were to fall in spring time,
Or Snowy flakes were to cover a summer street,
You would still call this poem a crime,
You would still throw tantrums and stamp your feet.

Your hunger-strikes won’t get what you want,
This isn’t the way the battle should be won,
I see starved looks on faces gaunt,
But is what you demand inevitably done?

The bomb blasts you decry aren’t one of a kind,
Hold on a bit and press rewind,
This happened before but you didn’t mind,
Now why would you get that petition signed?

Please don’t belittle this poem of mine,
I’d really appreciate it if you spent the time,
To work through each and every line,
You’ll see there’s always a reason and rhyme.

Friday, December 31, 2010

Happy New Year!

Happy 2011 everyone! Have a wonderful year ahead!

" Ring out the old, ring in the new,
Ring, happy bells, across the snow;
The year is going, let him go;
Ring out the false, ring in the true. "
~ Alfred Tennyson, 1850

(1600 x 1200 Designed with Gimp 2.6.1)


Friday, September 24, 2010

Game Review: NinJump for the iPhone.

NinJump from Backflip Studios is one of those games that captures your attention from the get go due to its lovely visuals and simple gameplay. Our protagonist is a Ninja with an uncanny ability to defy gravity and run up walls. Of course, being a Ninja you also get to deal with all manner of enemies ranging from cute little twitter blue birds, squirrels and rival clan Ninjas. Your wall-running quest ends when an enemy manages to tag you. Gameplay goes in short bursts hardly lasting more than 5 minutes at a stretch before you run into an enemy and lose. The game is free to download from the AppStore but includes ads. If you find the ads particularly annoying, you can disable them via an In-App purchase.

Basic Mechanics:
There are two walls on either side of the screen held in portrait mode and you can bound from wall to wall by simply tapping the screen. When jumping from one wall to the other, the Ninja does a slicing action with his Katana (sword), rending anything that gets in his way. Timing is key. The jumps must be timed so that you slice through your enemies. If you knock into an enemy while running up the wall, its game over.

Power-ups:
The game isn't as bland as a simple run and slash. There are god-awesome powers too! If you manage to kill three enemies of the same type one after the other, you gain a power-boost that is specific to the enemy that was killed. For instance, if you manage to kill three blue birds in a row, the character will sprout wings and take to the air, smiting anything that gets in his way. After a short while, the power will end and you will become your usual vulnerable self again. The power-ups are particularly visually appealing and when you see them for the first time, you are bound to go "Oh YEAH!" (or some such similar form of exclamation).

There are also tiny bubbles on the walls which you can grab to get a protective force-shield. The force-shield is good for one hit.

Score System:
The score you accumulate is a factor of the distance you've covered. This is naturally dependent on how long you manage to survive and how many power-boosts you gain. Destroying attackers is great fun but unfortunately, it doesn't contribute to your score.

The Good:
- Good replay value.
- Cute visuals.
- Addicting gameplay.
- FREE!

The Bad:
- Really simple (can be seen as a good thing too)
- Needs more bad guys.
- Needs a better scoring system.
- No unlockables? :(

Get NinJump on the AppStore here.












Saturday, July 10, 2010

iDream wallpaper done with the Gimp

I did a nice wallpaper while listening to some cool House/Trance music and this is what I ended up with. Enjoy!

(1440 x 900 widescreen)


(1600 x 1200)

Saturday, June 19, 2010

Game review: Prince of Persia - The Forgotten Sands for the PSP

After the Prince of Persia trilogy that became a cult hit among gamers around the world, UbiSoft announced their departure from the current Prince storyline and their venture into a new cel-shaded version of the game. However, before leaving things out to dry, the publishers of the game decided that they would do a fourth title in the POP series – The Forgotten Sands. Prince of Persia: The Forgotten Sands was developed and released for multiple consoles including the Xbox, PS3, Nintendo Wii, DS and the PSP.

The Forgotten Sands is another epic adventure of the prince that takes place between the events of The Sands of Time and The Warrior Within. What’s really interesting is that the game for the PSP is not just another watered-down story of the one that exists on larger consoles. This time around, the creators decided that handheld owners warranted a unique experience for the Prince and as such the entire storyline is radically different from the one for the Xbox, PS3 and Wii.

THE PLOT:
The plot begins with a prophecy foretold to Ahihud, the mightiest of fire spirits - “You will die by the blade he brings. As sure as winter follows fall and day turns to night, a lonely hero with the blood of kings, no mortal soul can withstand his might”. Fearing that the prophecy would come to pass, Ahihud sends his minions to hunt down and kill all those with royal blood. King Sharaman, the Prince's father locks him in the palace for his own safety but the Prince pursues a mysterious guiding light which offers to help him find his enemy. The light turns out to be Helem, a spirit of time.

GAMEPLAY:
Ubisoft have taken the PSP game back to its roots by producing a 2.5D platformer(remember the classic Prince of Persia you used to play on DOS?) . The Forgotten Sands is in fact three-dimensional but not free roaming as you would expect in a 3D world. With the help of the spirit of time, the Prince can either accelerate time or slow it down. This makes for some pretty interesting gameplay and inventive puzzle solving. You can make a tiny sandstorm launch the Prince into the air by accelerating it or solidify by slowing it down. Time manipulation is not restricted to sands alone. Any object that Helem hovers over may be subject to acceleration or deceleration. Enemies can be slowed down to a crawl for a short while so that you can quickly dispatch them. Traps can also be brought to a grinding halt for you to safely get past them. As you run through the game, you find glowing orbs of magic called Elixir. Collecting these allow you to purchase upgrades for the Prince. The upgrades are either combat improvements (new combos) or health improvements (extending the health bar for longer life). The good old drinking fountain is still in use as it serves as a checkpoint for the game.

COMBAT:
Combat is pretty simplistic in The Forgotten Sands. Basic combat involves mashing the square button to hit enemies. You can use the circle button to dodge or throw enemies into the air. You can also use combos in combat once you’ve unlocked them using collected elixir. Most of Ahihud’s minions are pretty easy to take down and don’t really pose a threat. Bosses, however, can be a different story.

GRAPHICS AND ENVIRONMENT:
Although, the graphics of the game cannot compete with that of larger consoles, It still looks marvellous on the PSP. The artists have paid attention to minor details such as wind being swept in the desert or tiny particles pulsing in a magic world. The cutscenes are engrossing and there’s nothing more rewarding than watching a brand new cutscene of the game after clearing a particularly irksome level. The environment is truly exotic giving you a “wish I were there” feel. Crumbling platforms are common especially in the later levels where you are engaged in a mad rush to clear the level without stopping even for a moment’s breath!

MUSIC:
The soundtrack of the game keeps you right in the thick of it, from the arabic-inspired scores to the dark overtones of danger. Voice acting is spectacular as the story unravels through conversations between the Prince and Helem.

VERDICT:
Fans of the POP Franchise would surely want this game since the story is completely different from the other console versions. The game offers some replay value too by allowing replaying of levels to better your time or collect elixir.