Voici uns de mes derniers jeu que je suis entrain de developper en VB.net
Il tourne sous le moteur de DirectX avec tzu3D
Quelques Screenshots :
Le menu principale
Enfaite il y a un gros personnage qui passe devant d'ecran c'est Tiny ^^
C'est un jeu qui se joue en multijoueurs (4 joueurs max <(pour l'instant , c'est déja assez compliqué comme ça !) )
Il y a le Mode FPS (Vue de l'acteur)
Et RPG (Caméra poursuite)
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
' Determiner une position de la caméra en circulaire autour du personnage
Procedure a utiliser :
{objet}_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' déclarer les variables
dim ax ,droite ,rayonperso ,nb
if ax = "" then ax = form1.width / 2 ' placer au centre
if rayonperso = "" then rayonperso = "200"
if nb = "" then nb = "10"
' Mettre dans une variable décimale (nb) le degré de rotation ( déplacement x de la souris )
If MousePosition.X > ax Then ' si la position de la souris est supérieur a l'ancienne position alors on diminue nb
droite = droite + 0.05
nb = nb - 0.05
rota = 0.05
If droite > 4.2 Then droite = -2
Perso1.Angles = New Vector3(TZGlobal.DegToRad(-90), droite, 170) ' puis on fait tourner aussi le personnage
GoTo suit
End If
If MousePosition.X < ax Then 'si la position de la souris est inférieure a l'ancienne position alors on augmente nb
droite = droite - 0.05
nb = nb + 0.05
rota = -0.05
If droite < -2 Then droite = 4.2
Perso1.Angles = New Vector3(TZGlobal.DegToRad(-90), droite, 170) ' puis on fait tourner aussi le personnage
GoTo suit
End If
suit:
ax = MousePosition.X ' il faut indiquer à la variable ax la nouvelle position y de la souris
dr.Text = droite
' J'utilise le Cosinus pour deternimer la position circulaire de la caméra grace aux variables nb et rayonperso
xx = Math.Cos(nb) * rayonperso
yy = Math.Sin(nb) * rayonperso
Schéma :
Procedure a utiliser :
{objet}_MouseMove(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseMove
' déclarer les variables
dim ax ,droite ,rayonperso ,nb
dim hautperso ' determiner hauteur (position y) su personnage
if ax = "" then ax = form1.width / 2 ' placer au centre
if rayonperso = "" then rayonperso = "200"
if nb = "" then nb = "10"
' Mettre dans une variable décimale (nb) le degré de rotation ( déplacement x de la souris )
If MousePosition.X > ax Then ' si la position de la souris est supérieur a l'ancienne position alors on diminue nb
droite = droite + 0.05
If droite > 4.2 Then droite = -2
Perso1.Angles = New Vector3(TZGlobal.DegToRad(-90), droite, 170) ' puis on fait tourner aussi le personnage
GoTo suit
End If
If MousePosition.X < ax Then 'si la position de la souris est inférieure a l'ancienne position alors on augmente nb
droite = droite - 0.05
If droite < -2 Then droite = 4.2
Perso1.Angles = New Vector3(TZGlobal.DegToRad(-90), droite, 170) ' puis on fait tourner aussi le personnage
GoTo suit
End If
suit:
ax = MousePosition.X ' il faut indiquer à la variable ax la nouvelle position y de la souris
dr.Text = droite
' Placer la caméra au niveau de la tête du personnage
' <<hautperso + 50>> position y du personnage (hauteur) + 50 <(la tête)
myCamera.Position = New Vector3(av, hautperso + 50, gauche)
' Puis faire une rotation de 2.85 ° si la nouvelle position x est supérieure
If MousePosition.X > labelx Then myCamera.Rotate(2.85, 0, 0)
' et une rotation de -2.85 ° si la nouvelle position est inférieure
If MousePosition.X < labelx Then myCamera.Rotate(-2.85, 0, 0)
Enfin Voilà , c'était une petite parentèse sur la caméra du jeu
,c'est tout con !
Il suffit d'indiquer au jeu le dossier de partage windows dans un serveur local ou internet , dans le jeu X')
Vous pouvez mettre un serveur locale , un serveur http / https / ftp ou ip
ex :
http://monserveur/jeux/cpcsmall3D/
http://169.254.168.224/jeux/cpcsmall3D/
\\monserveur/jeux/cpcsmall3D/
et puis il suffit le mettre toutes les 0.01 sec la position d'un personnage du jeu pour qu'un autre ordinateur récupère cette position et le placer dans le jeu
Attention , dans la programmation faites bien attention à bien fermer le fichier après lecture (close #{numéro-fichier} file.close({numéro-fichier}), sinon un code d'erreur s'annoncerait. /!\
Vous pouvez echaper à l'interruption avec " On error " .
chaques fois que l'ordinateur veut récupérer la position d'un personnage, il alerne et ne fait jamais en même temps sinon il y aura un mini bloquage de 100 ms toutes les secondes et votre fps sera d'en moyenne de 30 à 10 Fps aulieu d'une centaine !!
donc le jeu serais pretiquemement injouable !
donc il aterne genre:
schéma du RPDJ
toutes 5 ms il récupère la position d'un personnage
donc pour 1 rafraichissement il met :
RPDJ(1) + RPDJ(4) + RPDJ(3) + RPDJ(4)
5 + 5 + 5
= 20 ms
et une séparation de 10 ms
donc
pour une filière il met 20 ms
pour une filière complète il met 30 ms
et
20/3 = 6,6666666666666666666666666666667
donc l'ordinateur aura ~6 sec pour faires ses autres opération du jeu
et
20 - 6,6666666666666666666666666666667
= 13,333333333333333333333333333334
DONC :
L'ordinateur travaillera dans le processus du jeu 13.33 ms a placer les personnages du jeu
et
L'ordinateur travaillera dans le procesus du jeu, 6.66 ms a faire des autres opérations du jeu
donc cela fait en moyene un fps entre 400 et 430 fps !!!! .
Tout cela se passe dans 1 procedure ( la récéption )
Puis pour l'envoie de la position du personnage,
c'est tout con, toutes les 1 ms l'ordinateur inscrit la position du personnage dans le fichier.
Tout les fichiers lue et inscrit son dans le serveur "dossier de partage", il faut faire confiance a la capacité de l'ordinateur et du disc-dure de l'ordinateur qui est propriétaire du réseau, sinon il y aura du lag dans le jeu,
Dans le jeu , je prévois de mettre en place des veicules, donc (en sachant que ca va plus vite qu'un personnage, donc il y aura une 2eme procedure qui concernera tout véicules du jeu) , il aura même fonction pour le schéma du RPDJ du dessu avec le même intervale.
Page en cours d'ecriture...
1. 06/08/2025
Struggling to get targeted leads to your E Monsite Com website? Watch this: https://www.youtube.com/shorts/A8YPkXQq4EY
2. 05/08/2025
Aiming to ignite your website’s potential? Our AI-driven platform draws ideal visitors via keywords with location precision from countries to towns.
Looking for increased earnings, engaged visitors, or expanded web impact?
We adapt it to suit your goals. Enjoy a 7-day free trial period with no contract. Start here:
https://ow.ly/yoeW50Wzt9A
3. 31/07/2025
Eager to elevate your website traffic count? Our AI-driven platform delivers targeted website traffic via keywords and location zones from global areas to towns.
Looking for increased earnings, livelier website traffic, or wider web reach?
We adjust it to fit your objectives. Enjoy a 7-day free trial period with no contract. Join here:
https://ow.ly/opnN50WvErw
4. 29/07/2025
Our AI-powered service drives targeted website traffic at a fraction of the cost of paid ads. Contact us to grow your audience today.
https://ow.ly/Og1u50WvgxR
5. 29/07/2025
Not getting enough leads for E Monsite? Check out this video to see our AI traffic solution in action: https://www.youtube.com/shorts/A8YPkXQq4EY
6. 25/07/2025
Our AI-powered solution drives location-specific visitors to your site, delivering better results than paid ads at a lower cost. Reach out to learn more.
https://ow.ly/zUfS50WvgBs
7. 22/07/2025
Drive targeted traffic to your site with our affordable AI-powered solution, saving you big compared to pricey paid ad campaigns. Contact us to learn more.
https://ow.ly/OsHy50WrgTW
8. 12/05/2011
super jeu !!
9. 16/04/2011
Bon commencement !!
Date de dernière mise à jour : 05/07/2021