ApocalySpace, jeu en ligne Open-Source : le retour !

Répondre
Partager Rechercher

http://apocalyspace.ownweb.fr/head.png

APOCALYSPACE VERSION 1

Sortie officielle cet été 2013

- Découvrez-nous et partagez sur Twitter -


Bonjour à tous !

Amis joueurs, amis développeurs, vous l'avez attendu et espéré : le voilà ! (bon riez-quoi, on peut bien rêver un peu)


ApocalySpace - jeu que certain d'entre vous avaient découvert l'année dernière ici-même - est de retour pour sa sortie définitive dans sa version 1 !
Pour ceux qui ne se souviennent pas ou qui veulent se rafraichir la mémoire et comme je suis votre humble serviteur, je vous laisse savourer notre phrase d'accroche spectaculaire :

Citation :
ApocalySpace est un jeu en ligne jouable gratuitement et directement sur votre navigateur web mêlant stratégie et gestion dans l'espace.

Vous pouvez dés maintenant aller lire sur notre site internet la description précise du projet et voir les bonus de celui-ci:
les origines du projet, ses réussites, notre équipe ...



Hier, la consécration
Le lancement de la BETA en début Juin 2012 était avant tout programmée pour nous permettre de faire connaitre le jeu pour le jour de sa sortie, cependant nous avons été surpris par l'engouement général des joueurs. En effet, ce n'est pas moins de plus de 200 joueurs qui ont participé à la BETA en seulement quelques semaines, alors que personne ne connaissait notre petit projet !
Aujourd'hui, la reprise
Fin Juillet 2012 nous avons présenté notre projet à un jury et plié bagages pour les vacances. Le jeu était malheureusement incomplet puisque la gestion des factions manquait encore et les combats étaient capricieux. C'est pourquoi j'ai repris aujourd'hui le développement pour sortir cette version stable sur laquelle vous naviguerez prochainement : la version 1 d'ApocalySpace.
Je développe cette version depuis Septembre 2012 et je prévois de la terminer pour l'été 2013.
La particularité de cette version est qu'elle est entièrement développée en programmation orienté objet sous PHP5.
Photos ? Avancement ?
Ça ce passe sur Twitter !


Gameplay : Histoire
Forcé de fuir votre planète natale, vous incarnez le nouveau dirigeant d'un groupe de survivant qui vient d'établir une nouvelle colonie sur une planète de ce nouveau système planètaire. Ces années d’errances vous ayant fait perdre la quasi-totalité de votre savoir, votre peuple a besoin de vous maintenant pour repeupler cette planète et faire revivre votre civilisation !
Gameplay : Fonctionnalités
ApocalySpace est un jeu en ligne jouable par navigateur internet.
Combinant les dernières technologies du web, ApocalySpace est un jeu multijoueur persistant permettant à différents joueurs de jouer ensemble sur un même serveur !
Gameplay : Jouabilité
Profitant d'une communauté soudée, ApocalySpace vous permet d’interagir avec n'importe quel joueur présent sur nos serveurs : communications, commerces et attaques ; constructions, recherches et gestion seront votre quotidien !
ApocalySpace se démarque principalement des autres jeux du genre par son système démographique (chaque habitant à un rôle précis) et par son système de personnalisation de vaisseaux totalement libre !
Gameplay : Durée de vie
ApocalySpace est basé sur un système de factions, au nombre de trois, qui peuvent de temps en temps rentrer en guerre entre-elles, offrant alors de nouvelles fonctionnalités (comme le génocide des populations adverses) aux joueurs. La fin du serveur arrivera donc le jour ou une faction aura pris le pouvoir : par la voie démographique, technologique ou militaire ...
Gameplay : Factions
La galaxie est dominée par trois factions, chacune ayant des intérêts et des idéaux différents.
- Les Impériaux sont ceux qui se rapprochent le plus d'un empire totalitaire où l'ordre est signe de progrès.
- Les Vagabonds forment un peuple libre, sans lois ni règles, où la discorde rime avec la fraternité de ses partisans.
- Les Républicains se regroupent sous une bannière démocratique, où la loi règne en maitre pour assurer l'avenir du peuple.

Chaque faction possède un avantage et un inconvénient (militaire, productif ou démographique).
En choisissant votre faction, vous rejoindrez les joueurs se battant pour sa suprématie : à vous de les aider dans ce combat !


Qui sommes-nous ?
Très bonne question ! ApocalySpace est un projet créé à l'origine par 3 étudiants de l'école IN'TECH INFO basé sur Paris (une école d'informatique). Aujourd'hui je suis désormais seul (pauvre de moi ^^') mais comme j'étais à l'origine du projet et que j'ai une grande expérience dans le développement web je pense m'en sortir en un seul morceau
Le seul souci qui pourrait être un frein au projet serait de ne pas avoir assez de temps à lui consacrer, puisque je le développe sur mon temps libre, le reste allant à mon école et mes autres projets persos !
Mais pas d'inquiétude, c'est pas comme si je reprenais tout du début : les 3/4 sont déjà faits !
Quand est-ce qu'on pourras y jouer ?
Je pense être capable de sortir la première version stable pour cette été (Juillet-Aout). Elle sera suivie d'un mois de correction intensive pour un lancement définitif (je l’espère) pour Septembre 2013 !
Comment ça va se passer ?
Le but de ce projet n'est pas en soit-même de sortir un unième jeux en ligne, mais plutôt de permettre à d'autre de faire pareil, ou du moins de comprendre le fonctionnement de la création d'un jeu en partant de zéro. L'idée du projet à toujours était d'apprendre et de consolider mes bases tout en partageant ce travail avec d'autres développeurs !

En raison de la participation très sympathique qu'on a eu l'année dernière, c'est vers votre portail que j'ai décidé de focaliser ma promotion. Vous serez donc les seuls à me donner des ordres

Si je me souviens bien il existait un DevBlog ?
Oui, et il existe toujours ! Je compte le remettre sur pied et le tenir à jour à chaque gros morceau de développement, il fera ainsi office de documentation pour le projet et remplira à merveille le rôle de "professeur" !
Comment suivre et aider le projet ?
En plus de ce forum, vous pouvez me suivre sur Twitter : follow and share it!



Merci d'avoir lu jusqu'ici, j’attends avec impatience vos réactions !

Julien Bernard
Software Developer - En savoir plus sur moi ?


Dernière modification par te8teur ; 30/04/2013 à 18h54.
Hum, un conseil ne diminue pas trop la police d'écriture sur le post de présentation

Sinon, l'image de l'interface est très design et cela a l'air chouette. Cependant j'ai peur que cela ne soit pas tout ergonomique. Mais bon c'est qu'une intuition, on verra bien à la release

Bon courage en tout cas, toujours difficile ce genre de projet.
J'ai cliqué car le "open-source" m'a rendu curieux mais j'ai pas trouvé le lien vers le repo github.

Y a pas de lien dans ce post, et le seul lien github que j'ai trouvé sur le site ne contient pas le jeu.

Je l'ai raté?
Salut à tous,

Le lien GitHub est là : http://apocalyspace.ownweb.fr/ (voir les notes en bas de la page).
Pour le moment c'est assez vide puisque j'en suis encore à la phase d'avant-projet, le code devrait commencer à arriver dans le mois.
Le code de l'ancien ApocalySpace sera prochainement disponible dans une branche à son nom, j'ai dû l'enlever après un petit souci avec GitHub.

@Grahald : Je trouve celle juste en dessus trop grosse, fallait faire un choix ^^
Hier j'ai terminée la maquette HTML et en effet il y avait un léger souci au niveau de la navigation, cependant le site étant totalement responsive design il s'adapte très bien à tous les écrans, de plus j'ai trouvé une petite astuces pour différencier le "menu" du "corps du jeu" ... suspens

Dernière modification par te8teur ; 04/05/2013 à 22h14.
J'ai eu pas mal de "plainte" au sujet du fond qui serait trop blanc, vos idées ?
Du coup je compte passer de white à #ededed par exemple, un blanc légèrement gris.
ce genre de jeu ça s'imagine plutôt avec un fond noir étoilé /bleuté et une police blanc grisé, jaune pale, vert clair...
noir sur blanc ça fait pas très "jeu".
mais si je peut me permettre, t'es en train de te prendre la tête pour des futilités, commence par avoir la base du jeu, tu fera le css une fois que le jeu sera jouable...

couche tout le game design "sur papier" puis montre le nous; on aura un avis plus intéressant à donner que simplement la couleur du fond de l'écran de login. Ensuite fait le. Ensuite amène des béta testeurs. Et enfin prend toi la tête sur le design, ça sers à rien de régler au pixel perfect l'interface alors que tu va certainement avoir des features qui vont bouger pendant tes itérations autour du gameplay.

Dernière modification par Titan. ; 06/05/2013 à 01h33.
Salut Titan,

Totalement d'accord avec toi, d'ailleurs je te ferais remarquer que je suis toujours dans la phase d'avant-projet. La maquette n'est là que pour voir si c'est réalisable, ça ne sera pas la définitive forcément.

Cependant je ne pense pas qu'il soit futile d'en discuter dés maintenant, surtout que je demande votre avis il faut bien adapter selon les remarques.

Et puis, ça me prend 2 minutes à changer ce genre de chose, ce n'est pas comme si j'y passais ma journée

Je posterais les documents d'avant-projet (contenant la charte du projet, la charte graphique et les spécifications notamment) en fin de semaine prochaine si tout va bien (le week-end de la semaine suivante si ça va mal ^^).

Je compte sur vous pour me dire alors ce que vous pensez de l'idée générale.

Ps : je tiens à rappeler que le jeux a déjà été créer, ici je développe une autre version, plus poussée et ayant un but sur le long terme plus imagé, vous pouvez donc déjà voir ce qui a été fait ici !
On doit souvent te poser cette question mais :
-Quel est l'intérêt de partir dans ce domaine, le jeu navigateur online sur un univers spatial, c'est un segment qui a été over-visité et a fait son temps?

Bonne chance pour ton projet.
Citation :
Publié par Loka
On doit souvent te poser cette question mais :
-Quel est l'intérêt de partir dans ce domaine, le jeu navigateur online sur un univers spatial, c'est un segment qui a été over-visité et a fait son temps?

Bonne chance pour ton projet.
Salut Loka,

Bah pour tout te dire, tu es le premier à me dire ça ^^

La première réponse qui me vient à la tête est bien sûr le fait que j'aime ce type d'univers, mais ça fait limite cliché donc je vais développer ça.
Le but premier d'ApocalySpace a toujours été d'apprendre. A l'époque (+1 an déjà) nous avons créer ce projet pour notre école, c'était donc à but pédagogique. Aujourd'hui encore, j'ai repris ce projet de zéro pour me remettre à niveau en orienté objet sur PHP5.

Un deuxième facteur important qui m'a poussé à continuer l'aventure sur ce projet et pas un autre, c'est que j'ai eu beaucoup de retour positif sur ce projet, IRL ou sur le net. Comme dit le proverbe "ne réinventez pas la roue". ApocalySpace a plu, je devais faire un projet complet et intéressant, le choix était donc tout fais.

Je voudrais quand même signaler un petit quelque chose. Tu n'as pas (déduction puisque tu poses la question) participé à l'ancienne version d'ApocalySpace et tu ne connais donc pas son gameplay : ApocalySpace n'est pas un Ogame Like ! Les joueurs qui sont arrivés sur Apo (abr. ApocalySpace) en jouant en mode rush vaisseau à la Ogame se sont pris une grosse claque dans la tronche

Le principe de base du jeu n'est pas novateur, certes (il existe certainement un autre qui utilise le même gameplay, quoi que !), mais il reste attirant et assez différent des autres jeux spatiales que nous connaissons aujourd'hui.

Bref, ça reste du blabla, au final la réputation d'un jeu vient de ces joueurs, la dernière on à eu 200 joueurs dont 150 pleinement satisfait et qui en redemander : je ne fais que leur répondre "j'arrive !".
Citation :
Publié par te8teur
Comme dit le proverbe "ne réinventez pas la roue".
C'est pas un peu ironique d'utiliser cet argument après avoir passer toute ta soirée d'hier sur un framework MVC simpliste qui a déjà été écrit 1000 fois de façon strictement identique?

Perso je trouve ça un peu dommage de communiquer sur l'aspect open-source du jeu et de ne pas jouer le jeu de la communauté open-source en ré-utilisant les projets existants faisant déjà le boulot dont tu as besoin.

Ca déconne aussi dans le sens inverse, si tu revendiques un jeu open-source, c'est aussi pour que les joueurs avec des connaissances en PHP puissent contribuer non? Si tu utilisais un framework robuste et populaire existant, n'importe qui pourrait simplement et rapidement te proposer des pull request. Là faut passer par une phase d'apprentissage de ta solution custom, tout le monde y perd, toi le premier je pense.

En plus, je trouve que du coup, ton idée de hackathon live-bloggué (que j'aime bien hein) en prend un coup au passage, ça serait plus rigolo à suivre si tu codais le jeu plutôt qu'une énième classe pour faire des requêtes dans MySQL.
Salut Nikkau,

Mes propos sont en effet totalement contradictoire avec l'approche du système. Le fait est que j'ai décidé de remettre à jour l'un de mes vieux moteurs avant tout pour me remettre à la poo en php. En effet même si je code plutôt bien en Java ou encore en C#, l'objet PHP5 n'est pas tout à fais pareil, ainsi je ne voulais pas commencer à coder le jeu (ce qui entre autre, est déjà fais ...) sachant que je n'avais pas encore les bases requises pour ce travail.

Du coup, l'utilisation d'un moteur déjà existant, bien plus fiable et robuste que le mien je te l'accorde, n'est pas au goût du jour. Le but n'est pas d'apprendre à maitriser Symphony, mais d'apprendre la POO PHP, nuance

Citation :
Ca déconne aussi dans le sens inverse, si tu revendiques un jeu open-source, c'est aussi pour que les joueurs avec des connaissances en PHP puissent contribuer non?
Oui et non. Mon projet est sous licence libre car ce projet est (je me répète encore) un projet d'apprentissage pour moi. Je partage donc mes découvertes. Ce code va évoluer au fur et à mesure de l'avancement du jeu. Le principe de github, le blame (si tu connais) intervient alors : si un jour, quelque trouve une faille, une erreur ou une idée d'amélioration il pourras me le notifier.

Ça avait fonctionné ainsi l'année dernière, j'avais par exemple oublié de protéger un champ text, un dév m'a alors gentiment RickRolled ^^

Citation :
En plus, je trouve que du coup, ton idée de hackathon live-bloggué (que j'aime bien hein) en prend un coup au passage, ça serait plus rigolo à suivre si tu codais le jeu plutôt qu'une énième classe pour faire des requêtes dans MySQL.
Là par contre je ne te suis pas, si tu as bien lu l'article :
Cliquez ce bouton ou survolez le contenu pour afficher le spoiler
Le but est simple : de temps en temps (en week-end), je proposerais 24h de développement « en live » sur le compte Twitter et sur ce blog (catégorie ApocalySpace, of course) pour développer une fonctionnalité importante du projet ou une fonctionnalité que vous joueurs souhaiterais voir apparaître dans le jeu.


En tous cas merci de ton avis !
Citation :
Publié par te8teur
Du coup, l'utilisation d'un moteur déjà existant, bien plus fiable et robuste que le mien je te l'accorde, n'est pas au goût du jour. Le but n'est pas d'apprendre à maitriser Symphony, mais d'apprendre la POO PHP, nuance
Je comprends ce que tu veux dire mais je pense que tu fourvoies complètement, écrire des classes t'apprendra autant à maîtriser la POO que construire toi-même ta voiture t'apprendra à conduire.

Tu apprendras bien plus de choses utiles en utilisant les classes bien foutues de Symphony qu'en faisant les tiennes. Surtout qu'il semble que Symphony abuse des DI Container.

Accessoirement, sans rien faire, tu y gagnes en perf' et en sécurité.

Citation :
Publié par te8teur
Ça avait fonctionné ainsi l'année dernière, j'avais par exemple oublié de protéger un champ text, un dév m'a alors gentiment RickRolled ^^
Du coup, t'avouera que ça serait quand même plus sympa pour tout le monde que lorsqu'une faille est découverte, on te le fasse remarquer sous forme de soumission de patch plutôt qu'un exploit non?
Citation :
Du coup, t'avouera que ça serait quand même plus sympa pour tout le monde que lorsqu'une faille est découverte, on te le fasse remarquer sous forme de soumission de patch plutôt qu'un exploit non?
Pas dans ce cas là, c'était un ami à moi qui me l'avait fait, pour le fun

Citation :
Tu apprendras bien plus de choses utiles en utilisant les classes bien foutues de Symphony qu'en faisant les tiennes. Surtout qu'il semble que Symphony abuse des DI Container.
Alors là je ne suis pas forcément d'accord avec toi. Ce n'est pas en utilisant Symphony que je vais m'améliorer en POO : c'est en analysant le code et en apprenant de nouveaux trucs que je connais pas !

Mais sur la base je suis d'accord avec toi, ce n'est pas en restant dans son propre code qu'on s'améliore. Mais je ne fais pas ça ... donc ça va ^^
Citation :
Publié par te8teur
Pas dans ce cas là, c'était un ami à moi qui me l'avait fait, pour le fun
Après, si vous avez un petit concours entre vous, soit, mais dans l'absolu, même venant d'un pote, je crois que la majorité des gens préfèrent le patch au rickroll .

Citation :
Publié par te8teur
Alors là je ne suis pas forcément d'accord avec toi. Ce n'est pas en utilisant Symphony que je vais m'améliorer en POO : c'est en analysant le code et en apprenant de nouveaux trucs que je connais pas !
Je pense que tu as une image faussée de Symphony pour dire ça, ce n'est absolument pas une grosse boîte noire magique qui fait à ta place sans que tu ais besoin de comprendre, bien au contraire.

Passés les trucs de bases que tu es justement en train de recoder (genre input sanitization), tu passeras plus de temps dans le repo de Symphony que dans sa doc.


Maintenant, je veux pas faire le relou, c'est un projet fun pour apprendre, pas pour manger, que tu dev' sur ton temps libre dans l'environnement quasiment le moins productif possible (Windows, Eclipse...) mais c'est vraiment le genre d'outil qui te ferait gagner un max de temps, voir de crédibilité si tu veux le mettre un jour sur ton CV, c'est pas utiliser par des pros tous les jours pour rien.

C'est d'autant plus une perte de temps si comme tu le dis tu codes plutôt bien déjà en Java et C#.


Rien à voir mais en passant, je suppose que tu débutes juste avec Git et que tu as jamais bosser en équipe avec? Tes commits sont ultra fat et font régulièrement plusieurs trucs.

Un conseil, essaye de les rendre plus atomiques, un commit ne doit jamais faire 2 trucs et idéalement ne modifier qu'un seul fichier.
Même si tu veux juste corriger une typo ou rajouter un s dans un readme, ça mérite son propre commit pour garder un historique clair.


Sur ce, j'arrête le quote war .
Citation :
Maintenant, je veux pas faire le relou, c'est un projet fun pour apprendre, pas pour manger, que tu dev' sur ton temps libre dans l'environnement quasiment le moins productif possible (Windows, Eclipse...) mais c'est vraiment le genre d'outil qui te ferait gagner un max de temps, voir de crédibilité si tu veux le mettre un jour sur ton CV, c'est pas utiliser par des pros tous les jours pour rien.
Alors là je suis d'accord, Eclispe PHP c'est vraiment la merde ^^ Pour Symphony, oui c'est un framework très prisé par les entreprises, j'en convient.

Citation :
Rien à voir mais en passant, je suppose que tu débutes juste avec Git et que tu as jamais bosser en équipe avec? Tes commits sont ultra fat et font régulièrement plusieurs trucs.
Totalement d'accord avec toi, j'ai seulement un style d'upload massif au début d'un projet. Là c'est la base de chez base, je ne me fais pas ch**r à tout envoyer 1 par 1, j'envoie le bloc direct. C'est mal je sais, mais la flemme totale ^^ Dans le futur, bien sûr que j'utiliserais Git convenablement

Citation :
j'arrête le quote war .
Oh bah non c'était intéressant comme sujet ! Merci à toi.
C'est Symfony et non Symphony

Sinon je plussoie Nikkau dans le sens où réaliser un projet rime avec utilisation d'un framework (dans 99% des cas). Le seul soucis, c'est que ça demande un temps d'apprentissage, mais une fois que tu maîtrises un peu l'outil (et la doc de Symfony 2 est vraiment bien foutue), tu te dis : mais pourquoi j'ai pas utilisé ça plus tôt !

Franchement, un framework, c'est magique quand tu le comprends bien, et t'as du mal à le lâcher ensuite. Ça accélère juste de 200% ton développement, et ça t'assure un code robuste, maintenable, modulaire, ... Bref la joie quoi. Surtout avec la grosse communauté autour qui te fournit tout un tas de modules (les "bundles") et qui t'évites de te taper les parties chiantes de ton projet (la partie user par exemple, avec toute la sécurité qui va avec).

Pour résumer, t'as vraiment tout à y gagner en exploitant un framework comme Symfony, et c'est se freiner pour rien que de rester à du PHP brut.
Citation :
Un framework, c'est magique !
Je développe sous Android, Java et C# quotidiennement : t'inquiètes, je sais ^^

L'idée générale d'un framework est de simplifier la vie du développeur, certes, mais ce n'est pas ce que je recherche. Dans le cas d'un jeu en ligne, l'utilisation d'un framework tel que Symfony (merci de la correction) ou Cake n'est pas - pour ma part - intéressante.

Et puis le PHP reste encore un langage assez libre sur ce point de vue, j'en profite encore un peu. Tôt ou tard, je passerais bien à un framework PHP ... si ce langage persiste encore dans les années qui arrivent

Sur ce, j'annonce la fin officielle du Hackathon ApocalySpace #1 !!
Retrouvez tous les liens ci-dessous :

Et enfin :



Merci à tous pour votre participation. Je vous dis à la prochaine pour de nouvelles aventures !
Bonjour à tous,

Je viens d'améliorer le moteur, il est désormais full-object. Que pensez vous de mon implémentation d'interface pour la configuration du moteur (engine + template) ?

Liens :
Dépôt GitHub, répertoire SpaceEngine => lien
"Interfaces et surcharges : PHP5, t’es pas à jour !" => lien
Ouah, cela faisait un petit moment que je n'étais pas revenu ici
Les vacances sont finies et le travail reprend !

Je vous invite à jeter un coup d’œil sur les mise en page suivantes :
- Informations Planétaire : ici
- Recherches Technologiques : ici
- Usine d'assemblage (en cours) : ici
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés