RETRO CODING





  Babdeau_RetroCoding

X68000
CD COMPIL
MSX
NEW YORK KUNG-FU 1987
EXELVISION
DEMO NOEL2010



CONVERTISSEUR D'IMAGES
PC -> EXELVISION


TRANSYLVANIA


 
THOMSON
SECTE NOIRE


LOST


 
ORIC
DEMO CMPI



VIC20
DEMO VIEUX MICR0 2005
VM2005

DEMO NOEL 2005



  NEW YORK KUNG-FU 1987
Cartouche MSX 2/2+/...
SEPTEMBRE 2018

 Au commencement:
Tout a commencé par des tests en assembleur du VDP des MSX2 le V9938 de Yamaha, pendant le peu de temps libre en juillet/août.

Après avoir essayé les diverses commandes internes du VDP V9938 en assembleur, en SCREEN 8 et SCREEN 5, j'ai décidé de m'amuser à faire un petit jeu pour exploiter ce puissant VDP.

C'est un jeu d'arcade, qui s'inspire de Kung-Fu Master et Vigilante, avec un gameplay très simple : le joueur peut aller vers la droite et vers la gauche, et donner des coups vers ces mêmes directions, le tout avec un décor scrollant en fonction des déplacememts du joueur.
 
L'originalité que j'ai voulue pour ce petit jeu c'est de ne pas avoir comme à l'habitude sur ce genre de jeu, une barre de vie ou d'énergie, mais plutôt un chronomètre qui diminue en permanence et accélère lorsque le joueur recoit des coups.
Donc le but du jeu est d'arriver à la fin du jeu avant la fin du chrono ;)


 L'Histoire:
NEW-YORK, 1987.

La criminalité a atteint un niveau si élevé que la police a déserté les

commissariats de Brooklyn, de Manhattan et du Bronx et ne peut plus rentrer dans ces quartiers qui sont aux mains des gangs. Seul le Queens et StatenIsland son épargnés par les gangs


Le maire de New-York a décidé en secret de murer toutes les rues menant à ces quartiers pour les isoler abandonnant du coup les habitants de ces quartiers, le maire estimant qu'il n'y a pas d'autre solution pour sauver New-York.
L'opération est réalisée rapidement pendant une nuit par une armée de mâcon pour éviter que les gangs ne s'enfuient des quartiers.

Chacun de ces trois quartiers et dirigé par aux moins deux gangs dominants et un gang domine tous les autres gangs. Ce gang est dirigé par l'ignoble Death Head. En représaille de la décision du maire il organise l'enlèvement de la fille du maire par son gang, et réclame la réouverture des rues dans les 36 heures sinon la fille du maire sera exécutée.

Le maire forme un commando de policiers pour récupérer sa fille, mais ces policiers n'arrivent même pas à traverser le premier quartier, le commando entier a été décimé.

Le maire ne veut pas céder et aucun autre policier n'est prêt à risquer sa vie pour aller sauver la fille du maire.

Vous êtes Brandon le fiancé de la fille du maire et vous n'avez pas l'intention de la laisser mourir.
Vous décidez d'aller récupérer vous-même votre fiancée et d'affronter les gangs.

Il vous reste 28 heures pour libérer votre fiancée.

Vous devrez traverser ces 3 quartiers pour pouvoir libérer votre fiancée :
-BRONX
-MANHATTAN
-BROOKLYN


FREEWARE
Aucune vente autorisée
Création originale par 6502man.
Graphismes de diverses sources
et réalisation perso.



VIDEO:



 Technique Graphique:
Le jeu est prévu pour une cartouche de type mapper Konami (8K) et devrait occuper plus de 256K.

Programmation 100% assembleur.

Aucun sprite hardware n'est utilisé uniquement des objets bitmap, pour l'affichage j'utilise la technique du double buffering, le VDP est configuré en SCREEN 5.

la VRAM est organisée de cette manière:
- PAGE 0 et 1 pour l'affichage en double buffering.
- PAGE 2 données du décor, du chrono ...
- PAGE 3 données "sprites" du joueur et de 2 ennemis.
la VRAM est remplie avec les données à chaque début de niveau, ensuite les opérations graphiques ne se font qu'entre VRAM et VRAM.

Pour le décor la commande HMMM (High Move Vram to Vram) est utilisée.
A chaque rafraichissement de l'écran, le décor est réaffiché en utilisant 2 fois la commande HMMM pour réaliser le scrolling du décor (partie droite et partie gauche) ;)

Pour les sprites la commande LMMM (Logical Move Vram to Vram) est utilisée.
A chaque rafraichissement, le joueur est affiché en tenant compte de l'animation du "sprite", ensuite chaque ennemi (actif) est affiché en tenant compte de l'animation du "sprite".


Exemple de sprites extrait de Vigilante version Master System :