Hardcore Retrogaming

Démarré par upsilandre, Novembre 09, 2013, 04:00:23 PM

« précédent - suivant »

AdamsVibe

Tu donnes envie  :sweaf:

Jvais m'y pencher demain.

upsilandre

Je suis aller a ma cave pour remonter une Atari 2600 PAL et une vielle TV (j'etais plus trop sur d'en avoir) :)
a terme j'aimerais bien un jour pouvoir balancer sur une EEPROM et faire tourner tes programmes directement sur une vrai console  :lick:

J'ai aussi une Atari 2600 NTSC collector, un model de la premiere année de production qui etait en Californie avant de migrer ensuite a Honk Kong.

upsilandre

#17
Je me suis lancé dans la mise en place des collisions, je pensais galéré et en fait c'est passé comme une lettre a la poste, je me suis surpris moi meme d'autant que les collisions (pour l'instant juste avec le décor) sont plus propre que sur l'original ou elle sont asser bisarres (peut etre que l'effet etait voulu mais j'ai un doute car c'est plutot chiant a jouer leur collisions).

Je vous met la derniere version de ma ROM pour ceux qui veulent beta tester (l'emulateur a posséder est linké en debut de ce topic)
http://dl.free.fr/mKsuem7JG
C'est 4Ko les ROMs Atari2600 (et meme seulement 2Ko pour Combat VO) donc ca devrait pas etre trop long a DL :D

pour l'instant j'utilise a peine 750 octets de ROM (sur 4096) et 34 octets de RAM (sur 128)


EDIT: j'ai ajouté la collision entre players, c'etait vite fait

AdamsVibe

Pas mal du tout. J'ai pas eu le temps de m'y pencher correctement.

Demain soit ou ce weekend. Bonne initiative en tout cas.

upsilandre

Je m'y suis remis un peu aujourd'hui.
J'ai ajouté cette fois les tires. on peut maintenant tirer (donc dans les 16 directions du tank), j'ai mis en place la collision des missiles avec le decors (pas entre players), ajuster la frequence de tire et on peut meme encore courber legerement la trajectoire du missile apres avoir tirer pour contourner un peu un mur (facon Wanted le film avec Angelina)
A vrai dire j'ai pas vraiment bosser sur ce dernier point qui a émèrgé tout seul du code mais qui est aussi present dans le jeu orginal. Probablement que j'ai eu la meme aproche au niveau du code que sur l'orignal ce qui a produit le meme effet par defaut, ils ont du décider de le garder apres coup parce que c'etait sympa en terme de gameplay.


Par contre j'ai du bloqué une demi heure ou 3/4 d'heure sur un bug completement con. Je m'etais juste trompé d'instruction sur une ligne. j'avais mis un STA (stock) au lieu d'un LDA (load) qui concerne le registre d'accumulation et qui sont les 2 instructions les plus basiques et les plus utilisés et rien a faire j'arrivais pas a voir mon erreur totalement grossiere.
Pourtant a la fin j'avais cerné grace au debugger ou etait exactement l'erreur et meme en ayant la ligne sous les yeux j'arrivais pas avoir que j'avais confondu STA et LDA.
Et ca c'est typiquement les effets de la programmation en semaine avec le cerveau en compote apres le boulot. Je prend quand meme sensiblement plus de plaisir les jours feriés.  :cry2:
Mais bon je m'eclate quand meme bien la dessus, je regrette pas et j'irais jusqu'au bout  :fou:.





upsilandre

#20
J'avance encore un peu

- J'ai modifié un peu mon moteur d'affichage pour exploiter une feature du TIA au travers d'un registre que j'avais pas encore utilisé (VDEL pour Vertical delay) et qui permet d'ameliorer la gestion "tendu" de l'affichage. dans mon cas ca n'a rien changé mais c'etait pour comprendre son fonctionnement

- J'ai ajouté un effet de recule quand on tire qui n'existe pas dans l'original mais qui est sympatique. Je commence a prendre certaine liberté pour modifier certaines choses et ameliorer le jeu selon mes gouts

- J'ai surtout bossé sur l'affichage du score des joueurs dans la partie superieur de l'ecran.
J'ai commencé par un affichage a un seul digit (donc un score qui s'arrete a 9) puis ensuite j'ai voulu passé a 2 digits (de 00 a 99) ce qui a pas mal compliqué les choses mais j'ai finis par m'en sortir. c'est nickel et ca m'a aussi permit de tester les operations arithmetiques en mode DCB (decimal codé binaire) et les differents changement de format que ca impose. C'est surtout pour ca que je voulais 2 digits (pour l'excercice)

- Une fois que j'ai eu l'affichage du score j'ai implementé les collisions entre missiles et chars pour savoir quand on touche l'autre joueur (et donc incrementer le score). Ca c'etait vite torché.


En l'etat j'ai donc maintenant un jeu qui est deja jouable. Manque encore un element important (en plus de toute la partie bruitage) c'est ce que j'appellerais la "redistribution des cartes" quand tu touches l'autre joueur.
Le joueur touché doit etre repoussé ailleurs pour eloigner les 2 joueurs et relancer un peu la bataille entre 2 hits comme dans l'original mais je vais tenter de le faire un peu differement. Mettre le char touché en rotation rapide (comme dans l'original) mais au lieu de le faire reculer d'une distance X (en le faisant traverser les murs si il y a) je voudrais le faire rebondir contre les murs comme un jeu de billard pour qu'il s'eloigne de l'autre joueur.
Ca peut etre un peu compliqué donc j'ai laissé ca pour plus tard

Dailleurs avant cela j'ai des idée d'amelioration et de modification du gameplay.
Notement contrairement a l'original ou tu peux tirer aussi vite que tu veux (dès que ton missile percute un obstacle tu peux retirer aussitot et donc mitrailler, par defaut ma version fonctionnait aussi comme ca). Je veux vraiment penaliser les tires ratés (pour obliger le joueur a reflechir avant de tirer) et donc imposer d'attendre 2 ou 3 secondes entre chaque tire et pour accompagner cela je voudrais afficher une jauge a coté du score qui se vide quand tu tire et t'indique le moment ou tu vas pouvoir retirer a nouveau.
Je pense que c'est mieux surtout sur ce gameplay ou les deplacements du char sont volontairement lent.

Y a aussi un autre element que j'aimerais ajouter plus tard. Un objet bonus qui aparaitrait aleatoirement et qui te donnerais un boost vitesse x2 pendant quelques temps (la vitesse de deplacement etant l'element strategique du jeu)




upsilandre

J'ai oublié de mettre une petite image pour illustrer ou j'en suis et avec les filtres CRT et signal composite de Stella dont j'adore le rendu :D (et encore a l'epoque le signal etait encore plus pouri que du composite, c'etait du RF)





sans le filtre vintage








upsilandre

#22
Cool j'ai deja ajouté la jauge et ca marche!
Maintenant quand on tire y a une jauge qui apparait et faut attendre qu'elle se vide pour pouvoir tirer a nouveau (faut attendre 200 frames soit 3.33 secondes)

Et j'ai oublié de préciser mais bien sur c'est un jeu 60fps :cool2: (mais ca ne peut se constater que sur le deplacement des obus  :vice: )

upsilandre

#23
J'ai rectifié un dernier petit bug de collision entre joueurs, maintenant mes collisions sont vraiment solide sans bug (en tout cas j'arrive pas a les faires bugger) et plus propre que dans l'original ou y avait une sorte de rebond désagreable, je suis contant.

la derniere version de ma ROM Combat2013 V0.5
http://dl.free.fr/paHbYYlEX

Prochaine etape soit je m'occupe de l'objet bonus qui boost la vitesse des tanks soit de l'animation "redistribution des cartes" quand on se fait toucher, J'hesite mais pour aujourd'hui c'est finit de toute facon.





EDIT:
Pour l'instant au niveau RAM je suis a 60 octets d'occupation (sur 128)
et niveau ROM je suis a 1260 (sur 4096)

Ce qui est marrant aussi c'est que j'utilise quasiment jamais d'operation arithmetiques
En tout et pour tout j'utilise seulement 6 additions pour l'instant dans tout le programme.
Tout le reste c'est de la comparaison, de l'incrementation, du decalage de bit, de la rotation de bit, du AND, du OR, du XOR, du branchement. C'est la que tu vois que t'es en assembleur.

Hobes

J'avais le jeu sur une vieille console et en appuyant sur une touche je pouvais changer les couleurs à la volée en appuyant sur un bouton. Je ne sais pas si c'est possible mais défi :D

upsilandre

Tu veux dire que tu as un souvenir de ce jeu sur Atari2600?

Y a effectivement des boutons sur la console , y a notement un bouton "game select" pour choisir different mode de jeu quand il y en a donc je pense que tu fais peut etre reference a ca. Sur combat y a plusieurs mode de jeu et selon le mode de jeu les couleurs sont differentes donc quand on manipule ce bouton ca change effectivement les couleurs.

Sinon oui changer les couleurs du jeu c'est possible sans difficulté. y a quand meme une palette de 128 couleurs sur Atari2600 (plus que sur NES) mais en usage classic c'est seulement 4 couleurs affichable simultanement (tout du moins sur la meme scanline).

Hobes

Citation de: upsilandre le Novembre 18, 2013, 02:40:23 PM
Tu veux dire que tu as un souvenir de ce jeu sur Atari2600?

En fait je ne l'avais pas sur Atari 2600 mais sur Interton VC4000 :
http://www.hautbasgauchedroite.fr/forums/index.php/topic,43.msg79772.html#msg79772

Mais j'imagine que le jeu était le même. Quand on appuyait sur un bouton ça changeait les couleurs et la position des murs. J'avais l'impression de jouer à un autre jeu :crazy:

Shin

Remplace le score par des barres de vie et fais apparaître des items pour recharger sa barre :cool:

Ensuite rajoute munitions limités à récupérer sur le champs de bataille.

Shin (game designer)

Hobes

Il cherche a reproduire le jeu original, pas en inventer un nouveau.

Shin

Ça j'ai compris, mais il a quasiment atteint le but, et il recherche des idées pour améliorer et se trouver un challenge. Ce qu'il a fait pour les collisions par exemple...

Donc partir sur de nouvelles idées l'intéresse peut être.