Braldahim reprend des notions bien connues : runes et mots runiques, quêtes et donjons, métiers, compétences, gredins et redresseurs, monstres, agriculture et d'autres moins connues comme les matchs de Soule et autres festivités autour de quelques bonnes bières.
En moyenne, le jeu prend 5 minutes par jour et bien plus si vous souhaitez vous investir.
Bon, nous n'allons pas trop faire de pub ici, ce n'est pas forcément l'objectif, mais nous allons parler du développement du jeu et de la philosophie libre qui tourne autour... L'idée initiale, celle qui date de décembre 2005, avait pour objectif de développer un framework de jeux web libre qui pourrait être utilisé par d'autres jeux. Bon, à vrai dire, cette idée a été rapidement transformée pour développer un jeu, mais un jeu où le code source sera libre.
Un petit tour de PHP, un petit tour de Struts, un petit tour de GWT et l'on revient sur PHP et son fraîchement sorti ZendFramework (à l'époque) pour la vraie mise en place du "socle technique".
Le jeu, ainsi que le site web, le site des scripts publics sont sous licence GPL. Quelques dessinateurs se sont également investis dans le jeu et proposant même leur création sous licence CreativeCommons CC-BY-SA.
Après une année de développements, une candidature a été proposée à JeuxWeb.org pour l'hébergement, candidature acceptée (merci à eux !). L'année suivante fut l'objet d'une ouverture en Bêta Privée puis une seconde en Bêta Publique. Le jeu n'a finalement été ouvert qu'au mois de mai 2010.
Bref, durant ces quelques années de développement, n'ont été utilisés que des logiciels libres pour développer un jeu libre où quiconque peut jouer sans devoir payer pour avoir du gameplay en plus. Ceci démontre également qu'il est possible de développer un jeu avec un code source libre sans forcément rendre publiques des informations au joueur, argument principal des jeux qui ne sont pas opensource à la base ou encore sans que les joueurs puissent "tricher" en voyant le code source. Les informations cachées sont simplement en base de données (mysql)...
Peut-être allez vous nous rejoindre en tant que joueur et si l'envie de développer des outils pour Braldahim, des API sont en place pour vous faire votre propre interface de jeu (http://sp.braldahim.com ).
À noter également une interface mobile en place (http://mobile.braldahim.com / http://iphone.braldahim.com ). Cette interface est full web, développée en quelques heures seulement, grâce au moteur d'affichage très flexible. Pour les web développeurs curieux, vous pouvez regarder les échanges avec le serveur avec firebug pour mieux comprendre le "moteur d'affichage", basé sur Prototype.js et plus vulgairement ajax.
Quelques chiffres pour finir :
- 150.000 lignes de code
- plus de 240 tables en base pour le jeu
- plus de 150 évolutions en un an et 250 corrections "d'anomalies" en Bêta.
- Apache & Lighttpd (pour Redmine), mysql
- Redmine pour le bugtrack
- Mediawiki pour les règles
- SVN, enfin google code pour le dépôt SVN
- Serveur debian et un tas de logiciel de monitoring
- etc...
Aller plus loin
- Braldahim (78 clics)
- Les Règles (11 clics)
- Bugtrack / Roadmap (5 clics)
- API Externes (7 clics)
- JeuxWeb.org ASBL (12 clics)
- Projet Google Code (13 clics)
# Chouette, un jeu libre avec des graphismes et une interface soignée
Posté par gasche . Évalué à 6.
Un jeu libre, qui a l'air sympa, et qui soigne ces choses là, bravo !
Un détail : sur le site, l'aspect libre du jeu, bien que présent (si on clique sur "Le Projet", on a un historique remplit des détails techniques sans grand intérêt, la présentation de l'équipe (bien), et en tout petit un lien vers le code source), n'est vraiment pas mis en avant. C'est un choix comme un autre, mais ça me fait penser que vous n'encouragez pas trop la participation de la communauté.
J'imagine que c'est surtout un truc développé en petit groupe, et que les joueurs eux-mêmes ne participent pas directement au développement (et n'ont pas forcément conscience de cette possibilité). C'est compréhensible, car entretenir un développement ouvert (et pas seulement un résultat ouvert) demande du travail en plus, et on peut préférer se concentrer sur d'autres choses, mais c'est peut-être un peu dommage.
[^] # Re: Chouette, un jeu libre avec des graphismes et une interface soignée
Posté par BouleHondevice . Évalué à 1.
Par contre, les règles sont en cours de ré-écriture sous forme de livre (ex, le livre du Débutant : http://regles.braldahim.com/wiki/Livre_I_-_Guide_du_D%C3%A9b(...) , un livre "Outils et Développement" sera créé, il contiendra ces pages là :
- http://regles.braldahim.com/wiki/D%C3%A9veloppement
- http://regles.braldahim.com/wiki/Environnement_de_D%C3%A9vel(...)
Cette dernière page a été mise à jour l'année dernière et c'est vrai qu'elle pourrait être remise d'actualité. Il est vrai également qu'avoir une équipe de dev plus importante n'aurait sans doute pas servi à grand chose durant les mois de développement, derrière les aspects techniques du jeu, il y a tout l'aspect règles de jeu à mettre en place. Et croyez moi, c'est presque tout aussi prenant d'imaginer pour une nouvelle compétence l'évolution du jeu sur plusieurs années et les comportements des joueurs que de développer cette compétence dans le jeu. Cela demande aussi beaucoup de discussions entre l'équipe pour être d'accord sur les évolutions à mettre en place et qui restent relativement "cachées" (souvent sur svn avant le vrai déploiement) pour faire des "surprises" aux joueurs.
Il y a eu tout de même quelques contributions externes (algorithmes essentiellement) que l'on intègre sous forme de patch et quelques personnes ayant installé Braldahim chez eux pour voir comment ça fonctionnait, mais sans allez plus loin que ça j'imagine.
Le côté qui peine le plus est sans doute le côté "graphique", nous sommes toujours preneurs d'images et d'idées pour rendre le jeu encore plus convivial graphiquement.
[^] # Re: Chouette, un jeu libre avec des graphismes et une interface soignée
Posté par David . Évalué à 1.
Mais j'ai de suite été étonné de la présence de nombreux "faux lien" : des balises <a> avec un onclick à la place du href... (Par exemple, dès la page d'inscription : http://jeu.braldahim.com/inscription/ajouter où en plus il y a du texte avec un style le faisant ressembler à un lien sans en être, et inversement). Je peux comprendre que vous ne vouliez pas perdre les utilisateurs débutants et que vous préfériez que la page s'ouvre en popup/onglet, mais dans ce cas il vaut mieux mettre quand même le href et juste rajouter le JS ou l'HTML (target="_blank", les pages ne sont déjà pas valides et c'est de toute façon un attribut qui est sur le retour) qui va s'ouvrir le lien par défaut en popup.
[^] # Re: Chouette, un jeu libre avec des graphismes et une interface soignée
Posté par B16F4RV4RD1N . Évalué à 2.
Only wimps use tape backup: real men just upload their important stuff on megaupload, and let the rest of the world ~~mirror~~ link to it
# Et on peut lire le code source !
Posté par gasche . Évalué à 3.
D'habitude, je suis effaré par le code source des applications utilisant PHP. Ce qui me gêne en priorité c'est l'absence totale de gestion responsable du flot de contrôle et des effets de bord : chaque page initialise tout ce qui bouge comme si elle était la seule sur terre, et quand on veut de la modularité on fout un "include" et on prie pour que la page incluse ne fasse pas tout péter parce que les paramètres de session ne lui plaisent pas.
Dans votre projet, le flot de contrôle (l'ordre des actions quand on demande une page) est caché par l'utilisation de Zend (je ne connais pas le framework, donc pour moi tout est caché au milieu d'une myriade de MVC, middleware, dynamic class loading, etc. etc.), par contre le découpage du code en parties indépendantes est assez raisonnable, avec l'utilisation de POO en grande quantité. Je trouve toujours curieux de voir des classes qui mélangent logique de jeu (règle, etc.) et une fonction "render" qui fait des regexp replace pour supprimer les espaces inutiles, mais c'est un choix comme un autre.
Bref, je trouve l'organisation globale du code plutôt bien.
Par contre, dans les détails, le code est par endroit un peu bof. Une fois qu'on retire tout le boilerplate lié à l'utilisation des templates, la récupération des données dans la base, etc., il y a des passages franchement pas terribles comme (dans library/Bral/Cueillir.php) :
for ($i=1; $i<=4; $i++) {
$tab[$i]["estVide"] = true;
$tab[$i]["quantite"] = 0;
$tab[$i]["id_fk"] = -1;
$cueillette[$i]["quantite"] = 0;
$cueillette[$i]["id_fk"] = -1;
$cueillette[$i]["id_type_plante"] = $plante["id_fk_type_plante"];
if ($i == 1 && $plante["partie_1_plante"] > 0) {
$tab[$i]["id_fk"] = $plante["id_fk_partie_1"];
$tab[$i]["quantite"] = $plante["partie_1_plante"];
$tab[$i]["estVide"] = false;
$cueillette[$i]["id_fk"] = $plante["id_fk_partie_1"];
$cueillette[$i]["nom_partie"] = $plante["nom_partie_1"];
}
if ($i == 2 && $plante["partie_2_plante"] > 0) {
$tab[$i]["id_fk"] = $plante["id_fk_partie_2"];
$tab[$i]["quantite"] = $plante["partie_2_plante"];
$tab[$i]["estVide"] = false;
$cueillette[$i]["id_fk"] = $plante["id_fk_partie_2"];
$cueillette[$i]["nom_partie"] = $plante["nom_partie_2"];
}
if ($i == 3 && $plante["partie_3_plante"] > 0) {
$tab[$i]["id_fk"] = $plante["id_fk_partie_3"];
$tab[$i]["quantite"] = $plante["partie_3_plante"];
$tab[$i]["estVide"] = false;
$cueillette[$i]["id_fk"] = $plante["id_fk_partie_3"];
$cueillette[$i]["nom_partie"] = $plante["nom_partie_3"];
}
if ($i == 4 && $plante["partie_4_plante"] > 0) {
$tab[$i]["id_fk"] = $plante["id_fk_partie_4"];
$tab[$i]["quantite"] = $plante["partie_4_plante"];
$tab[$i]["estVide"] = false;
$cueillette[$i]["id_fk"] = $plante["id_fk_partie_4"];
$cueillette[$i]["nom_partie"] = $plante["nom_partie_4"];
}
}
Attention, je voudrais pas qu'on interprète mal ma remarque : je trouve le code dans l'ensemble plutôt correct, mieux que la moyenne de ce qu'on trouve en PHP sur le net. C'est juste qu'il est franchement améliorable par endroits, et comme je suis tout content que le code soit disponible en ligne je m'empresse de trouver un truc à commenter en espérant qu'il soit amélioré un jour.
[^] # Re: Et on peut lire le code source !
Posté par BouleHondevice . Évalué à 4.
Hop, evol http://bugs.braldahim.com/issues/761 inscrite pour corriger cela.
Merci :)
[^] # Re: Et on peut lire le code source !
Posté par Kerro . Évalué à 4.
Je précise qu'il me semble utile d'écrire en anglais, mais ça n'engage que moi (c'est juste pour tenter de lancer le troll en question, il n'y a que des commentaires élogieux, c'est étrange sur ce site).
note: effectivement, chapeau pour l'aspect visuel !
[^] # Re: Et on peut lire le code source !
Posté par LupusMic (site web personnel, Mastodon) . Évalué à 2.
[^] # Re: Et on peut lire le code source !
Posté par BouleHondevice . Évalué à 1.
# Si je comprend bien...
Posté par fabricius . Évalué à 2.
Moi je cherche à faire la chose suivante:
Quand j'etais lycéèn je jouais avec des amis à Warhammer, le jeu de rôle. J'aimerais bien en refaire, mais sans réunir tout le monde (trop compliqué, je suis vieux maintenant). Et je reflechissais à la possibilité de faire un site qui permettrait de jouer à un JDR. Le maître posterait les données du jeu (description du lieu, tout ça...) et les joueurs décideraient collectivement quoi faire. A chaque décision individuelle les autres joueurs seraient avertis (par mail ou sur le site), et quand tout le monde est d'accord, le MJ décide de la suite, ou organise un combat,...
Est-ce que le framework sur lequel Braldahim est basé pourrait convenir?
[^] # Re: Si je comprend bien...
Posté par BouleHondevice . Évalué à 2.
Ceci dit, faire un jeu commence d'abord par des idées de règles, d'ambiance et d'interface de jeu. Ensuite et seulement si l'interface de jeu de Braldahim, enfin au niveau technique, te convient, tu pourras l'adapter pour un autre jeu.
Et quand je dis l'interface au niveau technique, c'est les communications ajax avec le serveur et la méthode de mise à jour du rendu HTML côté client.
Voici une image décrivant brièvement le fonctionnement des échanges : http://img801.imageshack.us/img801/935/ajaxs.png
# Un jeu libre! (et pas seulement un moteur...)
Posté par Zenitram (site web personnel) . Évalué à 3.
Par contre :
Quelques dessinateurs se sont également investis dans le jeu et proposant même leur création sous licence GPL CreativeCommons.
Ne veut rien dire, soit on fait de la GPL, soit du CreativeCommonsb (on peut faire les deux si on a envie, mais c'est un "et" qu'il faut mettre entre les deux mots), et il faut indiquer quelle CreativeCommons car certaines (les plus répandues) sont non libres. http://www.braldahim.com/sources est plus précis : CC-BY-SA (donc libre!). Un modo pour corriger le dépêche?
[^] # Re: Un jeu libre! (et pas seulement un moteur...)
Posté par patrick_g (site web personnel) . Évalué à 3.
[^] # Re: Un jeu libre! (et pas seulement un moteur...)
Posté par Axioplase ıɥs∀ (site web personnel) . Évalué à 2.
>> Bon, à vrai dire, cette idée a été rapidement transformée pour développer un jeu, mais un jeu où le code source sera libre.
Bon, à vrai dire, cette idée a été rapidement transformée en le développement d'un jeu, mais un jeu dont le code source serait libre.
>> Quelques dessinateurs se sont également investis dans le jeu et proposant même leur création sous licence CreativeCommons CC-BY-SA.
« leurs créations. » À moins que tous travaillèrent sur la même seule et unique création.
>> Après une année de développements,
« développement » au singulier, très certainement.
>> Le jeu n'a finalement été ouvert qu'au mois de mai 2010.
Le jeu n'a finalement été officiellement accessible au public qu'au mois de mai 2010.
>> pour développer un jeu libre où quiconque peut jouer sans devoir payer pour avoir du gameplay en plus.
pour développer un jeu libre auquel quiconque peut jouer sans devoir payer pour avoir du gameplay supplémentaire.
>> il est possible de développer un jeu avec un code source libre
il est possible de développer un jeu dont le code source est libre
>> pas opensource à la base ou encore
pas opensource, ou encore
(car s'il ne l'est pas à la base mais le devient après, l'argument (que je ne comprend pas) ne tient plus la route. Et la virgule est nécessaire.)
>> Les informations cachées sont simplement en base de données (mysql)...
simplement stockées dans une base de données mysql.
>> Peut-être allez vous nous rejoindre en tant que joueur et si l'envie de développer des outils pour Braldahim, des API sont en place pour vous faire votre propre interface de jeu (http://sp.braldahim.com ).
(La phrase n'a aucun sens ! Il manque une virgule et surtout des verbes !)
Peut-être allez vous nous rejoindre en tant que joueur, et si l'envie de développer des outils pour Braldahim vous prend, des API sont en place pour que vous puissiez vous faire votre propre interface de jeu (http://sp.braldahim.com )
>> Cette interface est full web, développée
Cette interface full web fut développée
>> Pour les web développeurs
Pour les développeurs web
>> ajax
Ajax
# linuxfrisation
Posté par jihele . Évalué à 2.
C'est vrai que ça a l'air mignon. Je connais pas beaucoup ces jeux, mais les principes, les compétences, la charte, m'ont l'air pas mal calqués sur MountyHall.
[^] # Re: linuxfrisation
Posté par BouleHondevice . Évalué à 2.
Le choix de JeuxWeb.org n'a donc pas été au hasard... ;-)
Si le mail de confirmation n'arrive pas, envoie un mail aux thains AT braldahim.com, nous regarderons et renverrons un mail (dans la soirée sans doute).
[^] # Re: linuxfrisation
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 2.
- Tux01
- Tux02
- Tux03
- RichardS
- RS01
...
Alexandre COLLIGNON
# Compte créé mais pas d'email de validation envoyé
Posté par Alexandre COLLIGNON (site web personnel) . Évalué à 1.
J'ai pensé à une double erreur de saisie de mon adresse email mais si j'essaye de me logguer on me dit que le compte est inactif alors qu'un test avec une adresse bidon m'indique que le compte n'existe pas.....
W8&C
Alexandre COLLIGNON
[^] # Re: Compte créé mais pas d'email de validation envoyé
Posté par BouleHondevice . Évalué à 2.
Pour l'instant, ce problème n'est pas encore résolu... mais c'est maintenant surveillé de près.
Un mail "manuel" vient d'être envoyé pour valider l'inscription.
# Problème de rendu
Posté par Arathor . Évalué à 3.
http://arnor.eu/fichiers/braldahim.png
J'ai une taille minimale de police fixée à 28, parce que je suis à 2 mètres de mon écran. Je sais pas si c'est possible de faire quelque chose, mais en tout cas pour moi c'est injouable (je peux pas cliquer sur Vue par exemple).
[^] # Re: Problème de rendu
Posté par BouleHondevice . Évalué à 2.
[^] # Re: Problème de rendu
Posté par Arathor . Évalué à 2.
[^] # Re: Problème de rendu
Posté par BouleHondevice . Évalué à 2.
[^] # Re: Problème de rendu
Posté par BouleHondevice . Évalué à 1.
[^] # Re: Problème de rendu
Posté par Arathor . Évalué à 2.
J'ai un peu exploré, le concept est sympa. J'ai pas mal parcouru la doc, mais pas encore assez apparement car il me reste à comprendre pourquoi j'ai récupéré que 6 PA en 48h.
En tout cas, bravo et merci pour ce jeu, tout ça a l'air très prometteur.
# Bravo !
Posté par Gemini (site web personnel) . Évalué à 1.
Bravo en tout cas, ça a du être un sacré boulot.
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.