Le premier ordinateur que j'eus fut un Amstrad CPC464 et le premier jeu fut "Le Secret du Tombeau", sorti en 1986. C'est un jeu d'action/aventure que je trouve toujours excellent aujourd'hui, et j'ai eu envie de le ré-écrire sous VB (sans en avoir vu le code). Mon programme doit néanmoins être très différent de l'original, sans aucune optimisation, mais en contre-partie, il permet une flexibilité de configuration des plans assez grande.
Quelques autres différences:
- Une (et une seule) sauvegarde de la progression possible;
- Configuration des contrôles (clavier et manette) plus détaillée;
- Tir à sens unique;
- Affichage textes et inventaire.
Le jeu en 2 mots: vous êtes un explorateur qui visitez des pyramides. Vous devez en percer les secrets et en réchapper vivant. Vous pouvez tirer, poser des mines, sauter et actionner tout un tas de mécanismes (et de pièges!).
En plus du plan original, j'ai créé un nouveau plan "Le Secret du Volcan", nettement plus compliqué que "Le Secret du Tombeau". J'ai en réalité passé beaucoup plus de temps à configurer ce plan qu'à programmer le jeu, malgré un éditeur assez poussé (dont copier-coller amélioré).
-------------
Je publie (enfin) une mise à jour que j'avais faite il y a un moment déjà. Les graphismes sont un peu moins dégueux. Mais vous pouvez choisir l'option 'old school' dans le menu si vous préférez les anciens!
-------------
Ci-dessous, un extrait de l'algorithme d'intelligence artificielle des prêtres. C'est simple mais ça les rend coriaces.
Source / Exemple :
Private Sub TrajetMéchants(ByVal X As Integer, ByVal Y As Integer, ByVal Dir As String)
'Les trajets empruntés par les méchants sont calculés à partir de la position de l'explorateur
Dim Xa As Integer, Ya As Integer
If Abs(X - PosiExplo.X) > cXMaxMéch Or Abs(Y - PosiExplo.Y) > cYMaxMéch Then Exit Sub
If TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y) <> "" Then
If Len(TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y)) < Len(Dir) Then Exit Sub
If Len(TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y)) = Len(Dir) And Rnd < 0.5 Then Exit Sub
End If
Xa = (X + TailleXPlan) Mod TailleXPlan
Ya = (Y + TailleYPlan) Mod TailleYPlan
If LaVoieEstLibre(Xa, Ya) Then
TrajMéch(X - PosiExplo.X, Y - PosiExplo.Y) = Dir
Else
Exit Sub
End If
'Récursivité
TrajetMéchants X + 1, Y, Dir + "0"
TrajetMéchants X - 1, Y, Dir + "2"
TrajetMéchants X, Y + 1, Dir + "3"
TrajetMéchants X, Y - 1, Dir + "1"
End Sub
If ancPerso(X, Y) = Prêtre Then
'On cherche le dernier tournant
i = 2
Do Until Mid(TrajMéch(X, Y), i, 1) <> Mid(TrajMéch(X, Y), 2, 1)
i = i + 1
If i = Len(TrajMéch(X, Y)) + 1 Then Exit Do 'aucun: en ligne droite
Loop
If i <> Len(TrajMéch(X, Y)) Then
DéplacementMéchant Xa, Ya, CInt(Right(TrajMéch(X, Y), 1))
Else
'Les prêtres s'arrêtent au dernier tournant
Méchant(Xa, Ya).Etat = AlArrêt
End If
Else
'Les autres méchants fonçent tête baissée
DéplacementMéchant Xa, Ya, CInt(Right(TrajMéch(X, Y), 1))
End If
Conclusion :
Le programme et les plans ne sont pas exempts de bugs, mais ils sont supportables je pense. C'est également le programme dans lequel j'ai fait le plus de bidouilles, mais faute avouée est à moitié pardonnée, donc j'en ai indiqué la plupart par des commentaires dans le code.
J'attends vos impressions un peu sur le programme, mais surtout sur les jeux. Si vous les appréciez, n'hésitez pas à créer vos propres plans, l'éditeur est inclus. Il est assez peu documenté, mais je suis prêt à améliorer ce point à votre demande.
Note sur le copyright: les graphismes, sons et le plan "Le Secret du Tombeau" sont du jeu original. L'écran de présentation incorporé dans le programme rappelle que ses auteurs sont Petitjean & Schurder, sous copyright Loriciels 1986.
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.