salut!
je viens presenter mon premier jeu, enfin c'est qu'a l'etat de projet actuellement : je suis actuellement en Terminale S SI avec spe ISN, et c'est ce jeu que je vais presenter la semaine prochaine pour mon projet d'ISN.
malgre le fait que ca soit un travail scolaire a la base jusqua maintenant j'ai toujours pris du plaisir a le faire et ca m'a deja permis d'apprendre beaucoup de choses, d'ailleurs je compte pas m'arreter ici
pour la petite histoire, je me suis mis serieusement a la programmation en decembre/janvier dernier, avant ca j'avais fait un mois de decouverte sur unity mais j'ai prefere tout faire moi meme, donc j'ai appris le C++ sur le net puis j'ai commence a utiliser la SFML et j'ai reelement commence ce projet il y a 3 mois environ.
en ce qui concerne le code, j'ai fait un Entity Component System (merci a LGV de me l'avoir fait decouvrir), il y a un rendu en profondeur pour faire un effet de top-down, des collisions, de la recherche de chemin pour les ennemis (inspire de l'algo A*)...
j'utilise aussi des scripts en lua pour la definition des entites, chaque entite est definie dans un fichier externe, par exemple le fichier pour un arbre ressemble a ca :
tree = {
Render = {
filename = "tree.png",
texCoords = {0,0,85,106}
},
CollisionBox = {
size = {40,30}
}
}
c'est une entite tres basique, comme on peut le voir il y a juste un sprite et une collision box.
vous pouvez jeter un oeil dans les scripts des entites (au niveau data/scripts) pour voir un peu comment ca marche si vous etes curieux
apres bien sur j'ai une tilemap pour faire le sol, qui est aussi dans un fichier externe
je ne vois pas quoi d'autre dire du cote technique, mais j'oublie surement pas mal de trucs donc si vous avez une question n'hesitez pas
je vous laisse une video pour vous montrer a quoi ca ressemble
https://www.youtube.com/watch?v=Nxp3vlJgCPM
et un lien de telechargement de la version actuelle pour ceux qui voudraient tester :
https://drive.google.com/file/d/0BzQhrgrfZB4uNHRuR2V3UFNMc3c/view?usp=sharing
je serais aussi ravi d'avoir des feedback sur ce qui est bien/pas bien, des suggestions eventuelles...
merci!
Cela peux paraitre bête, mais le son... il est où le son ?
Non c'est du beau beau boulot, surtout pour un Terminal. Je te conseil de bien commenter ton code.
(Ça se trouve ton lecteur ne connait rien du C++)
Fait gaffe au fautes dans tes fichier scripts :
flyingText.lua :
Text = {
content = "tamer",
charSize = 10,
color = {255,255,255,255}
},
c'est "Timer" plutot non ?
Bon par contre la vie du joueur est un unsigned int apparemment ce qui fait quand la vie de ton perso passe sous 0, la vie devient positif... c'est une erreur courante de débutant qui pourrait te porter préjudice, pour quelqu'un qui as autant bosser.
Un Peu HS : mais sinon la spe ISN , c'est en plus de l’électronique et mécanique de la Spe SI ?
alors pour l'histoire du son oui, y'a encore rien a ce niveau la mais je vais integrer ca, ca devrait pas etre bien complique (musique de fond + bruitages), c'est la prochaine etape apres quelques modifs qu'il me reste a faire
sinon pour l'erreur dans le script que tu me signale c'en est pas du tout une, "tamer" c'est le texte de base qui est mis a la creation de l'entite, je l'utilisais pour faire des tests cependant je le change directement par un nombre(quand des degats sont subis) mais du coup merci de ta remarque, j'avais oublie de l'enlever
pour ce qui est de la vie du joueur, petite reponse en image (j'ai pas modifie le code!) :
tu parles par rapport au fait que lorsqu'on meurt, la vie reste sur 10 je suppose ?
j'ai pas encore totalement implemente ce qu'il se passe a la mort du joueur, et lorsque le joueur meurt sa vie est a 0 et non a -10, c'est juste que ca passe directement au menu de mort sans mettre a jour le texte, mais je m'occuperai de ca
oui c'est en plus, en fait SI c'est une spe que tu prends des la premiere, ca remplace l'SVT (alleluia) et l'ISN c'est une spe comme une autre que tu prends en terminale.
merci pour ton retour!
Non quand le joueur apparait et prend des dégâts de collision des ennemies, sa vie passe de 30 a 99999989.
Et merci de l'info pour ISN, c'est tout nouveaux de mon temps la SI venait juste d'apparaitre... 18 en electro et 02 en meca... ptin les torseurs !!! et les dessins je foirais tout !!
L’Éducation National a chaque fois il font un truc bien, il le défont aussitôt avec de la merde pour compenser
oh bah tiens je crois que je suis bien parti pour faire la meme chose, en elec j'ai toujours eu des super notes sans rien faire (c'est de la logique quoi) tandis que meca j'ai decroche depuis des mois...
ah d'accord! c'est normal en fait, dans le script player tu peux voir la vie que j'ai mis c'est a 99999999, c'etait pour avoir une vie infinie en faisant des tests mais j'ai oublie de remettre a la normale (et en vrai je sais pas vraiment a combien mettre, 50 ? 100 ? combien de coups pour tuer un ennemi ? je pensais a 3).
de toute facon il y a quelques trucs qu'il faut que je change, donc je m'en occuperai et posterai un update
Ton implémentation de l'ECS a l'air assez clean Tu utilises quel binding Lua ?
Biolixe : j'utilise luabridge, c'est vraiment le top je trouve; tres facile d'utilisation
whiteapplex : je vois pas vraiment ce que ca apporterait de plus d'ajouter un axe Z, tu peux me donner un exemple?
bon sinon du coup j'ai fait quelques modifications, principalement reglage de quelque bugs mais aussi du spawn des ennemis : maintenant ils apparaissent au hasard entre certaines positions, contrairement a avant sur un seul et meme point
la map est un peu plus meublee mais c'est pas encore complet
maintenant je vais me pencher sur l'integration du son !
ah et j'ai essaye les deplacements en diagonale white comme tu m'as conseille, pour le moment c'est que sur le joueur c'etait pour voir un peu ce que ca donne, donc dans la nouvelle version on peut se deplacer en diagonale!
normalement il ne devrait y avoir aucun bug que ce soit d'affichage ou quoi que ce soit d'autre
vous pouvez telecharger la derniere version en reprenant le premier lien de telechargement
ouais je vois, ca permet d'accentuer l'effet de profondeur, ca peut etre sympa mais je vois pas quoi en faire pour le moment et de toute facon je me concentre sur d'autres choses actuellement
l'audio est en train d'arriver dans le jeu !
tout ce qui est son du menu est fini et implemente (dispo dans l'update), et le son en jeu va arriver aussi
bon beh voila, la toute premiere version est a peu pres complete!
l'audio dans le jeu est totalement implente, et j'ai aussi ajoute un systeme de scoring
j'ai des idees d'ajout que je ferai mais la version actuelle est totalement fonctionnelle
je sais pas si ça peut t'aider mais voici un tileset fait par mes soins
pour le moment pas vraiment; les graphismes ne sont pas une priorite et de toute facon c'est pas moi qui suis en charge de ces derniers.
2 rajouts principaux dans cette version (qui est donc la derniere avant la presentation de mon projet demain) :
- un systeme de combo quand on met aucune fleche dans le vide, qui permet donc d'avoir un meilleur score
- des powerups, ils apparaissent aleatoirement quand un ennemi meurt, pour l'instant il n'y a qu'un coeur qui permet de regagner 10pv
et comme d'hab amelioration du code, reglage de quelques details/bugs...