Carte pour un rpg en php, déplacement via javascript


sff
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 336
Inscription: 2 Fév 2005

Carte pour un rpg en php, déplacement via javascript

Message le Mer Juin 16, 2010 11:42

Bonjour,

je suis en train de créer un rpg en php, et j'ai un petit problème. Je voudrais que le personnage se déplace instantanément sur la carte avec un petit script js. Un peu à la manière d'un tchat ajax ou l'on affiche le texte avant de l'entrer dans la base de donnée.

Voici le script de la carte (il fonctionne) :

Code: Tout sélectionner

$mapquery = mysql_query(sprintf("SELECT id, size_x, size_y  FROM %s_map WHERE id='%d' LIMIT 1", $mysql->pref, mysql_real_escape_string($userrow['map'])));
$maprow = mysql_fetch_assoc($mapquery);

$x_start = -$maprow['size_x'];
$x_end = $maprow['size_x'];
$y_start = -$maprow['size_y'];
$y_end = $maprow['size_y'];

$elementsquery = mysql_query(sprintf("SELECT type, avatar, id_element, latitude, longitude FROM %s_map_elements WHERE latitude <= %d AND latitude >= %d AND longitude <= %d AND longitude >= %d AND map='%d'", $mysql->pref, mysql_real_escape_string($y_end), mysql_real_escape_string($y_start), mysql_real_escape_string($x_end), mysql_real_escape_string($x_start), mysql_real_escape_string($maprow['id'])));

while($elementsrow = mysql_fetch_assoc($elementsquery) ) {   

   $block[$elementsrow['latitude']][$elementsrow['longitude']] = 1;
   
}

$debutx = $x_start;

$width = 64*$maprow['size_x']+32;
$height = 64*$maprow['size_y']+32;

$map ='<div style="margin:auto; width:'.$width.'px">';

while($y_end >= $y_start) {
   
   $map .='<div style="height:32px">';
   
   while($x_start <= $x_end) {
      
      //bouton pour se déplacer.
      $right =(empty($block[$userrow['latitude']][$userrow['longitude']+1]) && $x_start==$userrow['longitude']+1 && $y_end==$userrow['latitude'])? '<input name="right" type="submit" onclick="?">' : null;
      
      $player =($x_start==$userrow['longitude'] && $y_end==$userrow['latitude'])? '<img src="images/avatars/carte/'.$userrow['avatar'].'.gif" alt="">' : null;
      
      $map .='<div class="map">'.$player.$right.'</div>';   
      
      $x_start++;
   }
   
   $map .='</div>';

   $x_start = $debutx;
   $y_end--;
}

$map .='</div>';

echo $map;


ce qui donne ceci :

Image

Le bouton pour se déplacer est ceci :

Code: Tout sélectionner
$right =(empty($block[$userrow['latitude']][$userrow['longitude']+1]) && $x_start==$userrow['longitude']+1 && $y_end==$userrow['latitude'])? '<input name="right" type="submit" onclick="?">' : null;


IL faudrait donc que lorsque l'on clique sur ce bouton, le personnage se déplace instantanément sur la carte.

Le script js pour un t'chat ajax est comme ca :

Code: Tout sélectionner
function submit(page)
{
var xhr = getXMLHttpRequest();

var content = encodeURIComponent(document.getElementById('content').value);
document.getElementById('content').value = "";

xhr.onreadystatechange = function() {
        if (xhr.readyState == 4 && (xhr.status == 200 || xhr.status == 0)) {
                document.getElementById(page).innerHTML = xhr.responseText;
        }
};

xhr.open("POST", "?do="+page, true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("content="+content);

}


Dans ce code on affiche dans le HTML avant de l'entrer dans la base de donnée, soit un temps de réponse quasi nul. Je voudrais reprendre le même principe pour la carte.

Mais comment ?

Pouvez vous m'aider ?

Merci


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: Carte pour un rpg en php, déplacement via javascript

Message le Mer Juin 16, 2010 12:26

Pour ton projet, je pense que tu ferais bien de te tourner vers un framework.
jQuery
et/ou
Ajax Push Engine: http://www.ape-project.org/

Ex: http://plugins.jquery.com/project/spriteAnimation


aladdin
WRInaute passionné
WRInaute passionné
 
Messages: 1457
Inscription: 29 Avr 2005

Re: Carte pour un rpg en php, déplacement via javascript

Message le Mer Juin 16, 2010 16:20

+1 pour jQuery

sinon chapeau pour le projet, je sais que c'est hyper compliqué de développer uns telle chose en PHP ;)


EDIT : Je viens de jetter un oeil sur APE Server, c'est tout simplement GEANT ! ca me donne déjà des idées :D

Robinson
WRInaute passionné
WRInaute passionné
 
Messages: 2233
Inscription: 25 Oct 2005

Re: Carte pour un rpg en php, déplacement via javascript

Message le Mer Juin 16, 2010 17:17

J'ai développé un moteur de jeu semblable pendant deux mois :)
On peut créer des maps et les mapper très facilement, y insérer des objets, etc...

Sauf que j'ai jamais lancé le jeu ^^

ça m'a plu, j'ai appris pleins de tits trucs, mais les RPG, ça soule au bout d'un moment, faut être motivé pour le développer constamment, et puis c'est loin d'être rentable, faut un serveur solide derrière (ou plutôt des serveurs).
Bref, j'ai un joli projet avec plus de 150 maps (de mémoire).
ça intéresse quelqu'un ?
combien êtes-vous prêt à mettre ? XD

(non j'aime pas vendre mes créations, je garde tjrs tout pour moi ^^)

pprem
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 15 Déc 2008

Re: Carte pour un rpg en php, déplacement via javascript

Message le Lun Mai 09, 2011 8:34

Je dirais JQuery aussi

Mais en fait tu devrais directement basculer sur le Canvas du HTML5 et travailler en JS comme on le ferait directement sur un ordi ou une console. Le serveur ne doit servir que pour stocker les informations sur les personnages et générer leurs interactions, jamais pour autre chose : tout les mouvements et l'affichage doit se gérer au niveau du navigateur.

J'avais vu passer des kits de développement de jeux en JS, mais me souviens plus où, c'était pas de l'open source mais une licence payante et le truc n'était pas fini, en revanche les exemples de jeux présentés étaient tout simplement géniaux (genre un jeu d'arcade avec sons et tout ce qu'il faut de mouvements).

En tout cas c'est une bonne idée de se lancer là-dedans. Tu as un graphiste à disposition ou tu fais tout toi-même ?


spout
WRInaute accro
WRInaute accro
 
Messages: 4377
Inscription: 14 Mai 2003

Re: Carte pour un rpg en php, déplacement via javascript

Message le Lun Mai 09, 2011 9:54

pprem a écrit:J'avais vu passer des kits de développement de jeux en JS, mais me souviens plus où, c'était pas de l'open source mais une licence payante et le truc n'était pas fini, en revanche les exemples de jeux présentés étaient tout simplement géniaux (genre un jeu d'arcade avec sons et tout ce qu'il faut de mouvements).

Je me souviens de ceci: http://impactjs.com/ ?

Sinon d'autres pistes:
http://raphaeljs.com/
http://processingjs.org/

pprem
WRInaute discret
WRInaute discret
 
Messages: 104
Inscription: 15 Déc 2008

Re: Carte pour un rpg en php, déplacement via javascript

Message le Lun Mai 09, 2011 10:58

excellent ! pour moi, le HTML5, c'est vraiment l'avenir du jeu et toutes ces librairies contribuent à chaque fois à me le faire penser.

Voici celle que j'avais noté :
http://www.effectgames.com/effect/
et apparemment le projet est en production maintenant


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité