lundi 9 janvier 2012

Apprendre à développer

En toute franchise, si vous n'y connaissez rien en développement, je pense que réaliser un jeu va être compliqué et très long (autant être clair dès le début). Pour créer un jeu pour navigateur "standard", il faut avoir des connaissances dans les domaines suivants : HTML, CSS, JavaScript, PHP et SQL (base de données). Apprendre et maîtriser l'ensemble de ces langages va prendre des mois et vous serez probablement démotivé avant même de vous lancer sur le développement de votre propre jeu. 

L'autre risque est d'écrire du code sâle et totalement inmaintenable ce qui sera invivable sur le long terme (les autres développeurs vous maudiront). A la connaissance des langages s'ajoutent une série de concepts indispensable comme la programmation orientée objets (ou POO), comment sécuriser votre site (injections SQL, ...) et les bases de l'algorithmie (complexités, optimisation du code, ...).

Pour avoir appris le PHP "sur le tas" et m'être lancé directement sur mon projet de jeu, je peux vous assurer que cela n'est pas la bonne solution et que les conséquences ne sont pas négligeables (on peut perdre des jours à réécrire du code).

Si vous n'y connaissez rien mais que cela vous intéresse vraiment, voici la méthodologie que je vous conseille pour vous donner toutes les chances d'aboutir à quelque chose de potable :

1. Mettez de côté votre projet

Oubliez votre projet pour un certain temps, la priorité est d'acquérir les connaissances nécessaires. Il faut s'en donner le temps et les moyens.

2. Lisez des tutoriaux

Il y a un nombre incroyable d'aide à la programmation : blogs, forums, billets, livres, ... La mode est à l'aide en ligne mais je vous conseille également d'acheter un bon livre et de le bouquiner tranquillement.

Voici ce dont vous aurez probablement besoin pour votre jeu :
  1. HTML (le plus fondamental pour la conception de pages web)
  2. CSS (mises en page)
  3. JavaScript (écriture de scripts, éventuellement voir Ajax)
  4. PHP (langage de développement de pages dynamiques)
  5. SQL (si vous utilisez MySQL comme base de données)
  6. En bonus, vous pouvez vous former à des frameworks/librairies PHP et JavaScript (JQuery, Zend etc)
Ne faites pas que lire les articles, faites les exemples ! Renseignez vous également sur les "bonnes pratiques" de développement : comment organiser votre code source, comment écrire "proprement", les normes, etc.

Quelques sites à visiter :
  • Siteduzero.com, idéal pour commencer à développer (communauté très active).
  • Developpez.com, "la" référence, très complet avec pas mal de tutoriaux très poussés

3. Faites un site test

Ne vous lancez surtout pas sur votre projet de jeu directement, faites des tests bidons en local pour tester vos connaissances. Faites un module de connexion et de gestion de session, puis des requètes SQL, puis des ajoutez de l'Ajax, etc. 

Essayez de faire un site internet sur un thème de votre choix en utilisant l'ensemble des technologies cible et avec une base de données. Cela sera payant puisque vous prendrez des automatismes et cela sera autant de temps gagné lorsque vous ferez votre vrai projet. Votre façon de développer va évoluer au cours de votre apprentissage et cela serait dommage que votre jeu en fasse les frais.

4. Trouvez de l'aide

Je conseille fortement de s'entourer d'un ou plusieurs développeurs afin de renforcer ses connaissances, de trouver de la motivation et d'avoir de l'aide en cas de blocage.

5. Le projet !

Si vous vous sentez à l'aise, vous pouvez désormais attaquer votre projet en répartissant les fonctionnalités du cahier des charges entre les développeurs. Ne soyez pas trop ambitieux et commencez par les plus basiques ... donnez les plus complexes aux développeurs experimentés.

En cas de problème n'oubliez pas que vous trouverez probablement une solution sur internet, n'hésitez pas à présenter votre problème sur un des différents forums existants (voir liens plus haut).

Bonne chance ;-)

1 commentaire: