Je viens d'entre-prendre un petit projet web mais étant débutant en PHP
et n'ayant pas l'expérience de ce genre de projet je bloque sur un petit
truc.
Le projet consiste en un petit jeu de "rôle", il me faut pour cela
générer une carte (map) de jeu qui pourra évoluer (en taille
principalement) au fil du temps. C'est la génération de cette carte qui
me pose problème.
Je vois plusieurs moyens pour générer cette carte, la solution qui me
semble la plus simple serai de générer un tableau HTML à l'aide de deux
boucles for() imbriquées. A l'aide des indices ($i et $j) de ces deux
boucles je pourrai avoir des axes X et Y. Dans la DB il y aurai l'image
à insérer dans chaque case. Les images à insérer sont par exemple une
foret, une maison, une montagne ... Ainsi je pourrai facilement générer
une map et la faire évoluer en taille au fil du temps.
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau
de la DB pour savoir quel image insérer dans chaque case), Avez vous des
idées qui pourrai me permettre de faire cela plus proprement ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Will
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu dois recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même. envoyer des données différentes selon l'avancement du jeu, peut être, mais c'est vraiment pas fait pour. à la limite, javascript peut te faire des trucs un peu plus "rapides", notamment parce que c'est exécuté coté client (donc sans rechargement de page). le plus courant étant il me semble les "applications" flash.
-- Will
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau
de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu dois
recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des
idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même.
envoyer des données différentes selon l'avancement du jeu, peut être, mais
c'est vraiment pas fait pour. à la limite, javascript peut te faire des
trucs un peu plus "rapides", notamment parce que c'est exécuté coté client
(donc sans rechargement de page). le plus courant étant il me semble les
"applications" flash.
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu dois recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même. envoyer des données différentes selon l'avancement du jeu, peut être, mais c'est vraiment pas fait pour. à la limite, javascript peut te faire des trucs un peu plus "rapides", notamment parce que c'est exécuté coté client (donc sans rechargement de page). le plus courant étant il me semble les "applications" flash.
-- Will
Kybla
Will wrote:
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu dois recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même. envoyer des données différentes selon l'avancement du jeu, peut être, mais c'est vraiment pas fait pour. à la limite, javascript peut te faire des trucs un peu plus "rapides", notamment parce que c'est exécuté coté client (donc sans rechargement de page). le plus courant étant il me semble les "applications" flash.
J'y ai pensé, mais je ne fais pas d'y tout de Flash et je n'ai pas le
temps de m'y mettre, sinon j'ai pensé à un applet Java mais c'est pareille je n'en fais pas et j'ai pas le temps de débuter un apprentissage dans ce language ...
Will wrote:
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au
niveau
de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu
dois recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des
idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même.
envoyer des données différentes selon l'avancement du jeu, peut être,
mais c'est vraiment pas fait pour. à la limite, javascript peut te faire
des trucs un peu plus "rapides", notamment parce que c'est exécuté coté
client (donc sans rechargement de page). le plus courant étant il me
semble les "applications" flash.
J'y ai pensé, mais je ne fais pas d'y tout de Flash et je n'ai pas le
temps de m'y mettre, sinon j'ai pensé à un applet Java mais c'est
pareille je n'en fais pas et j'ai pas le temps de débuter un
apprentissage dans ce language ...
Le 06/08/2005 03:14 PM (à peu de choses près), none a intelligemment dit...
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
je ne sais pas ce que tu veux faire avec ta carte, mais pense que si tu dois recharger à chaque fois la page, ça va prendre un temps fou...
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
perso, je pense que le php n'est pas fait pour faire du jeu en lui même. envoyer des données différentes selon l'avancement du jeu, peut être, mais c'est vraiment pas fait pour. à la limite, javascript peut te faire des trucs un peu plus "rapides", notamment parce que c'est exécuté coté client (donc sans rechargement de page). le plus courant étant il me semble les "applications" flash.
J'y ai pensé, mais je ne fais pas d'y tout de Flash et je n'ai pas le
temps de m'y mettre, sinon j'ai pensé à un applet Java mais c'est pareille je n'en fais pas et j'ai pas le temps de débuter un apprentissage dans ce language ...
dmetzler
Ton idée me semble assez bonne pour un début... Si tu ne veux pas trop de traffic sur la base de données, tu peux utiliser un cache étant donné que ta carte ne va pas changer toutes les secondes.
Tu peux même inverser la chose : tu génère tous les fichiers XY.png que tu affiche dans un tableau HTML de manière statique. Ton script PHP ne fait que regarder si l'image XY.png doit être mise à jour depuis la dernière fois et la met à jour si besoin. On passe alors d'un page dynamique avec un cache à une page statique qu'on vient mettre à jour quand il faut (ce qui est mieux ;-p )
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air de marcher aujourd'hui).
Ton idée me semble assez bonne pour un début... Si tu ne veux pas
trop de traffic sur la base de données, tu peux utiliser un cache
étant donné que ta carte ne va pas changer toutes les secondes.
Tu peux même inverser la chose : tu génère tous les fichiers XY.png
que tu affiche dans un tableau HTML de manière statique.
Ton script PHP ne fait que regarder si l'image XY.png doit être mise
à jour depuis la dernière fois et la met à jour si besoin. On passe
alors d'un page dynamique avec un cache à une page statique qu'on
vient mettre à jour quand il faut (ce qui est mieux ;-p )
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps
est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air
de marcher aujourd'hui).
Ton idée me semble assez bonne pour un début... Si tu ne veux pas trop de traffic sur la base de données, tu peux utiliser un cache étant donné que ta carte ne va pas changer toutes les secondes.
Tu peux même inverser la chose : tu génère tous les fichiers XY.png que tu affiche dans un tableau HTML de manière statique. Ton script PHP ne fait que regarder si l'image XY.png doit être mise à jour depuis la dernière fois et la met à jour si besoin. On passe alors d'un page dynamique avec un cache à une page statique qu'on vient mettre à jour quand il faut (ce qui est mieux ;-p )
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air de marcher aujourd'hui).
Kybla
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air de marcher aujourd'hui).
Ouha ! C'est exactement le résultat que je voudrai obtenir !
C'est vrai ma carte ne va pas changer toutes les secondes (si ce n'est une case de coordonnée XY de temps en temps ...)
La partie qui gère la carte du site que tu viens de me donner est fait en PHP ??? Puisqu'on est dans les questions j'aimerai savoir dans quel language sont faites les petites flèches pour naviguer sur la carte.
Par la même occasion si quelqu'un connait des sites de références contenant des tutoriaux qui pourrai me faire parvenir à effectueur ce genre de travail je lui en serai reconnaissant de me les noter :)
Pardonnez mon ignorance dans la matière, mais le développement Web m'intérèsse de plus en plus ... (surtout quand je vois ce genre de site!)
Merci pour votre aide !
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps
est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air
de marcher aujourd'hui).
Ouha ! C'est exactement le résultat que je voudrai obtenir !
C'est vrai ma carte ne va pas changer toutes les secondes (si ce n'est
une case de coordonnée XY de temps en temps ...)
La partie qui gère la carte du site que tu viens de me donner est fait
en PHP ??? Puisqu'on est dans les questions j'aimerai savoir dans quel
language sont faites les petites flèches pour naviguer sur la carte.
Par la même occasion si quelqu'un connait des sites de références
contenant des tutoriaux qui pourrai me faire parvenir à effectueur ce
genre de travail je lui en serai reconnaissant de me les noter :)
Pardonnez mon ignorance dans la matière, mais le développement Web
m'intérèsse de plus en plus ... (surtout quand je vois ce genre de site!)
Pour regarder ce qu'on peut faire dans ce genre de chose, Google Maps est un sublime exemple : http://maps.google.com/ (mais ça a pas l'air de marcher aujourd'hui).
Ouha ! C'est exactement le résultat que je voudrai obtenir !
C'est vrai ma carte ne va pas changer toutes les secondes (si ce n'est une case de coordonnée XY de temps en temps ...)
La partie qui gère la carte du site que tu viens de me donner est fait en PHP ??? Puisqu'on est dans les questions j'aimerai savoir dans quel language sont faites les petites flèches pour naviguer sur la carte.
Par la même occasion si quelqu'un connait des sites de références contenant des tutoriaux qui pourrai me faire parvenir à effectueur ce genre de travail je lui en serai reconnaissant de me les noter :)
Pardonnez mon ignorance dans la matière, mais le développement Web m'intérèsse de plus en plus ... (surtout quand je vois ce genre de site!)
Merci pour votre aide !
bibi.skuk
Alors, pour faire une carte pour un jeu, le premier conseil, c'est de ne pas stoquer les informations de position des personnages dans la carte en elle même...
Si dans ta carte se trouve uniquement les indications de decors/textures, tu ira deja plus vite... et surtout cela restera assez statique... (les personnages ne sont pas sur la carte, il peuvent bouger tout ce qu'il veulent, ils ne changeront pas le monde...)
Avec cette table statique, plutot que de la stocker avec une Db (c'est vraiment lourd... compter 19ko pour une carte de 20*20) , on stocke tout ca dans une image png...
Le pixel x,y vaut r,v,b,a (les canaux de couleurs) ce qui nous laisse pas mal de possibilités de stockage... (une couche de map par canal, des evenements, etc...)
Et avec ce type de stockage, ici, une image de 20*20, c'est ridicule (environ 200 octets) par rapport à la db... Et c'est plus rapide...
Ah oui, pour y acceder :
imagecolorat( ) recupere l'index, et imagecolorsforindex( ) donne un tableau associatif des couleurs à partir de l'index...
/* Voila, maintenant, on a un tableauu associatif avec les infos de couleurs On peut en faire ce que l'on veux et puis voila... */ } }
?>
et voilou !!
Alors, pour faire une carte pour un jeu, le premier conseil, c'est de
ne pas stoquer les informations de position des personnages dans la
carte en elle même...
Si dans ta carte se trouve uniquement les indications de
decors/textures, tu ira deja plus vite... et surtout cela restera assez
statique... (les personnages ne sont pas sur la carte, il peuvent
bouger tout ce qu'il veulent, ils ne changeront pas le monde...)
Avec cette table statique, plutot que de la stocker avec une Db (c'est
vraiment lourd... compter 19ko pour une carte de 20*20) , on stocke
tout ca dans une image png...
Le pixel x,y vaut r,v,b,a (les canaux de couleurs) ce qui nous laisse
pas mal de possibilités de stockage... (une couche de map par canal,
des evenements, etc...)
Et avec ce type de stockage, ici, une image de 20*20, c'est ridicule
(environ 200 octets) par rapport à la db... Et c'est plus rapide...
Ah oui, pour y acceder :
imagecolorat( ) recupere l'index, et imagecolorsforindex( ) donne un
tableau associatif des couleurs à partir de l'index...
Alors, pour faire une carte pour un jeu, le premier conseil, c'est de ne pas stoquer les informations de position des personnages dans la carte en elle même...
Si dans ta carte se trouve uniquement les indications de decors/textures, tu ira deja plus vite... et surtout cela restera assez statique... (les personnages ne sont pas sur la carte, il peuvent bouger tout ce qu'il veulent, ils ne changeront pas le monde...)
Avec cette table statique, plutot que de la stocker avec une Db (c'est vraiment lourd... compter 19ko pour une carte de 20*20) , on stocke tout ca dans une image png...
Le pixel x,y vaut r,v,b,a (les canaux de couleurs) ce qui nous laisse pas mal de possibilités de stockage... (une couche de map par canal, des evenements, etc...)
Et avec ce type de stockage, ici, une image de 20*20, c'est ridicule (environ 200 octets) par rapport à la db... Et c'est plus rapide...
Ah oui, pour y acceder :
imagecolorat( ) recupere l'index, et imagecolorsforindex( ) donne un tableau associatif des couleurs à partir de l'index...
/* Voila, maintenant, on a un tableauu associatif avec les infos de couleurs On peut en faire ce que l'on veux et puis voila... */ } }
?>
et voilou !!
Guillaume Bouchard
none wrote:
Bonjour,
Bonjour.
Le projet consiste en un petit jeu de "rôle", il me faut pour cela générer une carte (map) de jeu
Je vois plusieurs moyens pour générer cette carte, la solution qui me semble la plus simple serai de générer un tableau HTML à l'aide de deux boucles for() imbriquées. A l'aide des indices ($i et $j) de ces deux boucles je pourrai avoir des axes X et Y. Dans la DB il y aurai l'image à insérer dans chaque case. Les images à insérer sont par exemple une foret, une maison, une montagne ... Ainsi je pourrai facilement générer une map et la faire évoluer en taille au fil du temps.
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
Beaucoup de traffic, une requete SQL basique et une boucle sur les résultats, encore plus basique.
<?php $sql = "SELECT x,y,type FROM map WHERE world='tristram' ORDER BY y,x";
(Surement remplit de parse error, je fais plus de pascal que de php en ce moment :()
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
Je pense que c'est propre. À toi de coder un cache la dessus si le besoin s'en fait sentir, mais je pense que tu auras d'autres requetes SQL gourmandes qu'il faudra surveiller avant.
-- Guillaume.
none wrote:
Bonjour,
Bonjour.
Le projet consiste en un petit jeu de "rôle", il me faut pour cela
générer une carte (map) de jeu
Je vois plusieurs moyens pour générer cette carte, la solution qui me
semble la plus simple serai de générer un tableau HTML à l'aide de deux
boucles for() imbriquées. A l'aide des indices ($i et $j) de ces deux
boucles je pourrai avoir des axes X et Y. Dans la DB il y aurai l'image
à insérer dans chaque case. Les images à insérer sont par exemple une
foret, une maison, une montagne ... Ainsi je pourrai facilement générer
une map et la faire évoluer en taille au fil du temps.
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau
de la DB pour savoir quel image insérer dans chaque case),
Beaucoup de traffic, une requete SQL basique et une boucle sur les
résultats, encore plus basique.
<?php
$sql = "SELECT x,y,type FROM map WHERE world='tristram' ORDER BY y,x";
(Surement remplit de parse error, je fais plus de pascal que de php en
ce moment :()
Avez vous des
idées qui pourrai me permettre de faire cela plus proprement ?
Je pense que c'est propre. À toi de coder un cache la dessus si le
besoin s'en fait sentir, mais je pense que tu auras d'autres requetes
SQL gourmandes qu'il faudra surveiller avant.
Le projet consiste en un petit jeu de "rôle", il me faut pour cela générer une carte (map) de jeu
Je vois plusieurs moyens pour générer cette carte, la solution qui me semble la plus simple serai de générer un tableau HTML à l'aide de deux boucles for() imbriquées. A l'aide des indices ($i et $j) de ces deux boucles je pourrai avoir des axes X et Y. Dans la DB il y aurai l'image à insérer dans chaque case. Les images à insérer sont par exemple une foret, une maison, une montagne ... Ainsi je pourrai facilement générer une map et la faire évoluer en taille au fil du temps.
Pensez-vous que ce soit propre ? (Ca fera beaucoup de traffic au niveau de la DB pour savoir quel image insérer dans chaque case),
Beaucoup de traffic, une requete SQL basique et une boucle sur les résultats, encore plus basique.
<?php $sql = "SELECT x,y,type FROM map WHERE world='tristram' ORDER BY y,x";
(Surement remplit de parse error, je fais plus de pascal que de php en ce moment :()
Avez vous des idées qui pourrai me permettre de faire cela plus proprement ?
Je pense que c'est propre. À toi de coder un cache la dessus si le besoin s'en fait sentir, mais je pense que tu auras d'autres requetes SQL gourmandes qu'il faudra surveiller avant.
-- Guillaume.
Marc
Je suis preneur de toutes bonnes idées.
j'ai laissé passé le sujet pour voir un peu ce qu'il allait en sortir. Ce que tu veux se programme simplement en php avec la librairie graphique GD.
Il te faut creer une image dynamique en php contenant :
* le fond de carte, * les différents points positionnés.
J'ai quelque classes php en objet si ca t'intéresse qui permettent de premacher le travail.
A chaque clic, il s'agit de prendre en compte l'action de l'utilisateur :
* position du clic et association a l'objet qui est affiché. * les classes que j'ai créé permettent cela. Il y a un container qui gere une liste d'objet, et chaque objet recoit l'evenement de clic et décide s'il est concerné par ce clic.
Une fois l'interactivité réalisé, il suffit de mettre le tout en base de données et de gerer le jeu en equipe.
Mais j'ai l'impression que ca te depasse un peu. C'est peut-etre ambitieux comme projet. Ne conviendrait-il pas de commencer par quelque chose de plus simple pour bien demarrer.
Je suis preneur de toutes bonnes idées.
j'ai laissé passé le sujet pour voir un peu ce qu'il
allait en sortir. Ce que tu veux se programme simplement
en php avec la librairie graphique GD.
Il te faut creer une image dynamique en php contenant :
* le fond de carte,
* les différents points positionnés.
J'ai quelque classes php en objet si ca t'intéresse
qui permettent de premacher le travail.
A chaque clic, il s'agit de prendre en compte l'action
de l'utilisateur :
* position du clic et association a l'objet qui
est affiché.
* les classes que j'ai créé permettent cela.
Il y a un container qui gere une liste d'objet,
et chaque objet recoit l'evenement de clic et
décide s'il est concerné par ce clic.
Une fois l'interactivité réalisé, il suffit de
mettre le tout en base de données et de gerer
le jeu en equipe.
Mais j'ai l'impression que ca te depasse un peu.
C'est peut-etre ambitieux comme projet. Ne conviendrait-il
pas de commencer par quelque chose de plus simple
pour bien demarrer.
j'ai laissé passé le sujet pour voir un peu ce qu'il allait en sortir. Ce que tu veux se programme simplement en php avec la librairie graphique GD.
Il te faut creer une image dynamique en php contenant :
* le fond de carte, * les différents points positionnés.
J'ai quelque classes php en objet si ca t'intéresse qui permettent de premacher le travail.
A chaque clic, il s'agit de prendre en compte l'action de l'utilisateur :
* position du clic et association a l'objet qui est affiché. * les classes que j'ai créé permettent cela. Il y a un container qui gere une liste d'objet, et chaque objet recoit l'evenement de clic et décide s'il est concerné par ce clic.
Une fois l'interactivité réalisé, il suffit de mettre le tout en base de données et de gerer le jeu en equipe.
Mais j'ai l'impression que ca te depasse un peu. C'est peut-etre ambitieux comme projet. Ne conviendrait-il pas de commencer par quelque chose de plus simple pour bien demarrer.