Je ne suis pas tout jeune et j'ai passé beaucoup de temps à créer cartes, plans et scénarios pour le jeu de rôle papier. Vous pouvez le voir sur ce site : www.selandia.fr Aujourd'hui je conduit un projet assez ambitieux, malgré tous mes handicapes, de création un jeu vidéo basé sur mon univers arcane punk. Même si j'ai une formation en conception et développement de site web, je n'ai pas les compétences techniques pour développer un jeu. J'ai quand même 14 ans d'expérience en management dans l'industrie et la logistique.
Je me suis déjà essayer à création d'un RTS (pour acquérir de l'expérience) mais c'est le RPG qui reste ma passion.
Genèse
En jouant à certain mmorpg, j'ai pu constater que c'était plus des jeux d'exploration et d'enchainement de combats. Pourtant de gros efforts sont faits par les concepteurs sur le background et le scénario. J'ai quand même l'impression que l'on peut passer très facilement à coté car cela reste qu'un prétexte à de nouveaux combats qui restent les mêmes du niveau 1 ou niveau 100. Je suis sure que d'autres n'ont pas le même ressenti que moi. Mon idée est de créer un jeu qui sera un mélange entre le RPG et le jeu d'aventure point & clic. Un RPG plus axé sur le scénario, le dialogue et la ruse que l'enchaînement de combat.
Généralité et avancement
L'idée est simuler le déplacement d'un pion sur une carte pour savoir où est le personnage du joueur. Il y aura des zooms sur les villes et les donjons pour que le joueur les explore mais cela sera toujours des dessins fixes en 2D iso. Chaque lieux où se trouvera le joueur offrira un panel d'action dans un menu. Pour le coté mmo, on signalera dans un cadre la présence d'autres joueurs mais pas de façon graphique sur la carte ou le plan. On est vraiment dans un mmorpg minimaliste en ce qui concerne le moteur de jeu mais cela n’empêchera une expérience de jeu riche et longue. Il sera nécessaire d'avoir au moins deux cent illustrations de personnages ou monstres pour le jeu. La moitié a déjà été réalisé. Une des particularités des conceptions graphiques est que cela doit être une boîte à outil dans la quelle on pourra piocher à de multiple reprise pour créer de nouveaux scénarios pour proposer de plus en plus de quêtes annexes à l'histoire principale. Pour réaliser tout cela, il y a des choix technologiques qui ne sont pas encore fait.
Objectif
Mon désir est vraiment de développer un univers qui pourra s'étendre. Au début, le joueur n'aura accès qu'à trois races et quatre métiers. Mais si le sucé est au rendez-vous, on pourra en ajouter d'autres ainsi que d'étendre les zones visitables par le joueur. On est vraiment dans l'objectif de transformer quelque chose d'amateur en professionnel et rémunérateur pour continuer à développer le jeu à temps plein en proposant de nouvelles fonctionnalités.
Le projet et son originalité
Cela ne sera pas un jeu occasionnel qui n'a pas de fin mais bien une succession de scénario qui se suivent comme une série télévisée avec de grand arc scénaristique et beaucoup d'histoires annexes avec une fin. Au milieu de la jungle des mmorpg, je le placerais comme un univers qui n'est pas qu'une vaste zone de combat mais un monde vivant qui est en paix où des menaces restent tapis dans l'ombre en attendant le bon moment pour frapper.
Recrutement
Le besoin principalement en ce moment pour le projet est en terme de développement. Nous avons besoins d'un petit groupe de deux ou trois informaticiens de talent qui pourrons créer le moteur du jeu. J'ai besoin de personnes communicatives, forces de proposition sachant se remettre en cause et impliquées. Ils faut des personnes maitrisant bien le web ainsi que les bases de données. Je suis prêt discuter avec toute personne sérieuse et montrer l'état d'avancement sur les graphismes, le système de règle et les scénarios en MP.
Mes compétences sont surtout dans la création. J'ai conçu le jeu avec ses règles donc en quelque sorte le game play. Je conçois cartes et plans ainsi que l'ensemble du scénario du jeu. Bien sur je suis prêt à remettre en cause tous cela dans le souci d’améliorer les choses. J'ai fait réaliser un grands nombres d'illustrations pour le jeu suivant le scénario déjà établi ainsi que des décors.
J'ai des compétences en HTML et CSS mais peu en PHP, en tout cas pas assez pour créer un moteur de jeu sur navigateur. C'est donc en priorité en programmation (php ou java) que je recherche des personnes. Il y a vraiment un choix technologique stratégique à faire en début de programmation. Je pense que mon projet est assez flexible pour qu'un moteur de jeu déjà existant puisse convenir.
Je suis toujours à la recherche de développeurs voulant se lancer dans un RPG sur navigateur minimaliste amateur avec un rendu pratiquement professionnel.
Le scénario avance bien et en est à 70% de son écriture. L'ensemble des fonctionnalités du jeu son décrite de façon précise. Beaucoup d'illustrations sont déjà réaliser pour ce jeu.
Voici une ville souterrain d'elfes obscur qui sera un lieu important dans l'histoire.
J'espère que cela tentera quelqu'un de nous rejoindre pour coder ce projet.
Oui les illustrations viennent de graphistes de mon équipe.
Et je ne dirais pas que c'est un designer qui recherche des développeurs mais plus un univers complet particulièrement développer avec un grand nombre de scénarios qui recherche des développeurs ou un moteur de jeu.
Pour les developpeurs, ya t-il une plateforme particuliere (framework) ou des langages web particuliers pour le developpement? Et le travail sera-t-il rénuméré?
En tout cas, il me plait bien ton projet et j'aimerais bien en discuter avec toi!!
Mon Skype: Ken_o0O
- Edité par Mystro Ken 10 juillet 2015 à 22:34:07
Contentes toi juste de poser, chaque jour, la pierre de la plus belle des façons!
On avance. L'équipe de développeurs est en train se constituer autour d'une personne qui a déjà fait un jeu jusqu'à la version Bêta. Fort de son expérience, nous réorientons les spécificités techniques du projet vers une mouture plus classique. Personne n'était vraiment tenté vers une projet full js. Donc on part vers :
Les base : HTML5, CSS3, PHP 5
Framework : CakePHP 3, Boostrap 3, Jquery 2.X
Serveur : LAMP classique
Base de données : Idéalement du postgres SQL sinon mysql
Nous recherchons toujours des personnes ayant un bon niveau en PHP. Contactez-nous rapidement.
En prime, quelques illustrations pour les PNJs qui vont servir pendant les phases de dialogues principalement.
La première phase d'analyse du projet touche à sa fin. Vous pouvez voir à la fin de ce post l'image d'une des villes que les personnages du joueur pourront explorer dans le jeu. On peut déjà imaginer la quantité incroyable de lieu que l'on pourra y intégrer tout en utilisant une mécanique simple de jeu pour exprimer leurs contenus. Le scénario principale est totalement formalisé sous forme de synoptique, il reste à définir certains axes secondaires mais rien qui ne nous empêche de lancer la 2éme phase du projet.
Pour cette 2ème phase, le projet sera développé sous le framework CakePHP 3, .X Bootstrap3, JQuery 2.X.
Nous recherchons plusieurs profil de développeur PHP ayant au minimum travaillé sur un framework tel que CakePHP avec des bonnes bases à HTML, JS, CSS. Je tiens à préciser que nous ne cherchons pas de simples exécutant mais des personnes qui serons forces de propositions, sachant communiquer au sein de l'équipe et sachant s'engager réellement.
Pourquoi rejoindre le projet Sélandia :
Vous serez encadrer par un chef de projet ayant une dizaine d'années d'expertise dans le domaine du web.
Vous travaillerez avec des méthodes professionnels (Méthode Agile, Sprint etc...) tout en respectant le fait que le projet est amateur.
En nous rejoignant maintenant, vous aurez la chance de participer à la conception du projet et de pouvoir y proposer vos idées.
Participer à un projet qui peu devenir autre chose qu'une simple expérience de plus.
Passer de bon moment avec nous.
Vous souhaitez rejoindre l'équipe, envoyer moi un MP. A très bientôt dans l'équipe.
Je suis développeur, je maîtrise tous les langages que tu as cité mais en ce qui concerne les framework je ne me suis jamais servi de cakePHP. Donc je peux apporter mon grain de sel dans le développement et même aider pour tout le reste.
Cependant j'aimerai avoir quelques infos en plus sur le scénario par exemple etc... Le projet à l'air intéressant !
Non parce que pour un jeu tel que tu le prévois, un "LAMP classique" c'est foncer dans le mur.
Il faudra étudier différents paramètres :
- serveur frontal
- déploiement automatisé de l'appli sur les serveurs de prod à partir de votre VCS
- intégration progressive des mises à jour de sécurité (Apache, Nginx, PHP)
- optimisations au niveau du SGBD et du cache
- méthode pour servir les fichiers statiques (varnish ?)
Le tout bien sûr sans parler de l'aspect sécurisation des serveurs, sauvegarde et restauration.
Ca peut paraître un peu "too much" pour un jeu amateur mais les méthodes de dev et le cadre de travail indiqués plus haut correspondent à une méthode orientée pro.
Hahaha pour une fois qu'un projets a des graphistes mais pas les dévs ! (je ne vois pas pourquoi ce serait mal vu, en tant que développeur je suis content si un graphiste a des supers designs comme ici et qu'il me demande de les rendre vivants ).
Au passage les designs sont superbes !Dommage que je n'ai pas de temps sinon j'aurai bien accroché ! Je poste afin de suivre car ca m'intéresse beaucoup Quelqu'un qui maitrise bien le js avec des services REST peut ariver à faire des choses sympas !
Le top du top pour un projet comme celui là serait un nodejs avec des sockets pour avoir des échanges temps réels.
Je devrais pas aller sur cette partie du forum, quand je vois super beaux projets comme celui ci, je m'en veux de ne pas avoir des temps (pris par d'autres projets tout aussi ambitieux ).
En tout cas bon courage pour le développement du projet !
PS : dans la présentation du projet tu as écrit "Mais si le sucé est au rendez-vous," je ne sais pas s'il y a un jeu de mot ou...(non je ne finirai pas cette phrase ! )
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Sur html 5 se serait pas mieux , le jeux est avec des animations , et pour les graphismes , si c'est toi , il sont magnifique surtout la ville des elfes .
Voici quelques nouveaux graphismes qui vont illustrer les personnages que le joueur va pouvoir rencontrer pendant ses nombreuses aventures.
J'en profite pour réitérer notre appel à la communauté. La seconde phase du projet va commencer. Nous allons préciser et figer les grands principes du game play du jeu. Nous avons besoin de compétences en PHP pour avancer rapidement sur un projet qui est déjà bien défini. Venez nous rejoindre pour développer un jeu original qui va vraiment intégrer vos idées.
Bien que j'avance très lentement sur le projet, j'avance quand même.
Vous pouvez voir avec ce lien, un prototype de l'interface d'affichage des décors du jeu. http://terre-impossible.com/gestion-partie/monde.php C'est simple et sans animation, ce qui est dans l'esprit du concept.
Il y a encore beaucoup de choses à modifier graphiquement, mais cela attendra que je sois plus avancé en terme de développement informatique. Sur les cartes et plans de villes, il y a un zoom sur la molette de la souris, un cliquer-glisser et un système de points cliquables qui permet de charger d'autres cartes. Sur les cartes suivants, en cliquant sur n'importe quel point, on revient sur la carte principale. Le menu n'est pas fonctionnel.
J'en appelle aux bonnes âmes. J'ai deux problèmes. Le premier n'est pas trop grave, car cela n’empêche pas de jouer. Le cliquer-glisser n'a pas de limites. Donc on peut faire facilement sortir l'image de la fenêtre du navigateur. Le second est important, car c'est tout le fonctionnement du jeu qui en dépend. J'aimerais quand on clique sur un des points de la carte que l'on mette à jour les informations qui se trouvent dans le menu à droite. Le système de points cliquables est généré par du JavaScript. Donc il faudrait prendre la variable (qui est le numéro du point) dans le JavaScript et l'envoyer vers le script PHP où il y aurait la requête MySQL pour personnaliser l'affichage dans le menu. La base de données étant organisées pour que l'id correspondant à un point dans la table de la carte, soit égale à la valeur du point en JavaScript.
Il y a pas mal de solutions sur les forums pour transmettre une variable JavaScript vers du PHP, en Ajax ou pas, en rechargeant la page ou en passant par une autre page, mais je n'ai pas réussi à les appliquer à mon code. Au mieux, il ne se passe rien au pire, je n'ai plus qu'une page blanche dans le navigateur quand je clique sur un point. Le code source est facilement visible pour l'étudier et trouver une solution puisque pour l'instant, il n'y a pas de PHP.
Quel code puis-je introduire dans la fonction (ligne 150)
zoomi.prototype.action = function (evt)
du fichier JavaScript carte.js pour qu'il envoie dans l'include de menu de droite la variable 'pointcliquer' pour que je l'injecte dans la requête MySQL ?
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Mais hélas, cela ne fonctionne pas. J'ai essayé avec POST aussi et le résultat est le même. Le callback est peut-être mal rédigé. Quand on charge la première fois la page, on affiche bien 0, mais dés que l'on clique sur un point de la carte, rien ne se passe. De plus l'instruction après le code que j'ai ajouté dans le JS était de charger une autre page. Et cela ne s’exécute plus.
Tu peux te servir de la console de ton navigateur pour débugger : F12 que ce soit firefox / chrome / IE.
Dans la partie réseau (le libellé est network sur chrome) tu verras les requêtes envoyées et tu pourras décortiquer les paramètres envoyé et la réponse du serveur.
Attention dans ce code on réclame du json. Cela signifie que ton php doit retourner du json. Du coup cela donne echo json_encode($pointcliquer);
Essaie également en ajoutant dans ton monde.php (idéallement au début, c'est mieux car en lisant ton code on sait tout de suite le type retourné par le script) :
header('Content-Type: application/json');
Javascript est asynchrone, cela signifie que lorsque tu vas faire ton $.ajax(...); le code qui suit sera exécuté en parallèle de l'appel ajax.
En gros si tu as une redirection après le .ajax et bien tu vas rediriger avant même d'avoir reçu la réponse. Pour éviter ça il y a le paramètre async :
Je le répète : F12 pour la fenêtre de debug, de souvenir par défaut chrome et IE l'affichent à droite mais on peut la déplacer en bas de l'écran. Ca permet de bien comprendre comment ça marche et débugger facilement La partie console de cette fenêtre t'afficheras les console.log et les erreurs. N'hésite pas à regarder toutes les fonctionnalités de ce merveilleux outil car il y a énormément d'éléments utiles (profileur, curseur de pacours html etc... ).
A toi de jouer
- Edité par Lymke 3 décembre 2015 à 10:46:33
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Et dans le fichier monde.php, j'ai ajouté du JavaScript pour afficher l'information dans la bonne div.
<script type="text/javascript">
var nom_lieu; //que je déclare au tout début du fichier carte.js.
if(nom_lieu == null){nom_lieu = "nul part";} //dans le cas du premier chargement de la page.
document.write(nom_lieu);
</script>
Bien sur cela ne marche pas. Le texte Nom du lieu, dans le menu ne se modifie pas quand on clique sur un point de la carte. Désespérant.
Au lieu de nom_lieu = nom_lieu.pointcliquer; c'est nom_lieu = response.pointcliquer;
Qu'entends tu par "Et dans le fichier monde.php, j'ai ajouté du JavaScript" ?
Il faut bien visualiser client et serveur. Côté serveur tu as ton php donc pas de javascript. Côté client c'est du html / javascript. Tu me diras "oui mais j'ai quand même du php puisque c'est monde.php". En fait client serveur il faut le visualiser après compilation. Quand tu as chargé ta pagemonde.php il ne reste plus que du html / js.
Pour ton problème essaie comme cela :
monde.php
<script type="text/javascript">
var nom_lieu; //que je déclare au tout début du fichier carte.js.
$.ajax({
url: "requete.php",
method: "GET",//ou POST / OPTION / DELETE / PUT
async : false,
data: { pointcliquer : pointcliquer},
dataType: "json",
success : function( response,statut ) {
nom_lieu = response.pointcliquer;
},
error : function(resultat, statut, erreur){
console.log('resultat : ', resultat);
console.log('statut : ', statut);
console.log('erreur : ', erreur);
}
});
console.log('nom_lieu',nom_lieu );
alert('Test réussi ! ===> ' + lieu );
if(nom_lieu == null){nom_lieu = "nul part";} //dans le cas du premier chargement de la page.
document.write(nom_lieu);
</script>
requete.php
<?php
header('Content-Type: application/json');
$pointcliquer = (empty($_GET['pointcliquer'])) ? 0 : $_GET['pointcliquer'];
//Attention à l'injection sql ici
//Test si c'est bien un entier
if(is_nan($pointcliquer)){
echo json_encode('success' => false);
exit;//un peu barbare normalement on fait ça plus proprement mais c'est pour l'idée
}
$nom_lieu = 'SELECT nom_lieu FROM table_monde WHERE id=\'$pointcliquer\'';
$nom_lieu = $base->query($nom_lieu);
if (!$nom_lieu) die($base->error);
$nom_lieu = $nom_lieu->fetch();
echo json_encode(array('pointcliquer' => $nom_lieu,'success' => true);
En général j'ajoute un 'success' => 'true' dans la reponse pour tester si c'est ok ou pas. Avec la PSR-7 ce sera bien normé. Mets cela de côté pour le moment l'important est de bien comprendre comment ça marche
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Pourquoi j'ai ajouté du JavaScript dans le fichier monde.php.
Il est vrai maintenant que le monde.php pourrait s'appeler monde.html. S'il s'appelle .php, c'est parce qu’au début, j'avais mis le menu de droite dans un include. Et je pensais qu'il y aurait plus de PHP que de JavaScript. Maintenant j'ai rapatrié le contenue de l'include dans la page monde.php Pour le moment, monde.php appelle le fichier carte.js qui affiche la carte et les points cliquables. La fonction qui déclenche l'alert que l'on voit quand on clique sur un point rouge ou vert de la carte est dans le fichier carte.js. C'est dans cette fonction que j’introduis la fonction Ajax pour qu'elle appel le fichier requete.php avec la variable correspondant au point cliquer pour avoir l'information correspondante à afficher dans le menu. Si j'ai mis du JavaScript directement dans la page monde.php et pas dans carte.js pour qu'il affiche au bon endroit (dans le menu) le résultat reçu par la fonction Ajax. Mais la variable qui contient le résultat ne sort peut être tout simplement pas de la fonction.
J'ai modifier le fichier requete.php pour qu'il n'interroge pas une base de données, mais contienne simplement des informations avec la condition qui switch. Pour exclure un problème avec la base de données.
Mais j'ai fini pas voir comment fonctionné la console F12 Elle alerte déjà sur un problème de Synchronous XMLHttpRequest. Cela, on le voit déjà sur la version de la page visible sur le web. Mais cela n’empêche pas le fonctionnement. Mais sur la version test en local avec l'ajax, il repère une erreur dès la ligne $_ajax({ et dis Uncaught ReferenceError: $ is not defined.
Oui c'est mieux de commencer en envoyant un réponse simple et ensuite ajouter les briques au fur et à mesure (requête en base etc.)
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
Effectivement, il manquait bien le fichier jquery pour que cela fonction. On m'avait dit qu'on n'en n'avait pas besoin dans ajax !
L'alert 'Test réussi' fonctionne et on passe même à la suite dans le script.
Pourtant cela ne fonctionne toujours pas car quelque soit le point cliqué, il affiche aucun des textes du fichier requete.php que j'ai écrit comme cela.
<?php
header('Content-Type: application/json');
$pointcliquer = (empty($_GET['pointcliquer'])) ? 0 : $_GET['pointcliquer'];
switch ($pointcliquer) // on indique sur quelle variable on travaille
{
case 0:
echo "Locn\351rac";
break;
case 1:
echo "Port-Squelette";
break;
case 2:
echo "Tharantia";
break;
case 3:
echo "Seken-Sogyr";
break;
case 4:
echo "La cit\351 sur le vide";
break;
case 5:
echo "Nexus";
break;
case 6:
echo "Abyss Kaharinn";
break;
case 7:
echo "Bois Sorcier!";
break;
case 8:
echo "Desert de Sespiant";
break;
case 9:
echo "Foret Polaris";
break;
case 10:
echo "Foret Spheriant";
break;
case 11:
echo "Colonie du V\351ridian";
break;
default:
echo "Désolé, je n'ai pas de message à afficher pour ce point";
}
echo json_encode(array('pointcliquer' => $nom_lieu,'success' => true);
?>
Il va chercher le texte "nul part" qui est plus loin dans une div du menu pour l'afficher dans la fenêtre d'alert test réussi.
En fait tu n'as pas besoin de JQuery pour faire de l'ajax si tu fais tout à la mimine. Le $.ajax simplifie grandement car sinon tu devrais manipuler tout un tas d'éléments (xhr,...).
Ton fichier php doit faire seulement le dernier echo json_encode car là il y n'y a pas que du json dans le retour de ton php. Si tu regarde dans la aprtie network tu verras qu'il te retourne : Port-Squelette{pointcliquer:null
Je pense que tu voulais écrire $nom_lieu = "Desert de Sespiant" dans tes case
Découvre tout le background de leagueoflegends sur omégatheque ! Il y a même des vidéos sur les différents skins, des liens vers les streamers et webtvs les plus connus ! :D
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Freelance Environment Artist.
Contentes toi juste de poser, chaque jour, la pierre de la plus belle des façons!