Love is a battlefield, and I'm unarmed.
Click HERE to register.


 Forgot your info?
Remember me

Don't mess
with the bull.
JOIN!!!
2 COMMENTS
RETRORATING: 5
FAVORITED 5 TIMES

Classic Games: Karateka for the Commdore 64

Note: This article has been reprinted from an original article that I wrote in early 2004 for the website "Lemon - Commodore 64."  I am the author, and it has not been stolen, so if you see it there, know that I wrote it.  The pictures all come from that site as well and include a link to the original website.


Back in the days when most games were simple ideas, a game came along that stood above the rest. That game was Karateka, programmed by Jordan Mechner (who later would go on to create the "Prince of Persia" series of games). Featuring an actual storyline, mostly unheard of outside of adventure or role-playing games of the day, and cutscenes, the game stood out as a memorable experience.


While not a completely original story, the woman you love has been kidnapped by an evil overlord and it's up to you to save her. You climb the mountainside where the overlord's hideout is, and battle opponents one at a time in order to reach the inner sanctum.

As the game progresses, more cutscenes appear to give you an update on what's going on deep down in the enemy's stronghold. The enemies get harder as you continue, increasing the challenge.

Featuring wonderful (though sometimes repetitive) music and sound effects, the game truly captures the imagination, even twenty years later! As mentioned before, the creator of this game later went on to create the innovative "Prince of Persia" series of games, but I think I like this game much better.


This game also has something rarely seen in the early days... more than one ending. I won't ruin it for you, but one ending is totally predictable... and the other one will shock you and make you laugh out loud once you realize what's happened...
Digg Share
Looking for more from ProphetSword?
READ 215299 TIMES
Retro Ramblings: Green Stamps and Oatmeal Cups

Unfortunately, when the site crashed last year, my articles on random retro things bit the dust, and I wasn't able to retrieve them. But have no fear...

Retro Magazine RoundUp: Black Belt

Welcome to the 2nd edition of Retro Magazine Round-Up, where I explore the pages of old school periodicals and boy do we have something special today....

Top 80s Songs with Handclaps in them

Percussion can come from beating a stick on all sorts of objects or can come from striking almost any two objects together (or a machine simulating th...

My Five Favorite Full House Plot Holes

Shocking enough, the reboot of “Full House” is reaching its third season on NetFlix and is going on to its fourth, and I could not be more stu...

When Pizza Hut Was King

As a kid in the early-‘90s, my family never ordered take out from Pizza Hut. No, it was strictly a dine-in option for us. We didn’t have too many ...

Retro Holiday Recipes

I recently came across an issue of McCall's magazine from December of 1967, and while getting lost in all the great advertising, I stumbled upon some ...

ThatDudeintheHoodie's Favorite Nontraditional Christmas Songs

After the turkey has been gobbled, naps have been had, and the madness of Black Friday has ended, it's time to get in the holiday spirit if you haven...

Action Figure Reclamation Project Phase 2

The Action Figure Reclamation Project continues as we dive into the second round of retro toys I've recently added back into my collection. As we outl...

Trading Card Treasures Vol. 2

In the first edition of Trading Card Treasures we looked at several unopened packs of movie cards produced by Topps, but this time around we've got 6 ...

CDbException

CDbException

CDbCommand failed to execute the SQL statement: SQLSTATE[01000]: Warning: 1265 Data truncated for column 'rj_classics' at row 1. The SQL statement executed was: UPDATE `articles` SET `id`=:yp0, `posted_by`=:yp1, `title`=:yp2, `content`=:yp3, `icon`=:yp4, `column`=:yp5, `type`=:yp6, `featured`=:yp7, `contest_winner`=:yp8, `official`=:yp9, `smurf`=:yp10, `posted_on`=:yp11, `status`=:yp12, `category`=:yp13, `action_on`=:yp14, `edited`=:yp15, `reads`=:yp16, `retro_rating`=:yp17, `favorited`=:yp18, `theme`=:yp19, `colorcode`=:yp20, `show_in_header`=:yp21, `approved_on`=:yp22, `rj_classics`=:yp23, `reviews`=:yp24, `review`=:yp25 WHERE `articles`.`id`=40

/home/ghostofvapor/public_html/yii/framework/db/CDbCommand.php(354)

342             return $n;
343         }
344         catch(Exception $e)
345         {
346             if($this->_connection->enableProfiling)
347                 Yii::endProfile('system.db.CDbCommand.execute('.$this->getText().$par.')','system.db.CDbCommand.execute');
348             $errorInfo = $e instanceof PDOException ? $e->errorInfo : null;
349             $message = $e->getMessage();
350             Yii::log(Yii::t('yii','CDbCommand::execute() failed: {error}. The SQL statement executed was: {sql}.',
351                 array('{error}'=>$message, '{sql}'=>$this->getText().$par)),CLogger::LEVEL_ERROR,'system.db.CDbCommand');
352             if(YII_DEBUG)
353                 $message .= '. The SQL statement executed was: '.$this->getText().$par;
354             throw new CDbException(Yii::t('yii','CDbCommand failed to execute the SQL statement: {error}',
355                 array('{error}'=>$message)),(int)$e->getCode(),$errorInfo);
356         }
357     }
358 
359     /**
360      * Executes the SQL statement and returns query result.
361      * This method is for executing an SQL query that returns result set.
362      * @param array $params input parameters (name=>value) for the SQL execution. This is an alternative
363      * to {@link bindParam} and {@link bindValue}. If you have multiple input parameters, passing
364      * them in this way can improve the performance. Note that if you pass parameters in this way,
365      * you cannot bind parameters or values using {@link bindParam} or {@link bindValue}, and vice versa.
366      * binding methods and  the input parameters this way can improve the performance.

Stack Trace

#2
+
 /home/ghostofvapor/public_html/protected/controllers/SiteController.php(1261): CActiveRecord->update()
1256                 $ifFavorited = $ifAction = 0;
1257             }
1258 
1259             $this->render('article', array('model' => $model, 'article' => $article, 'postedBy' => $postedBy, 'comments' => $comments, 'commentCount' => $commentCount, 'ifFavorited' => $ifFavorited, 'ifAction' => $ifAction, 'allArticles' => $allArticles, 'pages' => $pages));
1260             $article->reads += 1;
1261             $article->update();
1262         } else {
1263             $this->redirect(Yii::app()->createUrl('site/error', array('code' => 404, 'message' => 'This page was not found.')));
1264             exit();
1265         }
1266     }
#15
+
 /home/ghostofvapor/public_html/index.php(16): CApplication->run()
11 defined('YII_DEBUG') or define('YII_DEBUG',true);
12 // specify how many levels of call stack should be shown in each log message
13 defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);
14 
15 require_once($yii);
16 Yii::createWebApplication($config)->run();
2026-04-06 09:04:34 Apache Yii Framework/1.1.11