Pokémon SDK

  • 1145 Réponses
  • 91105 Vues
*

Hors ligne joeyw

Pokémon SDK
« Réponse #120 le: 02 juin 2015, 20:56:32 »
Petite idée de fonctionnalité qui me vient en tête. Je ne sais pas si vous y avez penser mais il se peut qu'elle change pas mal le déclenchement des combats : je parle du Cherche VS.

Pour rappel, ce petit gadjet de RF/VF et D/P/Pt permet de réaffronter des Dresseurs déjà battus :
- Il met 100 pas pour se recharger
- Des "!!" signifient au joueur qu'un Dresseur souhaite se battre à nouveau et sautent sur place (sinon c'est un "X" ; les Dresseurs jamais battus affichent un classique "!")
- L'effet s'arrête si le joueur fait à nouveau 100 pas, bat le Dresseur ou quitte la route
- Lors du rematch, les Pokémon adverses sont un peu plus puissants
- Le Cherche VS est inutilisable en intérieur (grottes comprises)

Voila, c'est sûrement un gros truc à mettre en place mais c'est un outil d'équilibrage assez intéressant. A voir comment on peut le modifier :)
 

Pokémon SDK
« Réponse #121 le: 02 juin 2015, 21:41:59 »
Franchement, c'est un système à la porté de n'importe qui et ça se fait entièrement en évent. Je l'avait fait en 2008/2009 sur un vieux projet donc x)
Le seul problème en évent c'est le nombre de pas qui est limité à 9999999 après ça se corrige avec un morceau de script :3

Enfin, faudra me faire penser plus tard à implémenter le système x)
ln(yo) = <3
 
Utilisateurs ayant remercié ce post : Aerun, joeyw, Luneste

*

Hors ligne Otruch

Pokémon SDK
« Réponse #122 le: 03 juin 2015, 09:31:06 »
Encore petite question :

sur psp le battle core c'est la scène. Fais tu pareil, ou est-il indépendant de la scène, et la scène l'utilise? (Car si c'est le second, il devient alors plus facile au développeur de prendre le système de combat pour un serveur tcp pvp.)

J'aime l'indépendance mais assez dur à placer je l'admet avec des draw_text à mettre partout pour chaque effet/action.

sinon l'emplacement est parfait, rien à redire :)
 

Pokémon SDK
« Réponse #123 le: 03 juin 2015, 13:45:54 »
Il faudrait que je pense à mettre ces détails dans la présentation x)

Je vais répondre à ta question, le système de combat est séparé en plusieurs bloques, un bloc plutôt énorme qui se charge de la couche bas niveau qui est bêtement les calculs, cette couche là n'est pas directement visible à l'écran puis-ce que son seul rôle est de traiter les demandes qu'on lui fait. C'est le BattleEngine, un module assez conséquent que j'ai par exemple utilisé dans mon premier essaie d'IA. BattleEngine faisait des calculs sur des clones des équipes et je faisait réagir l'IA en fonction des résultats des calculs. Juste après Scene_Battle qui elle se charge d'afficher le combat et d'interagir avec le joueur et l'IA a appelé exactement les mêmes fonctions que l'IA mais avec des paramètres tout à fait différents et là c'était pour savoir ce qu'elle avait à afficher à l'écran.

En gros, non ce n'est pas comme PSP : le système de combat te permet de faire ce que tu veux avec tant que tu sais lui parler donc dans ton application pour les combats en ligne, tu peux faire :
class Scene_Battle_Online < Scene_Battle #C'est toujours bien de récupérer une grosse partie du boulot, notamment la phase 4
  def update_phase1 #>Affichage du début du combat mais à la manière online
  return if judge
  #L'équipe ennemie est normalement initialisée donc on clone le tableau d'ennemis
  @enemies=@enemy_party.actors.clone
  #Initialisation des effets des Pokémons
  (@actors+@enemies).each do |i|
  phase1_init_pokemon(i)
  end
  BattleEngine::set_actors(@actors)
  BattleEngine::set_enemies(@enemies)
  #>Appel de la fonction qui réalisera la transition
  gr_start_online_battle
  launch_phase_event(1,true)
  #La phase 2 sera lancée après la validation de l'interpreter phase1.update
  @to_start=:start_phase2
  end

  def update_phase2 #>Choix de l'action à réaliser
  update_online_time_remaining #>Mise à jour du compteur avant de choisir les actions par défauts
  super
  end

  def update_phase3 #>Choix de l'attaque à réaliser
  update_online_time_remaining #>Même chose
  super
  end

  def update_phase3_enemy_select #>Selection de l'ennemi à viser
  update_online_time_remaining #>Même chose
  super
  end

  def start_phase4 #>Début de la phase d'affichage
  unless check_enemy_choice #Vérification du choix de l'adversaire
  @to_start = :start_phase4
  return
  end
  PFM::IA.force_actions(@online_actions)
  super #>On fera l'appel de la méthode qui fait tout les traitements selon les choix de l'IA qui sera forcée à choisir ce que le dresseur a choisi
  end
end

Après, y'a bien plus à faire mais ça serait déjà une base de la modification qu'il faudrait faire pour que le système de combat agisse comme un truc en ligne. Après, tu peux la recoder en entier, BattleEngine se fiche de qui lui dit ce qu'il faut faire, il le fera et t'auras juste à traiter :p (Mais bon te retaper l'affichage de la scène, je doute que ce soit très jouissif xD)

D'ailleurs, les combats de dresseur, Pokémon, double ou non fonctionnent tous avec Scene_Battle sans distinction de classe (donc tu peux faire un truc un peu exotique du genre faire apparaitre un dresseur en plein combat de sauvage qui va capturer le sauvage et se battre contre toi).

Bref bref, wala.
ln(yo) = <3
 
Utilisateurs ayant remercié ce post : Otruch, Luneste

*

Hors ligne GiraKoth

Pokémon SDK
« Réponse #124 le: 03 juin 2015, 14:20:00 »
(donc tu peux faire un truc un peu exotique du genre faire apparaitre un dresseur en plein combat de sauvage qui va capturer le sauvage et se battre contre toi).

N'empêche que ça serait carrément stylé!

Toujours en vie (je crois)
 
Utilisateurs ayant remercié ce post : Nuri Yuri, Sangana, The-elric, Aerun, Someone

*

Hors ligne Loupio44

Pokémon SDK
« Réponse #125 le: 03 juin 2015, 16:45:12 »
N'empêche que ça serait carrément stylé!

Sauf si le sauvage est shiny! :/
 
Utilisateurs ayant remercié ce post : Aerun, antiNT

*

Hors ligne Otruch

Pokémon SDK
« Réponse #126 le: 04 juin 2015, 21:59:04 »
Citer
Éditeur des textes du jeu, à terme Pokémon SDK n'aura plus le moindre string autre qu'un string de ressource dans ses scripts. Si vous avez des améliorations à proposer je suis partant pour cet éditeur car cet affichage est bien pour le multi-langue mais chaude pour la recherche d'une chaine spécifique x)

Associer un nom à chaque chaine, faire une fonction rechercher où tu tapes un nom et ça t'affiches toutes les id qui commençant par ce nom?
« Modifié: 04 juin 2015, 22:01:36 par Otruch »
 

Pokémon SDK
« Réponse #127 le: 06 juin 2015, 19:19:01 »
J'ai absolument pas compris ce que tu racontes, désolé '^'

Sinon, j'ai implémenté les positions des Pokémon et des Barres, pour les gros, ça passe, pour les petits :/
Je pense qu'en 1v1 je vais adapter les positions pour que ça ait l'air un peu plus opti ^^

ln(yo) = <3
 
Utilisateurs ayant remercié ce post : Luneste

*

Hors ligne joeyw

Pokémon SDK
« Réponse #128 le: 06 juin 2015, 20:15:18 »
J'avoue que sans les "grounds" ça fait un peu vide x)
 
Utilisateurs ayant remercié ce post : Nuri Yuri

*

Hors ligne Palbolsky

Pokémon SDK
« Réponse #129 le: 06 juin 2015, 20:29:31 »
Cette interface me plait plus que l'ancienne. :)

Ce n'est qu'un tout petit détail, je pense qu'il serait intéressant d'aligner le niveau avec "Lv." et peut-être remonter de 1 ou 2 pixel les PV.

Bon courage.
Intéressé par le jeu de cartes Heartstone ? Cliquez ici.
 
Utilisateurs ayant remercié ce post : Someone, Luneste

*

Hors ligne Aerun

Pokémon SDK
« Réponse #130 le: 06 juin 2015, 20:58:03 »
Effectivement, je pense qu'avec des grounds, ou alors tout simplement avec des battle backgrounds intégrant ces grounds ça sera bien plus rempli :)
 

Pokémon SDK
« Réponse #131 le: 06 juin 2015, 21:10:16 »
Avec les placements actuels, il faudrait revoir le background en entier x)
J'essaierais de réfléchir à un truc qui simplifierait la tache des placements de grounds ou de l'affichage des sprites de Pokémon en fonction de leur taille.
ln(yo) = <3
 
Utilisateurs ayant remercié ce post : Luneste

*

Hors ligne joeyw

Pokémon SDK
« Réponse #132 le: 06 juin 2015, 21:42:29 »
Effectivement, je pense qu'avec des grounds, ou alors tout simplement avec des battle backgrounds intégrant ces grounds ça sera bien plus rempli :)

Oui ou encore des battlebacks plus réalistes comme on a eu dans les dernières générations. Et puis ça évite à Yuri de se casser la tête x)
 
Utilisateurs ayant remercié ce post : Aerun

*

Hors ligne meziki

Pokémon SDK
« Réponse #133 le: 08 juin 2015, 14:56:20 »
j'attend la fin du développement avec impatience en espérant que ce soit pas trop long hihi :P
mais je félicite l'équipe pour ce travail qui m'a l'air tout a fait propre, soigné et surtout bien pensé avec des fonctionnalités qui feront le plaisir de tous :)

Good Luck And Have Fun All !!! :D
 
Utilisateurs ayant remercié ce post : Nuri Yuri, Aerun

*

Hors ligne Noctalyx

  • Nouveau Membre
  • *
  • 10
  • Membre
Pokémon SDK
« Réponse #134 le: 10 juin 2015, 12:56:33 »
TROP BIEEEEEENNNN !!! Je me réjouis trop !
A quand la sortie ? :)