Mon futur jeu spatial !
Posté le 23/05/2014 19:26
Bonsoir à tous, je vais vous parler de mon nouveau jeu en Basic, mais en racontant comment il va se passer.
J'arrive enfin dans un système connu : Tixepoxi
Apparemment il y a 3 planètes, une petite et deux grandes.
Je décide d'aller jeter un œil à la plus petite planète : Oxito.
Après un atterrissage réussi, je peux enfin admirer le paysage de cette planète.
Voyant qu'il n'y a pas d'être vivants, je décide d'extraire quelques matériaux, pour les revendre plus tard.
Je décolle d'Oxito, et décide d'aller voir la seconde planète, Omoxi. Coup de chance, celle-ci est habitée, de plus , il y a de l'atmosphère, je vais pouvoir en profiter et aller vendre mes ressources fraîchement récoltés, et au passage aller recharger mon vaisseau avant de repartir.
Pas de chance ! les ressources récoltés se revendent à trop bas prix par ici, peut-être à cause de la proximité de la planète... Bon, je ne vais pas les garder, je les revends quand même, car je n'ai plus de place.
Une fois retourné dans l'espace, je n'apporte pas d'intérêt à aller voir Elate, la troisième planète, et je décide d'aller voir après un autre système.
Après avoir navigué dans plusieurs autres systèmes, sans avoir été attaqué entre temps, je décide de m'arrêter un peu dans le système de Xalepesa.
Emetisy pique ma curiosité, je vais donc aller m'y poser, avant de me rendre compte que la planète était classée dangereuse.
Mais avant de repartir, je pivote un peu pour regarder le paysage, puis je repars vite fait avant d'avoir des problèmes.
Enfin, je décide d'arrêter, je quitte donc le jeu et je referme ma calculatrice.
En bref voici quelques caractéristiques techniques :
+ 100 systèmes uniques non générés aléatoirement, comprenant entre 1 et 4 planètes (et son propre système économique, en gros les exportations/importations majeures/mineures) ;
+ Un total maximum possible de 400 planètes avec chacun son nom, une taille, un paysage différent ;
+ Théoriquement il existe 81 paysages différents ;
- Plusieurs vaisseaux avec capacités différents ;
- De l'équipement pour votre vaisseau ;
- Possibilité d'acheter / vendre / extraire des matériaux des planètes ;
- Possibilité de remplir des quêtes comme amener une personne d'un point A à un point B, etc... ;
- Rencontres avec des pirates, ou encore la police spatiale ;
- Système de réputation (basique) ;
Il faut savoir que certaines actions ne sont pas possibles ou déconseillées, comme attaquer ou extraire sur une planète habitée, ou encore tenter d'acheter/vendre sur une planète inhabitée...
Taille actuelle du programme : ~7000 octets, en comptant une liste de 60 valeurs, et la matrice pour la sauvegarde (pas encore faite), je n'y ai pas compté 3 images parce qu'ils sont peut-être provisoires.
C'est l'un des premier jeux auquel je n'utilise aucun Locate.
en gros dans la liste les "+" c'est ce qui est déjà fait, et les "-" c'est ce qui est à faire.
ça fait un moment que je travaille dessus, et je pense que le projet est assez avancé pour pouvoir commencer à en parler.
Citer : Posté le 06/06/2014 14:31 | #
C'est vrai que j'ai pas fait les lignes en drawstat, car la dernière fois que je m'en étais servi c'était plus lent à afficher que ligne par ligne, d'autant plus que le joueur peux pivoter sur lui même, ce qui demandera à recalculer les points.
Cependant je vais voir quand même si c'est mieux avec.
Citer : Posté le 06/06/2014 14:32 | #
Tu sais que tu peux faire des calculs de masse avec les listes?
Cos a*List 5 -> List1
Sin a*List 6 -> List2
Eh hop!
Citer : Posté le 06/06/2014 14:33 | #
Ah, aussi, le WiewWindow change à chaque rafraichissement de l'écran (donc quand on pivote).
il ne change cependant que horizontalement, l'altitude est gérée par une variable.
Ajouté le 06/06/2014 à 14:33 :
Ah, aussi, le WiewWindow change à chaque rafraichissement de l'écran (donc quand on pivote).
il ne change cependant que horizontalement, l'altitude est gérée par une variable.
Citer : Posté le 06/06/2014 14:36 | #
Pourquoi changer le VW? (Volkswagen, Das Auto)
/me sort.
Citer : Posté le 07/06/2014 12:53 | #
Sympa ton projet, ça me fait beaucoup à Galaxy on Fire basé exactement sur le même principe.
Par contre je ne vois pas l'interet de mettre autant de systèmes. Je préfère largement avoir 30 systèmes interrèssants que 200 systèmes vides et dénués d'intérêt. Je te conseille d'améliorer chaque système afin de le rendre unique, ce qui compte ce n'est pas leur nombre.
Sinon, en général on ne change jamais le ViewWindow, on le rentre une fois au début puis il reste comme ça.
Je suis sur que c'est plus rapide avec le DrawStat ou le SuperDrawStat comme tu préfères.
Ce qui serait bien ce serait de pouvoir tourner sur soit même, mais surtout dans le sens horizontal, le sens vertical n'apporte pas grand chose. Ce n'est pas plus compliqué, tu fais une sorte de "boucle", une image où le sa droite se joint avec sa gauche : exemple
Citer : Posté le 07/06/2014 13:32 | #
En fait il y a deux animations : une de décollage et une d’atterrissage, d'où les mouvements de caméra vertical.
Le but de ce projet est d'imiter les jeux Elite sur calculatrice.
Les combats seront plus simple et moins désorientant, j'ai déjà pensé à un système mais il est encore sur papier, ça sera surement l'une des dernières choses à faire.
Ensuite, j'ai tenté le SuperDrawStat, vu que je dois modifier des lignes éparpillées un peu partout dans le programme j'ai laissé ma calculatrice allumée, avec pour objectif de la reset si ça marche pas.
En effet, pour je ne sais quelle raison, j'ai eu droit à une erreur argument au début de la ligne
Du coup j'ai abandonné l'idée pour le moment je verrai plus tard avec le DrawStat si ça fonctionne.
Citer : Posté le 08/06/2014 21:38 | #
Ok bien vu pour le décollage
Citer : Posté le 09/06/2014 12:58 | # | Fichier joint
Voilà en pièce jointe le programme, il parait assez lourd, mais c'est que je l'ai beaucoup commenté, j'ai pas mal optimisé pour avoir une fluidité impressionnante, surtout si tu te limites à une seule couche de relief ( C'est dans ces conditions qu'on voit que le SuperDrawStat est bien plus pratique que le DrawStat ! )
J'en ai mis que deux parce que je trouve ça déjà pas mal, après pour en rajouter c'est du copier coller tu vas voir.
Commence par lancer le prog APPROCHE.
Si tu as des questions hésite pas, j'avais pensé à un effet de particules quand tu arrives avec de la poussière qui vole et tout... Mais faut que je révise un peu quand même haha !
Citer : Posté le 09/06/2014 13:23 | #
Encore merci pour le programme c'est vraiment sympa.
Du coup tu as fait comment pour la forme du terrain ?
Car moi je créé une fonction dans la Str 6 puis je calcule des points en X donné (pour la courbe du haut il prend un point tout les 16, pour les courbes du bas tout les 32) puis le pivotement de la caméra se fait par décalage de 32 par 32 dans la direction voulue.
Citer : Posté le 09/06/2014 13:29 | #
De rien, ça me fait du bien de refaire un peu de Basic
J'enregistre une fonction sinusoïdale dans Y1 et Y2.
Après je fais un Seq(Y1,...)->List 1 pour avoir toutes les valeurs.
je détermine que les segments qui seront à l'écran, puis j'affiche en SuperDS
Je fait un décalage de 15 pixels, après c'est au choix.
Citer : Posté le 09/06/2014 13:32 | #
Ah oui, et pour dessiner les deux courbes en dessous, je fais simplement Exp("0.5x"+Str 6) -> B et Exp("0.25x"+Str 6) -> B
Mais le truc que je ne comprenais pas c'est pourquoi le Super DrawStat ne fonctionnait pas.
Citer : Posté le 09/06/2014 13:44 | #
Ok, après faut pas mal d'entrainement avant de bien savoir l'utiliser, j'avoue que j'ai eu un peu de mal au début aussi
Tu me diras ce que tu en penses quand tu testeras.
D'ailleurs mes reliefs sont un peu plus "précis", j'affiche 11 segments par couche
Citer : Posté le 09/06/2014 14:02 | #
D'accord je verrai ça quand j'aurai le temps de le transférer