Création d'un jeu sur Internet, questions aux admins

Endroit pour poster ses délires, parler de tout et de rien... Les admins ne posteront pas de réponse sur ce forum, sauf pour le fun. Donc poser les questions sérieuses au bon endroit !
Mortmoa
Messages : 94
Inscription : jeu. nov. 15, 2007 1:08 pm

Message par Mortmoa »

Alors pour créer un jeu comme apo tu dois apprendre le php et mysql, on utilise pas de tableur.
Javascript c'est en plus mais pas obligatoire te focalise pas dessus.

Tu vas avoir plusieurs problèmes :
- Modifier une variable c'est pas compliqué, la mettre dans la base de donnée non plus. Mais faire un jeu complet ce sont des centaines et des centaines de lignes de code. C'est chiant et démoralisant.
- Lorsque tu auras programmer quelque chose c'est super dur de le modifier. La raison pour laquelle la plupart des jeux disparaissent ou ne voient pas le jour n'est pas que les gens n'arrivent pas à les coder mais que les gens se rendent compte qu'ils veulent changer quelque chose et... il faut tout recommencer.
- L'interface : tu peux savoir coder et être une brêle totale en design.
- Le contenu : tu va passer 6 mois a coder un jeu pour te rendre compte que tu n'as pas suffisamment pensé aux problèmes de paramétrage. Pense Ogame, pense Apo, ce n'est pas évident.
- La sécurité. Coder un jeu c'est bien, mais ne pas y mettre un demi millions de faille de sécurité c'est mieux. Tu ne peux donc pas simplement coder "je change la variable" hélas. Tu dois sans arrêt ajouter des tests pour vérifier qu'un petit malin ne fait pas le con.
- La maintenance. Une fois ton jeu créé il faudra le maintenir, réparer et évoluer. C'est énormément de boulot au jour le jour. Si tu restes un mois sans donner de nouvelles les joueurs se sentiront abandonnés.
- L'animation/la communication. Tu auras affaire à des joueurs casse c***lles, des engueulades etc, faut savoir gérer.

Un exemple de code source d'un petit jeu très simple http://anomalie4.free.fr/download.htm
Lis et comprend le, ensuite et bien... bonne chance :)

toto0
Messages : 1631
Inscription : jeu. sept. 27, 2007 6:30 pm
Localisation : 94100

Message par toto0 »

Très bien résumé. :)

A cela on peut ajouter une disponibilité 24/24h obligatoire, un serveur perso (puisque tu veux pas payer) nécessitant 2 DD en raid (au moins) pour au cas où il y en a un qui crashe, connaitre le APACHE (pour faire le routage sur ton site), payer les noms de domaine (pour qu'on puisse accéder à ton site).

Mais évidemment, tout cela passe après l'étape codage, bien plus chiante, à tel point qu'on a rarement l'envie de repasser et réinventer son code (car c'est bien ça) à chaque fois qu'un bug se pointe.
De plus il faut tenir compte des standards, des différents navigateurs (qui ne s'identifient pas de la même manière), des différents systèmes d'exploitation (tous n'interprètent pas de la même manière, ou ne stockent pas les cookies au même endroit)... bref... une belle galère.

A cela peut aussi rajouter que faire un site orienté 39-45 ans alors qu'on est soi-même mineur c'est cocasse! :lol:


Programmer, c'est un métier. Et pas le plus facile.
G2: toto0
G3: Nawasiki Houchibida
G4: Vasiriux; Marion Orca

Grabeuh
Messages : 78
Inscription : jeu. sept. 21, 2006 1:11 pm
Localisation : Lyon pendant la semaine

Message par Grabeuh »

Dans mon exil loin d'Apo, j'ai pris le temps de développer un petit moteur de jeu en PHP couplé à une base MySQL (mais vu la différence de qualité avec mes projets actuels, il est dans la liste urgente des choses à refaire pour combler toutes les failles de sécurité et ajouter une logique à l'architecture du logiciel, concepts que je n'avais pas acquis au moment de la première mouture).
Bon, c'est plus ou moins juste le mécanisme de "moulinettes" + de gestion des combats + création des comptes, des unités. Mais rien que ça a déja nécessité environ 5 mois de boulot acharné. Et comme je n'ai plus touché le code depuis 4 mois environ, plus ça va et plus je me rends compte que c'est tout à refaire, car codé comme un porc...

Donc voici les conseils les plus importants que je peux te donner :

* CONSEIL N°0 : Y a pas que le php dans la vie, y a d'autres langages aussi ! Python, Ruby, ces deux là sont peut-être plus simples d'approche et permettant aussi de réaliser du code pour des applications web très performantes.

* CONSEIL N°1 : Tout d'abord, avant de te lancer dans la programmation du jeu, penche toi sur les méthodes d'analyse et de conception de bases de données et de processus
(un cours sur UML ou la méthode MERISE, c'est pas super dur à trouver et ça aide BEAUCOUP en informatique...)
Savoir un peu à l'avance comment ton application va fonctionner va te permettre de mettre les choses au clair et de prévoir comment réaliser ta base de données et le code de ton programme.
Concevoir ma base de données m'a pris environ 2 mois pour obtenir quelque chose de solide, cohérent, évitant la redondance d'information et pour avoir une optimisation lors des appels depuis mon application web. Et je pense la revoir, car il y manque encore beaucoup de choses.

* CONSEIL N°2 : Si tu te lances dans la programmation et que tu as du mal avec le site du zero, tu es mal barré... Bon, pour te rassurer, le php sous ses abords de langage simple, est en fait particulièrement complexe et tordu sur certains points(j'ai mis du temps à me faire à certains concepts, comme l'absence de typage fort qui permet des hérésies comme "bonjour petit 23 mouton" + "ca va bien 25" = 48...)
Donc accroche toi aux tutoriels sur les bases, fais les, refais les, re-refais les, rererefais les s'il le faut, mais ce n'est qu'en t'entrainant et en essayant de comprendre tes erreurs que tu progresseras (tiens, c'est pas le cas dans toute chose de la vie, ça ?)
Quand tu seras un peu familiarisé avec le PHP et les bases de données, renseigne toi sur les possibilités de programmation Objet du php, car désormais, toutes les bibliothèques de code tout prêt te permettant de ne pas perdre de temps à "réinventer la roue" sont en Objet.
Ensuite, passe à la vitesse supérieure : familiarise toi avec un moteur de templates, un gestionnaire de cache, une classe d'abstraction de base de données te simplifiant le travail d'écriture des requetes SQL.
Puis au final, apprends à utiliser la Rolls Royce de la programmation : un framework, qui sera une base correcte pour développer un jeu.
Il te fournira tous les outils simples et importants dans la conception d'un programme complexe, une séparation logique de l'architecture de ton application, et te forcera à employer des méthodes VRAIMENT efficaces et des motifs de conception déja approuvées par beaucoup de développeurs...

* CONSEIL N°3 : forme toi sur la nécessité de piloter le développement au moyen de TESTS. Pour celà la librairie PHPUnit est une pure merveille (un peu complexe au début, mais diablement efficace car permettant l'automatisation de beaucoup de tests)

* CONSEIL N°4 : Sois réaliste. Ne t'attends pas à faire quelque chose de miraculeux au début. Tu vas pas crééer le concurrent parfait d'O-Game ou d'Apo, même avec toute la bonne volonté du monde, surtout si tu es seul à coder, et encore plus en partant de rien du tout.
Entoure toi de personnes compétentes, essaye de trouver des gens interessés pour t'aider et disposant de compétences pouvant compléter les tiennes. Tu vas pas faire tout à la fois : coder, réaliser les graphismes, effectuer des procédures de test pour vérifier que tout marche bien, et en même temps vivre un peu, parce que programmer c'est bien, mais des fois on sature beaucoup...



Voilà tout ce que je peux te dire. Programmer un jeu, c'est vraiment pas si simple, quand on commence à maitriser un langage de programmation et des fonctionnalités avancées de celui-ci, on se croit capable de décrocher la lune, et on finit souvent par s'écraser la gueule par terre en voyant la vraie difficulté.

Alors c'est pas impossible de faire un jeu, mais ça demande BEAUCOUP de temps et beaucoup d'implication.
.
[b]G0 b3: [i]Grabeuh[/i] / [i]Alnia.[/i] / [i]FOU[/i]
Eveil Gamma : héhéhé, devinez...[/b]

[img]http://apocalypsis.org/archives/beta3/galaxie_0/forums_galactiques/avatars/2210.gif[/img]

Tharqua
Messages : 124
Inscription : sam. avr. 12, 2008 5:08 pm
Localisation : Auxerre (89)

Message par Tharqua »

*cherche cherche cherche*

Ah voila ce qu'il te faut si tu as la possibilité!

après 3e > lycée technologique/professionnel avec en 2nd une option ISI (Initiation aux Sciences de l'Ingénieurs > ils expliquent la programmation mais c'est une opt sur dossier et très demandé) > en gros tu vas devoir passer un bac pro SEN (systèmes électroniques et numériques) > si tu y arrive, tu auras le choix entre la vie active (être informaticien) et la poursuite d'étude > dans ton cas, faudra que tu choisisses la branche "programmation", connais pas trop après mais je sais que tu auras la possibilité de faire un BTS (Informatique de Gestion), DUT, IUT, License professionnelle, Grandes écoles.

Faudra que tu te renseigne sur les possibilités après le bas pro SEN; après avoir réussi ce que tu voudrais faire, tu auras la possibilité de te faire engager dans une entreprise d'informatique (je te conseille de faire de l'anglais, les jobs les mieux payés sont de l'autre côté de l'atlantique dans la Sun bettle si tu vois ce que je veux dire) et de faire dans tes heures de repos ton petit jeu internet français (avec les 200 000 $ par mois, sa devrais aller pour le serveur^^).

BOn courage!
À chacun sa part et les pizzas seront bien mangées.

Grabeuh
Messages : 78
Inscription : jeu. sept. 21, 2006 1:11 pm
Localisation : Lyon pendant la semaine

Message par Grabeuh »

Tharqua, je crois que tu mélanges un peu tout là...
après 3e > lycée technologique/professionnel avec en 2nd une option ISI (Initiation aux Sciences de l'Ingénieurs > ils expliquent la programmation mais c'est une opt sur dossier et très demandé) > en gros tu vas devoir passer un bac pro SEN (systèmes électroniques et numériques)
ISI, c'est une option de lycéé général, pas de lycée pro... ca te destine à un bac S (je suis bien placé pour le dire, c'est ce que j'ai fait comme cursus) et devient en 1ere SI. Et il y a pas que de la programmation, c'est surtout de la mécanique et de l'électronique (en fait, c'est de la physique appliquée).
Il y a un rapide passage sur la programmation, mais c'est en langage Basic, et c'est TRES sommaire.
Ensuite, si tu choisis bien ton lycée (genre, tu acceptes de partir en internat pour construire ton avenir et pas de rester chez papa-maman) c'est assez facile d'accéder à l'option.

Pour les filières de bac pro, SEN est très correct, bien que le bac STI te permet aussi une poursuite d'études en info (plusieurs cas dans l'IUT que j'ai fait)
> si tu y arrive, tu auras le choix entre la vie active (être informaticien) et la poursuite d'étude > dans ton cas, faudra que tu choisisses la branche "programmation", connais pas trop après mais je sais que tu auras la possibilité de faire un BTS (Informatique de Gestion), DUT, IUT, License professionnelle, Grandes écoles.
vie active juste après le bac : autant t'acheter une corde, une poutre et un tabouret, pour rater sa vie c'est plus rapide. Tu as un salaire de merde, car le principe Français demande beaucoup de diplomes pour obtenir des postes interessants. Non, le bon informaticien ne code pas, il réfléchit et ne reste pas au fond d'une cave à pianoter sur son clavier.
DUT = diplome donné à la fin d'un l'IUT
BTS est bien, mais le niveau est assez "large"... En gros, tu apprends à MAL programmer en BTS.
Grandes écoles d'ingénieur : tu ne touches plus une ligne de code, à partir de la 2eme année, et il faut surtout avoir un niveau en maths TRES élevé. Tu apprends surtout à gérer des équipes de développeurs qui codent à ta place et toi tu te concentres sur l'organisation du code, les répartitions de tâches entre tes membres d'équipe, sauf dans de rares cas où tu mets les mains dans le cambouis pour des tâches complexes (genre, de la répartition de charges pour gérer la réplication à chaud dans un cluster de serveurs).

Perso, le vrai endroit pour apprendre à (plutôt bien) programmer, c'est DUT + Licence pro. l'IUT info de Bourg en Bresse, l'IUT info de Lyon, l'IUT info de Besançon, ce sont les 3 qui ont retenu mon attention.
Après, il n'y a qu'en entreprise que tu apprends réellement à bien coder.
(avec les 200 000 $ par mois, sa devrais aller pour le serveur^^).
Oui... c'est cela... tain, je savais pas que mon métier était si bien payé... j'irai réclamer une augmentation à mon patron lundi matin !
Un BON salaire de BON informaticien c'est 3000€ par mois... ça peut monter à 5000 voire 6000 dans certains domaines comme l'administration de bases de données si tu es très très spécialisé, ou alors si tu sais programmer dans des langages très anciens que plus personne ne maitrise mais qui sont encore utilisés dans le code des logiciels bancaires (le COBOL principalement).
Le codeur de base, même aux USA, le "bit and byte" (comprendre par là le mec qui "pense" en binaire) comme le nommait mon prof de C++, il gagne le SMIC... et encore...
[b]G0 b3: [i]Grabeuh[/i] / [i]Alnia.[/i] / [i]FOU[/i]
Eveil Gamma : héhéhé, devinez...[/b]

[img]http://apocalypsis.org/archives/beta3/galaxie_0/forums_galactiques/avatars/2210.gif[/img]

groochie
Messages : 10
Inscription : mar. févr. 06, 2007 10:53 pm
Localisation : Ditent, ça sent pas la mer.....???

Message par groochie »

Grabeuh president, Grabeuh president!!! :shock:
Grabeuh était homosexuel et sadomaso!

Oui, je l'avoue, il a même essayé de toucher Araskel.

RomalePro
Messages : 231
Inscription : mer. janv. 24, 2007 12:02 pm
Localisation : Toulon

Message par RomalePro »

Merci à tous pour ces conseils, mais hélas, le PHP, autant dire que je suis une m**** pour le faire marcher, ou que je n'ai pas compris le truc.

J'ai vu qu'on pouvait créer un jeu d'échecs en Javascript, c'est fort ! Je pense qu'un jeu pourrait ne pas avoir de mal, mais voilà, c'est beaucoup d'heures de travail, et surtout, beaucoup de compréhension, certaines sites proposent de créer des jeux tout prêt, je peux aussi voir avec ça...

Sinon, le PHP, disons qu'il faut avoir un nom de domaine, et un nom de domaine est payant, moi je voudrais du 100% gratuit, hélas, ça risque d'être long et difficile, mais si j'arrivais à trouver cela, ce serait superbe, car j'ai un concept de jeu du tonnerre, un jeu de stratégie/RP/gestion qui pourrait très bien marcher...
Bêta 2-3 et Gamma 1 G2
Général_Louis Galaxie Espoir ( Mort )

Gamma 1 G2
Véronique DUBALIN. ( Morte )
Camarade Petrenchko ( Repartit à son époque )

Gamma 2 G1
Largo Wayne

skipusien
Messages : 1119
Inscription : lun. août 14, 2006 2:44 pm
Localisation : Pk ? Tu veux m'envoyer une carte postale ?!

Message par skipusien »

Et sur un hébergeur gratuit qui accepte le PHP ?? Ça existe !
Le PHP c'est dur au début. Mais si on y consacre 2 ou 3 heures dans la journée (de préférence avec une personne qui s'y connaisse plutôt que sur le net), alors ça ira tout seul... ou presque^^
G2.Beta 2 et 3 : skipusien
GX.gamma : Katara (1/2), Deimos

On demande de l'aide ds un forum, on nous répond "va voir ton ami Google!"
On va voir notre ami google, il nous renvoi ds d'autres forums nous redisant "va voir ton ami google!"
o_0'

RomalePro
Messages : 231
Inscription : mer. janv. 24, 2007 12:02 pm
Localisation : Toulon

Message par RomalePro »

Je crois que ça existe, mais je vais quand même commencer par du JAVASCRIPT/HTML/XHTML/VB Script et ce genre de Scripts, car le PHP, plus compliqué, et je ne connais personne connaissant ce langage.

Bon, merci pour tout vos conseils, je vais essayer de travailler sur mon jeu sur Navigateur, si je pouvais trouver un exemple de code Javascript/HTML pour savoir comment retirer de l'argent, en gagner et tout, ce serait superbe. :D

Merci à tous. Mon idée serait un jeu très développé, Gestion/Stratégie/RP, sur le long terme, ça pourrait donner quelque chose de splendide, bon, je vais essayer de travailler dessus. :)
Bêta 2-3 et Gamma 1 G2
Général_Louis Galaxie Espoir ( Mort )

Gamma 1 G2
Véronique DUBALIN. ( Morte )
Camarade Petrenchko ( Repartit à son époque )

Gamma 2 G1
Largo Wayne

toto0
Messages : 1631
Inscription : jeu. sept. 27, 2007 6:30 pm
Localisation : 94100

Message par toto0 »

Sans PHP ça va être plus que dur....

J'imagie que ton jeu se jouera en plus d'un tour? (je me connecte = une partie = un tour)

Si oui, tu aura besoin du PHP et du SQL (MySQL ou PostGreSQL) pour stocker les données entre deux tours sur le serveur.
Je ne pense pas que le java en soi capable. ;)

Le site du Zéro et devellopez.com seront tes amis.
G2: toto0
G3: Nawasiki Houchibida
G4: Vasiriux; Marion Orca

RomalePro
Messages : 231
Inscription : mer. janv. 24, 2007 12:02 pm
Localisation : Toulon

Message par RomalePro »

La meilleure façon d'apprendre est d'avoir quelque chose à copier coller, qui soit bien entendu expliqué, mais qui soit tout prêt pour le tester, bref, ce que je n'ai pas encore trouvé. :?
Bêta 2-3 et Gamma 1 G2
Général_Louis Galaxie Espoir ( Mort )

Gamma 1 G2
Véronique DUBALIN. ( Morte )
Camarade Petrenchko ( Repartit à son époque )

Gamma 2 G1
Largo Wayne

Répondre

Revenir à « Tout et rien... »