Disponible
Accueil blog

Etude de cas : Citania - jeu de simulation

image de l'article

Etude de cas : Citania - jeu de simulation

image de l'auteur

Publié le 10/10/20 à 17 h 17

Description du projet :

Citania est un jeu de simulation de vie sur navigateur (adapté sur navigateur mobile/tablette également) de type role-play, en même temps qu'un réseau social permettant de se mettre dans la peau d'un personnage au coeur d'une ville tout en développant une histoire, il est possible à travers ce jeu d'effectuer plusieurs actions comme : avoir un métier (Avocat, Policier, Médecin, Hackeur, Voleur, Président etc...), interagir avec la communauté des joueurs, avoir des enfants, une famille, se marier, jouer au loto, avoir une maison personnalisable et beaucoup d'autres choses à découvrir !





But du projet : 

 Le but concernant la réalisation de ce projet était surtout pour me permettre de pratiquer et de travailler sur un projet de A à Z, gérant le front, le back, le design et la conception etc..
Ce projet m'a permis de mettre en pratique les connaissances que j'ai acquises lors de ma formation développeur web et web mobile chez  Oclock , ainsi que d'apprendre de nouvelles choses, de nouveaux concepts, nouvelles technologies.
Le projet n'est bien sûr pas finalisé simplement, car c'est un projet qui demandera toujours à évoluer et gagner en fonctionnalité.
En l'état actuel du projet, j'estime avoir déjà beaucoup appris avec le travail effectuer sur le site.

Les technologies :

Le projet a été réalisé avec le framework Symfony 4 pour la gestion du back et de la majorité de l'affichage des templates.
MySQL pour la base de données.
J'ai également utilisé VueJs 2 qui m'a été beaucoup utile pour mettre en place divers composants plus réactifs dans mes templates twig comme par exemple l'affichage de la liste des utilisateurs qui sont connectés avec son petit système de filtrage, la date qui se met à jour en temps réel, les barres de santé du joueur, etc...
J'ai également utilisé pas mal de dépendance Javascript comme AOS (une librairie pour des animations de base), slick pour le slider de la page d'accueil par exemple.

Les difficultés :

Commencant ce projet que deux mois et demi après la fin de ma formation les débuts étaient forcément un peu compliqué, je passais beaucoup de temps pour de petites fonctionnalités.
Certaines fonctionnalités ont demandés que je réfléchisse pas mal en terme d'algorithmes pour avoir quelque chose qui fonctionne et qui soit le plus optimisé possible à mon niveau.
Par exemple le genre de fonctionnalités qui m'ont donné du fil à retordre :
- la messagerie entre les joueurs ( une des premières fonctionnalités du site, si je devais la recommencer aujourd'hui je ferais autrement).
- le script qui permet de valider un examen pour la fin des études d'un joueur.
- le jeu de blackjack pour la partie casino du site.

Tous ces problèmes m'ont demandé plusieurs jours de réflexion et de développement chacun, mais du coup c'est super parce que ça permet de pratiquer la résolution de problème plus ou moins complexe, y'a également un sentiment de satisfaction qui en ressort quand on termine une fonctionnalité du genre.


messagerie : 
image messagerie citania


Conclusion :

C'est mon premier gros projet que j'ai fait en solo, ça m'a permis de gérer un projet dans son entièreté de la conception à la réalisation. Je me suis beaucoup amusé à réaliser ce projet entre la fierté et les prises de tête !
A l'heure actuelle je ne développe pas de nouvelles fonctionnalités dessus pour le moment, uniquement parce que je souhaite travailler sur de nouveaux projets/de nouveaux challenges.
C'est est un projet qui m'a permis de pratiquer beaucoup de choses et je le garderais en tête de cette façon.
Bien entendu de temps en temps je ferais surement de petites fonctionnalités pour continuer à faire évoluer ce petit projet !

Le code :

Si vous souhaitez voir le code du projet, il est disponible sur un repo public sur github :

Github - citania-public

Merci pour la lecture !