Bug sur la vision

Ce forum est destiné à recueillir les éventuels bugs rencontrés sur le jeu...
Verrouillé
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 14:07

Merrick écrit :
> (PS : il se peut que certains calculs de trajectoire, dans
> des cas particuliers, ne soient pas encore parfaits, mais
> on y travaille !)

Bon, là je ne suis pas sur un cas particulier mais sur un cas vraiment élémentaire :
00A
00M
0BM
C0M

A voit B, mais ne voit pas C. Ce n'est clairement pas normal.

Je viens proposer mon aide pour corriger cela. J'ai des références : j'ai fait un cours sur l'algorithme de Bresenham, et j'ai adapté l'algo sur des mailles hexagonales.

Krouhm.
Merci aux admins, passés, présents, et à venir.
Avatar de l’utilisateur
tul
Gros bill du forum
Messages : 1194
Inscription : 12 sept. 2004 20:57

Message par tul » 11 mai 2005 15:08

je comprends pas ce que tu proposes


et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait
Si vous pouviez sourrire en lisant mes betises ca me ferait tres plaisir ^^ allez ! faites un effort ! voilaaaaaaa !
merci ! :-D

Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42

XKCD
Avatar de l’utilisateur
Merrick
Le Taulier
Messages : 8883
Inscription : 18 avr. 2003 14:24
Localisation : Toulouse
Contact :

Message par Merrick » 11 mai 2005 15:10

Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 16:23

[quote=Merrick]Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Et c'est bien pour cela que cela ne marche pas !

OK, je suppose que c'est du PHP. Tu me postes ta fonction telle qu'elle existe aujourd'hui, et je te la muscle. Si c'est pas du PHP (fonction SQL ?) tu me la postes quand même, et je verrais ce que je peux faire. Au pire, je te poserai des questions pour bien comprendre.

Tu peux poster à : [email protected]

[quote=tul]je comprends pas ce que tu proposes

et c'est quoi l'algortithme de bresenham ? je pense que ton cours m'interesserait[/quote]
google Bresenham, tu devrais trouver ton bonheur.
Je ne vais pas te mailer mes notes de cours. Je peux te les faxer si tu veux. ;-)

Je peux te mailer mon Bresenham en maille hexagonale, mais comme c'est du flash, je ne pense pas que tu en ferais grand chose (c'est l'algo de ligne de vue du jeu Morne Plaine http://morneplaine.archeograph.com/)

Krouhm.
Merci aux admins, passés, présents, et à venir.
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 16:36

[quote=Merrick]Suis preneur effectivement.
Pour info, je me suis basé sur cet algo : http://www.games-creators.org/wiki/Calc ... _grille_2D[/quote]
Bon, petit point technique :
- L'algo que tu as pris est gourmand en temps de calcul - Bresenham est garanti optimal
- surtout, l'algo que tu as choisi fonctionne en 8-connexité : la vue peut passer en diagonal. Pour une ligne de vue, il faut prendre de la 4 connexité (plus gestion des angles).
- enfin et surtout je pense que l'algo ne trace pas des lignes droites. Je ne vais pas décortiquer la méthode, mais le système basé sur un angle calculé à priori me semble difficile à justifier.

Si tu me confies le boulot, je voudrais quelques précisions sur des situations.
1- si A peut voir B, alors B peut voir A. C'est toujours vrai, n'est-ce pas ?

2- Peut on voir sur le côté d'un angle :
A00
00M
00B
si M est un mur, A et B sont-ils en intervisibilité ?
(pour moi, oui)

3- Peut-on voir dans un angle :
A00
00M
0MB
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)


4- Peut-on voir avec un angle à gauche et un à droite :
A00
M0M
00B
si les M sont des murs, A et B sont-ils en intervisibilité ?
(pour moi, non, mais si tu réponds oui, cela simplifie le problème)

Krouhm.
Merci aux admins, passés, présents, et à venir.
Avatar de l’utilisateur
Merrick
Le Taulier
Messages : 8883
Inscription : 18 avr. 2003 14:24
Localisation : Toulouse
Contact :

Message par Merrick » 11 mai 2005 16:39

La fonction t'a été envoyée par mail, elle est en pl/pgsql.
pour les réponses :
1 - Oui
2 - A priori oui
3 - Oui aussi.

Si besoin, suis dispo assez souvent sur msn.
Avatar de l’utilisateur
Mirreck
Pilier
Messages : 410
Inscription : 07 mars 2005 21:37

Message par Mirreck » 11 mai 2005 16:52

Pour tul et tous ceux qui ont envie de comprendre ce que raconte Krouhm, il y a quelques infos ici:

http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm

Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.
Non, moi c'est l'autre...
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 17:27

[quote=Merrick]La fonction t'a été envoyée par mail, elle est en pl/pgsql.
pour les réponses :
1 - Oui
2 - A priori oui
3 - Oui aussi.

Si besoin, suis dispo assez souvent sur msn.[/quote]
Bon, je viens de te poster l'algo.
Si les réponses sont oui, c'est serein, l'algo que je viens de te poster devrait suffire.

Krouhm.
Merci aux admins, passés, présents, et à venir.
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 17:32

[quote=Mirreck]Pour tul et tous ceux qui ont envie de comprendre ce que raconte Krouhm, il y a quelques infos ici:

http://raphaello.univ-fcomte.fr/IG/Algo ... hmique.htm

Je ne suis pas du tout convaincu qu'une 4-connexité soit appropriée. Pour les petits angles ça risque de donner d'autres perturbations. De toute manière c'est en faisant des tests qu'on verra quel algo est le plus pertinent et le plus performant.[/quote]
Très bon ce cours, sauf justement la partie sur les droites qui ne prend pas Bresenham. Il faut plutôt regarder la partie sur les cercles et les ellipses. Et tout le reste est très intéressant aussi.

Krouhm.
Merci aux admins, passés, présents, et à venir.
Avatar de l’utilisateur
Damocles
Habitué
Messages : 199
Inscription : 20 nov. 2004 16:26

Message par Damocles » 11 mai 2005 21:44

je ne sais pas si c'est utile que je post si l'algo doit changer avec la proposition de Krouhm, mais voici une petite contribution sur un cas rencontré des fois que ça puisse aider :
"x" est une case avec du brouillard et "." une case visible, P c'est moi ;)

Code : Tout sélectionner

M . . x .
M . x . .
M . . . .
P . . . .
désolé, j'ai oublié de noté la partie gauche du mur.
et après déplacement :

Code : Tout sélectionner

x x x M .
x x x M .
x x x M P
x x x . .
x x . . .
x . . . .
je vous laisse interprêter comme il faut, et si ça été inutile, ben tant pis :)
kroum
Pilier
Messages : 400
Inscription : 05 déc. 2003 22:14

Message par kroum » 11 mai 2005 22:34

[quote=Damocles]je vous laisse interprêter comme il faut, et si ça été inutile, ben tant pis :)[/quote]
Sûrement pas inutile : j'ai au moins appris comment inclure du code dans le forum.

Krouhm.
Merci aux admins, passés, présents, et à venir.
Avatar de l’utilisateur
tul
Gros bill du forum
Messages : 1194
Inscription : 12 sept. 2004 20:57

Message par tul » 12 mai 2005 07:37

moi, j'avais ca:

P . P
. . P
. . M
Si vous pouviez sourrire en lisant mes betises ca me ferait tres plaisir ^^ allez ! faites un effort ! voilaaaaaaa !
merci ! :-D

Gros Bill depuis le Vendredi 9 Fevrier 2008 a 20h42

XKCD
Avatar de l’utilisateur
Merrick
Le Taulier
Messages : 8883
Inscription : 18 avr. 2003 14:24
Localisation : Toulouse
Contact :

Message par Merrick » 12 mai 2005 13:43

J'ai mis en place à l'instant un nouvel algo envoyé par Kroum, qui a eu la gentillesse de me faire 90% du boulot en l'adaptant au pl/pgsql. Cet algo à l'air beaucoup plus efficace en terme de rendu, mais aussi en terme de temps de calcul.
Merci infiniment à lui.

PS : c'est pour ça que j'aime internet.
Avatar de l’utilisateur
en7ah
Pilier
Messages : 384
Inscription : 24 déc. 2004 19:25
Contact :

Message par en7ah » 12 mai 2005 13:48

Mais on t'aime toi aussi au grand maitre qui nous donner des heures et des heures de bonheurs. Tien pour fete m'a premiere memo de sort (en plus de mercu), bisou.

:love:

Ilunya
Ilunya - Elf Bleu Choisi du destin - [MRIP, Monstrum Requiescat In Pace]
Garett Jax - Un guerrier téméraire - [MRIP, Monstrum Requiescat In Pace]
Rondum - De Profundis - [MRIP, Monstrum Requiescat In Pace] - DP POWA
Verrouillé