Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Projets de programmation


Index du Forum » Projets de programmation » Adventure of Death - RPG
Gdubol Hors ligne Membre Points: 160 Défis: 2 Message

Adventure of Death - RPG

Posté le 16/01/2021 23:20

Bonjour a tous,

Petit topic pour vous présenter un nouveau projet après avoir passé quelques années à faire le mort: Adventure of Death

Il s'agit d'un petit RPG classique en BASIC qui se voudra assez complet (une quête principale + quelques petites quêtes annexes) et qui trouvera son originalité dans le scénario du moins j'espère...

Le projet avance tranquillement, mais aucune idée de quand il sortira, mais vu qu'il avance bien il est temps d'en parler un peu!

Pour le scénario il est simple: vous êtes mort.....Oui bon attendez deux secondes c'est un peu plus compliqué que ça.
Vous êtes un jeune homme, tout ce qu'il y a de plus ordinaire avec un rêve: vivre une grande aventure! Malheureusement vous n'êtes pas très dégourdi et à peine parti vous mourez dans des circonstances tragiques.
Vous vous réveillez alors dans le royaume des morts, une nouvelle vie s'offre a vous, alors pourquoi ne pas vivre une aventure sur cette nouvelle terre qui s'offre à vous?

En terme d'avancement j'ai un moteur qui fonctionne bien et qui sera amélioré pour ajouter de nouvelles mécaniques mais le principal est fait, le scénario est en cours d'écriture et les graphismes sont....en cours...ouais disons que ça avance x). Après il reste encore pas mal de trucs à faire type level design, implémentation de l'histoire, écriture des quêtes annexes, etc...

Et il reste tout de même quelques problèmes:
- mon générateur de maps qui permet d'optimiser la taille de stockage mais elles sont très lentes a dessiner
- le fait que je soit pas très doué pour les graphismes x) (du coup si vous avez de liens pour des sprites en 10x10 je prend )

Petite image pour finir parce que ça ne mange pas de pain


Avancement:
- Mécaniques
- Maps →fonctionnel mais trop lent
- Monstres →50%
- Interaction →75%
- Personnage →50%
- Graphisme+Histoire
- histoire principale →50%
- histoire secondaire →10%
- implémentation →0%
- graphismes →30%

Fichier joint


Ne0tux Hors ligne Membre d'honneur Points: 3525 Défis: 265 Message

Citer : Posté le 17/01/2021 19:36 | #


Salut,

Ils sont super sympas ces graphismes ! On a hâte d'en savoir plus.

Si tu veux faire du teasing tu peux envoyer quelques infos pour la Revue Des Projets en page d’accueil.

Tu crois que personne n'a vu le jeu de mot dans la première phrases ?
Mes principaux jeux : Ice Slider - CloneLab - Arkenstone

La Planète Casio est accueillante : n'hésite pas à t'inscrire pour laisser un message ou partager tes créations !
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 22/01/2021 14:31 | #


On reconnaît une inspiration Zelda dans le style graphique ! La prémisse est sympa, et je suis toujours content de voir des RPG sortir. Tu peux compter sur moi pour tester les différentes versions quand tu en partageras !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gdubol Hors ligne Membre Points: 160 Défis: 2 Message

Citer : Posté le 11/02/2021 01:23 | # | Fichier joint


Salut,

En effet je vais essayer d'écrire quelque chose pour la RDP quand j'aurai quelque chose de bien avancé

Oui petite inspiration Zelda et pas que dans les graphismes Je vais essayer de finir ça alors !

J'ai actualisé le topic pour donner un peu l'avancement du projet (c'est la que je me rend compte que je suis lent ) mais bon ça avance tranquillement

J'ai un petit système de création des maps mais des soucis de lenteur, je pose donc ça la si vous avez des suggestions d'améliorations:
- chaque map correspond à une str
- une boucle pour faire correspondre chaque caractères a une valeur dans une matrice (ça aide pas a la rapidité j'avoue mais c'est bien pratique pour les interactions ) et a une tuile que je dessine avec du graphe paramétrique

voila voila, petite image pour finir
Je n'ai pas échoué. J'ai simplement trouvé 10000 solutions qui ne fonctionnent pas.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 17/02/2021 12:08 | #


Holà ! Des nouvelles par ici ? Si tu bloques sur le chargement des maps on peut donner des idées mais seulement si on a du code sous les yeux !

En général tu es obligé d'associer à chaque caractère un entier avec StrSrc(), je présume que c'est ça qui est bloquant. Perso j'ai souvent utilisé la tactique moyennement subtile de juste écrire la map dans le code (du genre [12,3,5→List1) parce que c'est super facile et que ça prend pas trop de place (2-3 octets par case au lieu de 12 octets si tu envoies la liste déjà construite). Faut voir la taille prévue de ta map aussi !

Protip : ajoute tes images au post principal (tu peux cliquer droit dessus pour copier leur URL)
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Gdubol Hors ligne Membre Points: 160 Défis: 2 Message

Citer : Posté le 17/02/2021 19:33 | #


Salut, effectivement la liste c'est probablement plus rapide, après je trouve ma solution un poil plus élégante et terme de stockage de la map, mais après étant donné qu'il faut extraire les infos de la chaine ça fait une lenteur supplémentaire, je pose quand même ma solution parce que je l'aime bien héhé

La map ressemble à ça:
L = 1.01 + i * 2.2 => "B12thetaB6&↓BT&BthetaBCB[]B2↑B4thetaB12thetaB10&BthetaB12theta" -> Str 3


Et ensuite un petit algo:
Do
    StrLeft(Str 3, 1) -> Str 4
    If StrSrc(Str 2, StrMid(Str 3, 2, 1)) != 0 :Then
        StrMid(Str 3, 2, 1) -> Str 5
        Exp(Str 5) -> B
        If B = 1 :Then
            StrMid(Str 3, 3, 1) -> Str 5
            Exp(Str 5) -> B
            B + 10 -> B
            StrMid(Str 3, 4) -> Str 3
        Else
            
            StrMid(Str 3, 3) -> Str 3
        IfEnd
    Else
        
        StrMid(Str 3, 2) -> Str 3 : 1 -> B
    IfEnd
    If StrCmp(Str 4, "&theta_char;") = 0 :Then
        C + 1 -> C
        1 -> B
        0 -> D
    Else
        
        For 1 -> A To B
            If StrCmp(Str 4, "A") = 0 :Then
                1 -> Mat E[C, D + A]
                Graph(X,Y)=(10 * (D + A - 1) + {1 + 9T, 1 + 9T, 1 + 9T, 1 + 9T, 1, 10, 3, 7, 5, 9, 3, 7}, (6 - C) * 10 + {1, 4, 7, 10, 1 + 9T, 1 + 9T, 2 + T, 2 + T, 5 + T, 5 + T, 8 + T, 8 + T})
            IfEnd

La suite c'est une série de if dans le for, sous la même forme que le premier pour afficher les différentes tuiles

Voila si tu as de suggestions d'améliorations, de mon coté je vais tester avec des listes dès que j'ai un peu de temps pour voir s'il y a une différence notable.

Merci pour la petite astuce
Je n'ai pas échoué. J'ai simplement trouvé 10000 solutions qui ne fonctionnent pas.
Lephenixnoir En ligne Administrateur Points: 24673 Défis: 170 Message

Citer : Posté le 17/02/2021 21:31 | #


Oh mais je vois. Il y a quelques problèmes d'algo là-dedans (StrMid(Str 3, 2) -> Str 3 c'est quadratique !!) et pas mal de code. Ça doit certainement pouvoir s'optimiser avec un peu d'effort !
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Rositawatt Hors ligne Membre Points: 1 Défis: 0 Message

Citer : Posté le 08/03/2021 08:09 | #


Intéressant
.

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 168 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd