Fps en réseau

Soyez le premier à donner votre avis sur cette source.

Vue 15 626 fois - Téléchargée 13 109 fois

Description

C'est un petit FPS jouable en multijoueur en théorie à 8. Vous êtes un robot et vous devez tuer les autres...

Le jeu se lance depuis la console; il n'y a pas de menu; On peut parler en appuillant sur entré;le jeu affiche des message en cas de mort/connection/deconnection; on se déplace avec Z,Q,S,D; F1 ou Tab pour le score; F2 esc pour debloquer la souris; F6 quitter; On peut modifier les options en tapant "option" dans la console; il y a du son; les maps comportent des murs, des plafonds/sols, des portes, des teleporteur et des caisse de soin;les maps sont sous forme de script.

La fluidité est assez bonne: j'ai simulé un ping variant de 90 à 700 aléatoirement et c'était niquel^^.

Conclusion :


Il y a sûrement encore quelques modifs à faire. Mais je veux absolument le finir avant début juin (après c'est le bac...) donc je le dépose tout de suite pour bénéficier de vos conseils ^^

TELECHARGEMENT:
Il n'y a que le code. Le jeu prenait trop de place.
Le jeu entier: http://d6r27h59p.free.fr/ekauqm/derniere.zip (4.5mo)

Pour les comme moi et qui n'aiment pas chercher les les lib et qui ne les auraient pas elle sont la: http://d6r27h59p.free.fr/ekauqm/libs_et_includes.zip
(pour VC++)

COMMENTAIRE:
J'ai pas énormément commenté sauf pour le fonctionnement du réseau. D'ailleurs vous avez dans le zip un fichier réseau.txt ou le fonctionnement du jeu est expliqué. Au départ c'est un brouillon donc ce n'est pas très propre et plein de fautes d'orthographes.
Le code est entièrement en français (sauf inatention). Je me suis appliqué parce qu'avant il y avait souvant des fonctions du genre GetTaille() ou des variables IsLePersoWinner... Et la compréhension est plus facile en francais.

BUGS:
Pour ce qui est des bug connus, le seul qui me vient à l'esprit c'est quand on ferme la console avant la fenêtre: il y a un message d'erreur. Il faudrait fermer le thread de la fenêtre avant de quitter mais je sais pas si c'est possible d'exécuter une action quand on ferme...

MAPS:
Si jamais quelqu'un était pris par l'idée de faire une map sa serait sympa de me l'envoyer. J'en ai pas fait beaucoup: 2 toute petite un grande. Je prévois d'en faire une ou 2 autres grandes.

PERFORMENCE:
Il fonctionne sur mon vieux - PIII 650mhz / 256mo de ram / 32mo video :) mais que pour les petites map :(... Et à 8 joueurs il doit ramer...

SECURITE:
Je n'ai presque rien fait pour la sécurité. C'était pas mon objectif vu que c'est pour jouer entre potes... La seule sécurité c'est une vérification de l'heure de la compilation. Le client est viré automatiquement si c'est pas la même heure.
Un utilisateur mal intentionné peut aisément passer à travers les murs, se teleporter, remplacer son pistolet par un mitraillete, se rajouter des points, changer la map ou encore virer les autres clients.

J'espère que j'ai rien oublié (peut-être quelques fautes...)

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
53
Date d'inscription
lundi 22 mars 2010
Statut
Membre
Dernière intervention
1 novembre 2011

Excellent Travail, vraiment continue comme ça.
Messages postés
5
Date d'inscription
dimanche 19 juillet 2009
Statut
Membre
Dernière intervention
12 mai 2014

vraiment de l'excellet travail !!!!!!!!!!!!!!!!!!!!!!
je vais me baser dessus pour mon fps, :) je viens de comprendre le fonctionnement des collision et du mode reseau !!! ;)
Messages postés
34
Date d'inscription
samedi 27 août 2011
Statut
Membre
Dernière intervention
10 novembre 2011

BOULETE !!!! :\


j'ai cliquer sans faire expres sur assigné 5 a cette source...
Messages postés
17
Date d'inscription
dimanche 25 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2007

Quelques répondes vite fait:

- Pour l'encapsulation j'ai pas cherché à faire niquel. Mais ton exemple est mal choisi ^^. Si tu regarde dans tir.cpp tu vera que ce que tu dit est fait.
- Pour les map c'est le terme de script qu'est surement mal choisis. Ouvre une map ou regarde le fichier "comment faire une map.txt" C'est tout expliqué.
- Inversion() sert pas. J'ai oublié de l'enlevé. Et je connais pas les template :(... J'ai apris sur des petits tuto j'ai donc pas une connaissance exhaustive.
- J'vais encore passer pour un ignar mais c'est quoi un FBO? Puis vus que c'est vraiment que le perso qui l'utilise j'ai pas cherché à faire mieux
- Jtrouve que if BALLE_DANS_INTERVALLE est plus plaisant à l'oeil que ((BALLE_X_MIN*UNITE<Balle[i].X)&&(Balle[i].X<BALLE_X_MAX*UNITE)&&(BALLE_Y_MIN*UNITE<Balle[i].Y)&&(Balle[i].Y<BALLE_Y_MAX*UNITE)&&(BALLE_Z_MIN*UNITE<Balle[i].Z)&&(Balle[i].Z<BALLE_Z_MAX*UNITE))
- Pour les balle jme suis dit que c'était suffisant. Vus qu'à grande distance la chance de touché est presque nule et que la balle vas suffisament vite:
Si on considere qu'on touche jusqu'à 400u (Ce qui correspond à plus de 2 minutes de marche sans interuption), Vu qu'on tire 3 balle par seconde max, Si les 8 joueur tire en même temps le nombre de balle qu'il faut est 3*8*4=96.
- Pour le réseau: C'est sur quoi je me suis le plus appliqué :)
Messages postés
3006
Date d'inscription
dimanche 14 avril 2002
Statut
Membre
Dernière intervention
31 décembre 2008

"if BALLE_DANS_INTERVALLE // Dieu que c'est crade"

Oui, mais ça rime.

désolé.
Afficher les 16 commentaires

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.