Besoin d'avis sur une idée

Demande sur la faisabilité d'un jeu avec des avis extérieurs.

Le problème exposé dans ce sujet a été résolu.

Bonjour ! Je suis un membre silencieux en temps normal qui lit beaucoup et parle peu. Mais pour une fois j’ai besoin d’un avis extérieur et je ne trouve pas de sujet semblable à mon dilemme. Pour faire court, je veux faire un jeu web par navigateur dans le style Ogame (/! Oui c’est pas faisable par un débutant, encore plus s’il est seul, ça je l’ai vu sur beaucoup de forum) je ne sais pas définir le genre autrement que par un parallèle, mais le but est de m’entraîner, pas de faire un AAA :p

But global du projet

Je suis actuellement en fin de deuxième année de BTS et j’ai fait un projet sur le web dans un groupe de travail de cinq sur la fin de ma formation (projet de deux/trois mois). Le but serait de faire un site le plus "propre" possible, donc sécurisé, avec une architecture MVC (ce que l’on n’a pas fait sur notre projet) et une BDD bien foutu et logique. Le tout héberger chez moi avec autre chose que LAMP x) Notre projet scolaire était une première dans le Web pour moi, donc en deux mois j’ai dû faire beaucoup de choses … et pas forcément jolie.

Donc le fait de créer un jeu est "annexe", c’est plus pour prendre du plaisir à ce que je vais faire et pour me motiver. J’ai pensé à le faire sur Symphony2 mais cela ferait trop de connaissance à emmagasiné et je sais que je ne finirais jamais mon projet.

Objectif

  1. Avoir des connaissances approfondi sur les éléments qui composent un site web (Ne pas juste lancer WAMP quoi)

  2. Héberger un site web à domicile sur une raspberryPi

  3. Réussir à "finir" le projet lancé, même s’il y a qu’une carte, 2 bâtiments, et une unité. (Pour cela j’ai besoin de l’avis de personne du milieu svp <3)

  4. Pouvoir agrandir mon CV :D

  5. M’amuser ;)

Mes anciens projets

Je suis un grand fan de jeu vidéo et comme tous, j’ai rêvé d’en faire quand j’étais petit. Puis j’ai découvert GameMaker, puis Unity, puis UE … puis, je suis retourné sur GameMaker Studio2 car j’aime beaucoup la 2D et qu’une ébauche de Tower Défense sur Unity m’a pris plus de 100H à faire :p

Le point 4 est très important pour moi car pendant mon temps libre j’ai souvent créé des "ébauches" de jeu sur GMS2 mais je ne les ai jamais fini. Cette fois j’aimerais bien arriver à la fin de ce projet-ci et c’est pour cela que je demande l’avis d’autres personnes.

Voici quelques exemples :

Si vous avez des conseils, une autre idée de projet web plaisant ou des liens sur des tutoriels intéressants pour "mieux développer" je suis complètement, totalement et absolument preneur !!!

Merci à tous pour avoir lu mon pavé ! :)

Edit : Modification des titres qui était des niveau 2 en niveau 1.

+1 -0

Tu as l’air motivé, je ne peux que t’encourager à continuer. C’est en forgeant qu’on devient forgeron. Ce serra très certainement une expérience riche en leçons.

Je n’ai pas de lien à t’apporter, tu as l’air plutôt bien parti en visant des objectifs “tengibles”. Je ne peux que te souhaiter bonne chance.

+1 -0

Ce qui marche bien pour rester motivé c’est de faire le projet avec des potes et d’avoir un objectif, c’est-à-dire une liste de features de départ établie, et pas forcément une deadline mais se dire que dans quelques mois c’est fini quoi. Ca permet de timeboxer un peu et de savoir dans quelle direction partir, et de là c’est que du plaisir. ;)

Bonne chance en tous cas, tu as de la motivation mais en même temps de la lucidité, et les deux ensemble c’est le combo gagnant.

Salut,

Belle ambition. Ceci étant -je sais que tu es au courant, mais j’en parle quand même- attention justement à ne pas être trop ambitieux. Vouloir faire un jeu, c’est chouette. Vouloir faire un jeu comme Ogame, c’est chouette… quand tu as plusieurs années de développement derrière toi. Par contre, faire un jeu sur navigateur, c’est faisable même pour quelqu’un qui débute (surtout que d’après ce qu’on peut voir, tu débutes dans le Web mais pas dans la prog).

Après le web c’est vaste. Et si il y a encore 5 ou 6 ans les jeux sur navigateur se faisaient globalement avec PHP, ce n’est plus vrai désormais. Il y a tout un tas de technos qui permettent aujourd’hui de faire des jeux, notamment en JS. Cela dépend aussi du style de jeu. Bon perso je suis développeur Symfony, j’aurai donc tendance à te le conseiller ; mais je travaille pour ma paroisse (au sens figuré hein), donc ça ne compte pas. D’autant que, il est vrai, Symfony a une courbe d’apprentissage forte, mais ça c’est un peu pour tous les frameworks. Après ceci étant, Symfony sur un CV de développeur Web, ça ouvre des portes ! Et puis sur ZdS, il y a une petite communauté SF qui se ferait un plaisir de t’aider.

Maintenant concernant ton jeu, tu peux faire quelque chose de très simple : n’importe qui peut s’inscrire et se créer un personnage. Chaque personnage a un niveau, des points d’XP, de vie et de force. Le joueur peut se connecter toutes les X heures et cliquer sur un lien pour augmenter son XP. Lorsque son XP arrive à X, il gagne un niveau, de la force et des points de vie. Le joueur peut également se battre avec d’autres joueurs, un combat toutes les X heures. À chaque combat, il prend de l’XP, un nombre X en fonction de la force de son adversaire ; il peut en prendre plus s’il gagne le combat. La mécanique du combat est déterminé par la force et la vie de chaque joueur. Tu peux imagine encore plein d’autres choses, comme des armes, etc. Mais dans un premier temps, il vaut mieux faire quelque chose de simple.

C’est je pense un exercice intéressant, qui fait bosser l’orienté objet (enfin si tu décides de le faire en POO, ce que je te recommande). Sincèrement en Symfony (tant qu’à y être, Symfony4) ça peut aller assez vite, les notions à voir ne sont pas poussées (mais encore un fois je travaille pour ma paroisse, mon avis n’est absolument pas objectif).

En tous les cas, je te souhaite du courage ! :)

+1 -0

Salut,

Je ne vais pas reprendre ce qui a été déjà dit, c’est une bonne idée.
En revanche, comme John l’a dit, si tu dois utiliser Symfony, autant utiliser les versions actuelles (3.4 pour la LTS, 4.1 sinon). La version 2.8 est un peu vieille et ne bénéficiera plus de correctifs pour les bugs à partir de novembre cette année.
Reste à voir si tu veux utiliser un framework ou non, ce qui d’un point de vue professionnel est peut-être préférable.
Néanmoins, il est vrai que Symfony nécessite un apprentissage assez conséquent et impose une certaine discipline dans l’organisation en particulier, ce qui est bien pour les projets d’envergure et / ou le travail en équipe, mais qui induit une certaine lourdeur pas toujours facile à supporter quand on travaille seul.

Il y a également d’autres frameworks PHP peut-être moins contraignants / plus facile à prendre en main comme Laravel (ou son homologue Lumen qui partage les mêmes bases mais qui dispose de moins de fonctionnalités), ou bien CodeIgniter.
C’est à vérifier, mais je pense qu’ils sont peut-être moins bien valorisés / demandés sur le marché de l’emploi (en France).

Bref, peu importe le choix que tu feras, ce sera probablement un peu long et pas toujours facile mais intéressant et formateur, donc n’hésite pas à te lancer ! Bon courage. :)

P.S.: Je ne sais pas si tu y as déjà songé, mais participer à des projets open source est également enrichissant, tant personnellement que professionnellement.

Merci à tous pour vos réponse !

Effectivement john le petit jeu que tu décris est un entrainement intéressant. Je note l’idée pour plus tard si je veux me lancer sur un framework ! Après pour l’utilisation de symfony, je doute encore, je ne suis pas incroyable en web et je rame à comprendre la doc sur l’utilisation de PDO pour les requête SQL. Donc il est possible que je me traine des heures et des heures sur la doc de symfony sans arriver à avancer :(

Merci pour toutes les informations sur les frameworks Mysterri1 ! Effectivement CodeIgniter m’a l’air plus accessible que symfony. Je n’ai jamais travaillé sur des projets open source car je ne pense pas avoir le niveau pour. D’où mes petits jeux d’entrainement =)

Je pense qu’en France (mais peut-être n’es-tu pas en France), le framework PHP le plus demandé est Symfony. Doit ensuite venir Zend.

L’avantage d’un framework, c’est qu’il a bien souvent un ORM, c’est à dire une couche d’abstraction pour la BDD. Pas besoin de maîtriser (ni même de comprendre) PDO pour faire appel à une BDD.

Dans Symfony par exemple, tu peux faire ceci :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
<?php


$doctrine       = $this->getDoctrine(); // Je récupère Doctrine, l'ORM de Symfony
$userRepository = $doctrine->getRepository('AppBundle:User'); // Je récupère le Repository de mon entité User

$allUsers = $userRepository->findAll(); // Je récupère tous les utilisateurs
$user     = $userRepository->findOneBy(['name' => 'mytomy']); // Je récupère l'utilisateur dont le nom est "mytomy"

$otherUsers = $userRepository
    ->createQueryBuilder('u')            // Sélectionne tous les user
    ->andWhere('u.enabled = :enabled')   // Dont le compte est activé
    ->setParameter('enabled', true)
    ->andWhere('u.country != :country')  // Qui ne sont pas en France
    ->setParameter('country', 'france')
    ->orderBy('u.lastLogin', 'DESC')     // Trié par dernière connexion décroissante
    ->getQuery()
    ->getResult()
;

C’est globalement facilement compréhensible, et tu peux évidemment aller beaucoup plus loin. Et c’est bien sûr sécurisé. Et si une faille est trouvée, le framework sera mis à jour.

Je sais qu’un framework ça fait peur, mais je t’incite vraiment à en choisir un (celui que tu préfères en fonction de tes objectifs et de tes goûts) et à développer avec. Au début un petit site, genre un blog tout simple, avec uniquement un système de news et de commentaires, et par la suite quelque chose de plus complexe. C’est vraiment en faisant qu’on apprend. Je ne compte plus le nombre de projets que je n’ai pas terminés, mais qui au final m’ont énormément appris.

+0 -0

Il n’y a pas de prérequis pour faire de l’opensource et à bas niveau ça va te permettre de te faire "corriger" ou d’avoir des conseils sur les choses à faire ou ne pas faire.

Je n’ai pas voulu t’influencer mais je suis du même avis que John, pour le même temps de travail, un jeu de gestion avec un personne sera plus rapidement jouable qu’un jeu de gestion de type ogame. Outre l’aspect de la programmation sur Ogame, tu as toute l’aspect level design à concevoir (sur ton cahier des charges). Tu dois concevoir les prérequis, bâtiments, unités, type d’unités, ressources, inventaires, équilibrage de chacune des unités/bâtiments, les combats, etc… Après tu as des jeux comme Waar.me moins complexe.

Pour Symfony, il me semble que c’est la version 4. Quand tu le mets en pratique c’est beaucoup plus simple à comprendre et à apprendre. Pour l’avoir utilisé je te le conseille, je garde un très bon souvenir de Twig (moteur de template) et la structure du code de Symfony c’est très bien pensé. Par contre utilise le sur un disque SSD ou avec OPcache (si je ne me trompe pas de nom), sinon tu risques d’obtenir un temps de chargement des pages monstrueux lors de ton dev. J’avais arrêté d’utiliser Symfony à cause de ça. Je ne pensais pas que le temps de lecture du disque pouvait influencer autant le code mais ça a été vite réglé en utilisant OPcache.

Je te conseille de lire tranquillement tout le book d’un trait puis de commencer à programmer quitte à revenir sur un passage. Leur anglais est assez simple à comprendre (tu as aussi le book de Symfony en français).

L’avantage de Symfony c’est qu’il est complet et te propose une structuration du code et si tu l’as suis correctement et que ton projet grossis, tu devrais pouvoir te retrouver facilement dans ton code.

Par contre utilise le sur un disque SSD ou avec OPcache (si je ne me trompe pas de nom), sinon tu risques d’obtenir un temps de chargement des pages monstrueux lors de ton dev. J’avais arrêté d’utiliser Symfony à cause de ça. Je ne pensais pas que le temps de lecture du disque pouvait influencer autant le code mais ça a été vite réglé en utilisant OPcache.

A-312

Ça peut être vrai si tu passes par une VM. Perso je suis sous Linux, et j’ai des temps de réponses "normaux", 200 ms environ.

+0 -0

J’ai bien fait de venir demander, vous m’avez convaincu :p

Du coup je vais essayer de me lancer sur Symphony4, si je passe du temps à apprendre un framework, autant qu’il soit le plus joli possible sur le CV ;) Au final je vais faire le petit jeu que tu proposais john avec quelque différence. Merci à tous en tout cas ! Doit-je clore le sujet ?

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