Un tuto sur la création de jeux SFML ?

Besoin d'avis

a marqué ce sujet comme résolu.

Bougeoir à tous,

J'ignore assez comment se déroule la rédaction d'un tutoriel sur ce site : je vois en effet que la plupart des sujets de cette section propose un lien vers une Bêta déjà dans le premier message. Ce n'est pas le cas ici, c'est plutôt une suggestion qui attend des avis (d'où le point d'interrogation dans le titre).

Bref. J'ai récemment eu l'idée de commencer à rédiger un tuto sur la bibliothèques SFML, ou plus précisément, comment créer un jeu 2D avec cette bibliothèque. Toutefois, je ne suis pas très sûr que ce soit une bonne idée. J'attends donc vos retours là-dessus, et je vous fais rapidement une liste des pour et des contre.

Pour

  • Il n'existe à ma connaissance pas de vrai grand tuto à jour dédié à cette bibliothèque. Avec une recherche Google, on tombe sur les tutos officiels (ils sont bons, mais très courts), puis le tuto d'OC (plus du tout à jour), des tutos écrits en "mauvais" C++, des tutos YouTube… Bref, rien de très intéressant.
  • Une requête a été faite.
  • Cela fera un nouveau tuto destiné aux débutants.
  • Cela me permettra d'effectuer un travail personnel intéressant qui aidera à faire monter mon niveau de programmation.
  • J'ai beaucoup de temps libre. ^^

Contre

  • Un jour, je discutais avec un ami au sujet de rédiger des tutos, et on est rapidement arrivés à cette conclusion : "d'autres gens le feraient bien mieux que nous". Vous l'aurez peut-être compris, je suis actuellement plutôt "moyen" en programmation. Je me débrouille en C++, mais je sais que beaucoup d'autres ont de meilleures capacités à écrire ce genre de tutos. C'est principalement ce point qui me fait hésiter.
  • Ainsi, j'aurai probablement besoin de pas mal d'avis et de corrections sur les exemples de codes, ou les éventuels TPs.

Voilà donc le dilemme. Après avoir lu quelques tutos, je me dis que j'ai le niveau, mais je sais que je ne suis de loin pas le mieux placé pour rédiger un tel tuto.

Pour l'instant, j'imagine trois principales parties :

  • Débuter avec SFML : le fonctionnement pur et simple de SFML, la partie la plus simple pour moi. Ici je ne risque pas de rencontrer trop de problèmes.
  • Créer un jeu vidéo : ici, on s'éloigne un peu de SFML pour parler plutôt de la création de jeux 2D en général (donc ça va parler aussi de maths et de physique), et comment implémenter différents cas concrets (gravité, dynamique, tilemapping…).
  • Éventuellement, exemples de petits jeux : on décrit ici, pas à pas, comment réaliser un jeu simple de A à Z (Snake, Tetris, Pac-Man…). C'est évidemment là où je risque d'avoir plus de peine. Cela pourrait aussi être sous formes de différents TPs tout au long du tuto.

Voilà tout, j'attends donc vos avis. :)

Après vérification, les exemples sont en effet très courts. Je pense que tu peux facilement choisir une autre voie, un autre point de vue qui rendrait ton tutoriel complémentaire vis-à-vis de la doc officielle.

Un jour, je discutais avec un ami au sujet de rédiger des tutos, et on est rapidement arrivés à cette conclusion : "d'autres gens le feraient bien mieux que nous".

Le feraient, s'ils le faisaient. Or ils ne le font pas. Un tutoriel exceptionnel mais qui n'existe pas est moins bien qu'on bon qui existe. :P

Ainsi, j'aurai probablement besoin de pas mal d'avis et de corrections sur les exemples de codes, ou les éventuels TPs.

La bêta sert, entre autre, à ça.

Sinon, parmi les trucs très mal documentés de la SFML, il y a les bindings. Les gens ont tendance à dire « c'est comme la version en C++, contentez-vous d’adapter », mais les choses sont rarement aussi simples…

+1 -0

[…] j'ai du mal à voir ce qu'apporterais un cours pour la partie Débuter avec SFML .

Freedom

Oui je l'avoue, les tutoriels officiels sont déjà assez complets. Si je pensais refaire cette partie, c'était principalement pour donner des exemples de cas concrets (créer un menu de pause avec des boutons par exemple). Aussi, ça nous permet d'avoir un tuto assez complet, et pas un truc du style "pour lire ce tuto, vous devez déjà avoir lu et compris les tutos du site officiel". Ça risquerait de donner une impression de tuto bâclé et vite fait, non ?

Sinon, parmi les trucs très mal documentés de la SFML, il y a les bindings. Les gens ont tendance à dire « c'est comme la version en C++, contentez-vous d’adapter », mais les choses sont rarement aussi simples…

Gabbro

Je ne me suis jamais penché sur les bindings SFML, mais je peux y jeter un coup d’œil. Par contre, est-ce que parler des bindings serait vraiment approprié dans un tuto de catégorie C++ ?

Aussi, ça nous permet d'avoir un tuto assez complet, et pas un truc du style "pour lire ce tuto, vous devez déjà avoir lu et compris les tutos du site officiel". Ça risquerait de donner une impression de tuto bâclé et vite fait, non ?

Olybri

C'est un point de vue, cependant préciser qu'en prérequis il faut connaitre les bases du C++ et de la SFML pour se concentrer sur une partie Créer un jeu vidéo ne donnera pas forcément un résultat bâclé, AMA. Éventuellement en rajoutant éventuellement des blocs de précision lorsqu'une notion n'est pas explicite dans les tutos officiels.

Ecrire un cours qui aborde des points déjà abordés dans les tutos officiels peut avoir un sens, si par exemple on écrit un cours qui suit une progression (ce que ne fait pas forcement une série de tutos indépendants), propose une pédagogie particulière (qui peut être différentes des tutos officiels), propose un vrai parcours d'apprentissage avec exos et projets, etc.

Sinon, tu peux créer un cours "créer un jeu vidéo avec la SFML" et écrire des mini-tutos pour les parties techniques qui ne sont pas abordées par les tutos officiels et les proposer comme tutos officiels.

Un jour, je discutais avec un ami au sujet de rédiger des tutos, et on est rapidement arrivés à cette conclusion : "d'autres gens le feraient bien mieux que nous". Vous l'aurez peut-être compris, je suis actuellement plutôt "moyen" en programmation. Je me débrouille en C++, mais je sais que beaucoup d'autres ont de meilleures capacités à écrire ce genre de tutos. C'est principalement ce point qui me fait hésiter.

C'est une erreur.

  1. les gens plus compétent n'ont pas forcement le temps
  2. comment apprendre à rédiger si tu le fais jamais
  3. rédiger des articles permet d'apprendre (mettre au clair les idées, avoir des corrections sur des points que l'on a moins bien compris, faire le recherche de documentation, etc)

Quand j'ai commencé à rédiger, j'ai commencé par des traductions (plus simple), puis de simples articles "prises de notes" (en gros, prendre des notes lorsque tu étudies un sujet puis mettre en forme ces notes dans un article. Voir par exemple boost.graph, cela ne nécessite pas de maîtriser le sujet, par définition). Ensuite seulement je me suis mit à rédiger sur des sujets plus complexes, plus originaux, en apportant une "expertise" personnelle (ou en disant des conneries parfois… mais il ne faut pas avoir peur de faire des erreurs et de se lancer).

+4 -0

En plus de cela, je me dis que si ce tuto est dédié aux débutants, SFML sera pour certains leur première expérience avec une bibliothèque externe. Et pour certains (surtout les plus jeunes qui découvre la programmation), ce n'est pas quelque chose de très facile à comprendre et mettre en place (pourquoi des fichiers .a ? ou faut-il les mettre ? ça veut dire quoi linker ?). Et cela me semble souvent assez "survolé" dans d'autres tutos : il suffit de voir le grand nombre de sujets du type "j'ai des undefined references, je dois faire quoi ?".

Évidemment, ce point-là n'est pas spécialement lié à SFML, mais j'ai pensé que pédagogiquement, cela ne sera que plus agréable pour ces débutants d'avoir ce genre de précisions. Dans le tuto, on pourrait donc imaginer ça sous forme de "rappels" (ou "anecdotes" pour les choses plus futiles).

Ça m'a l'air d'être un bon projet, et je pense que c'est à partir du moment où l'on peut expliquer un concept qu'on l'a appris donc écrire un tuto doit être un excellent moyen de progresser.

PS :

En plus de cela, je me dis que si ce tuto est dédié aux débutants, SFML sera pour certains leur première expérience avec une bibliothèque externe. Et pour certains (surtout les plus jeunes qui découvre la programmation), ce n'est pas quelque chose de très facile à comprendre et mettre en place (pourquoi des fichiers .a ? ou faut-il les mettre ? ça veut dire quoi linker ?). Et cela me semble souvent assez "survolé" dans d'autres tutos : il suffit de voir le grand nombre de sujets du type "j'ai des undefined references, je dois faire quoi ?".

Évidemment, ce point-là n'est pas spécialement lié à SFML, mais j'ai pensé que pédagogiquement, cela ne sera que plus agréable pour ces débutants d'avoir ce genre de précisions. Dans le tuto, on pourrait donc imaginer ça sous forme de "rappels" (ou "anecdotes" pour les choses plus futiles).

Évidemment, ce point-là n'est pas spécialement lié à SFML, mais j'ai pensé que pédagogiquement, cela ne sera que plus agréable pour ces débutants d'avoir ce genre de précisions. Dans le tuto, on pourrait donc imaginer ça sous forme de "rappels" (ou "anecdotes" pour les choses plus futiles).

Olybri

On pourrait même carrément imaginer un tuto indépendant sur l'utilisation (voir création) des bibliothèques en C++ (et C tant qu'à faire vu que c'est un des rares sujets où ils ont le même fonctionnement je crois).

On pourrait même carrément imaginer un tuto indépendant sur l'utilisation (voir création) des bibliothèques en C++ (et C tant qu'à faire vu que c'est un des rares sujets où ils ont le même fonctionnement je crois).

Bouli1515

Oui évidemment, mais ce n'est pas moi qui le ferai (du moins, ce n'est pas dans mes projets). Mon argument était justement de mettre en valeur ces rappels (et ce de manière spécifique à SFML), malgré le fait qu'il puisse exister quelque part un tutoriel sur la manipulation des bibliothèques en général.

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte