Accueil Forum IRC

PSP Animes

Auteur Sujet: Tuto jeux psp  (Lu 3617 fois)

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #15 le: 19 août 2010 à 13:54:05 »
@Suzaku: Hm.. Comment dire ..
Les pops sont des modules de Sony.
Donc pour les FW, tout est déjà fait. Vous avez uniquement a DL le jeu sur pss  ;)

Alors que pour les C.F, faut extraire le POPS dans fw officiel et sa ce complique ou devient plus simple:
- Si je reste dans la légalité et j'extrait le jeu PS1, dans mon PC je bidouille avec des logiciels pour finalement le mettre sur la psp.

- Si je télécharge le jeu.

Suzaku

  • Administrateur
  • Otaku & Geek
  • *****
  • Messages: 2422
    • Voir le profil
Tuto jeux psp
« Réponse #16 le: 19 août 2010 à 14:45:04 »
Ok mais justement le pss n'est pas une option, alors ce que je demande, c'est en quel format est le jeu d'habitude, et est ce que je peux le reproduire avec mes propres jeux ?

Comprends moi bien, j'ai déjà les jeux qui m'intéressent (les FF), j'ai pas l'intention de reclaquer de la thune juste pour les transférer sur la psp...
"We shall journey on the road that continues to the final fantasy."
  —Cid of the Lufaine to Cosmos

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #17 le: 19 août 2010 à 14:58:37 »
Non, tu ne peux pas   :)
D'ou l'avantages d'être C.F  ;)

Suzaku

  • Administrateur
  • Otaku & Geek
  • *****
  • Messages: 2422
    • Voir le profil
Tuto jeux psp
« Réponse #18 le: 19 août 2010 à 15:01:22 »
Je veux même pas en discuter, je dirais juste qu'avec tes CF t'as aussi le droit d'installer 5648210 patchs et cracks en tous genres pour faire tourner un jeu...
et j'ai pas la patience !
"We shall journey on the road that continues to the final fantasy."
  —Cid of the Lufaine to Cosmos

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #19 le: 19 août 2010 à 15:02:45 »
Je veux même pas en discuter, je dirais juste qu'avec tes CF t'as aussi le droit d'installer 5648210 patchs et cracks en tous genres pour faire tourner un jeu...
et j'ai pas la patience !

N'importe quoi.  ;)

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #20 le: 04 juin 2011 à 17:31:36 »
Créer une IA Basique, mais simple !

J'avais besoin de réaliser une IA, pour mon jeu. Je ne savais pas du tout comment procéder. J'ai cherchée des tutos... Pas trouvée.
Mis à part un tuto sur la fonction math.random()

J'ai donc fait un petit programme pour me familiariser avec, j'ai finalement compris comment ça marche. Enfaite, c'est pas bien compliquée, sa prend juste un peu de temps....
Trêve de Bavardages, voilà donc un sample de mon petit programme.
Enfaite, on contrôle un Carre Blanc qui ce promène comme il veut, dans n'importe quel ions.

Mais un méchant Carrée Bleu,viens vous embêter et vous empêche de terminer votre jolie promenade. Le carre Blanc devra donc fuir ou partir, mais rien à faire.
Non seulement, il vous suit par tout et vous pousse mais en plus, il vous empêche de passer !
(J'ai tout de même fait en sorte qu'il y ai un angle mort pour passer).

Voilà le code largement commentée, je n'ai rien à ajouter ^^

-------------------------------

-- On cree une Couleur et On charge les Ressource necessaire

local bleu = Color.new(0,0,255)

carre = Image.createEmpty(32,32) -- on crée un carre
carre:clear(bleu) -- on lui donne une couleur

parre = Image.createEmpty(29,29) -- on crée un autre carre 
parre:clear(Color.new(255,255,255)) -- on lui donne une couleur

Parre = {x=10,y=100} -- On donne des Coordonees (X,Y) au Carre 
Carre = {x=280,y=100} -- On donne des Coordonees (X,Y) au Carre

parre_statut = "Nil" -- Etat du petitCarre
carre_statut = {1,2,3,4,5} -- Tableau pour Etat du Carre

function IA(carre) --On Cree une fonction IA, pour le carre
 if carre_statut == 1 or carre_statut == 2 or carre_statut == 3 or carre_statut == 4 then -- Etat du Carre renvoie 1 ou 2,3 ou 4
   carre:clear(bleu) -- on lui donne une couleur 
   carre_statut = "Nile" -- Etat du Carre = nil
 end
   
 if carre_statut == 5 then -- Etat du Carre renvoie 5 
   carre:clear(Color.new(255,0,0)) -- on lui donne une couleur 
   carre_statut = "Rush" -- Etat du Carre = Rush
 end
 
 if Carre.x > Parre.x + parre:width() and Parre.x >= 35 then -- Si le Carre est superieur au miniCarre + sa longueur et que la position du Minicarre est superieur a 35
  carre_statut = math.random(1,5) -- 1 chance sur 5 que Carre soit en Mode Rush
 end

 if Carre.x > Parre.x + parre:width() and Parre.x >= 65 then -- Si le Carre est superieur au miniCarre + sa longueur et que la position du Minicarre est superieur a 35
  carre_statut = 5
 end

 if Carre.x < Parre.x + parre:width() and Parre.x >= 35 then -- Si le Carre est superieur au miniCarre + sa longueur et que la position du Minicarre est superieur a 35
  carre_statut = 1
 end
 
 if Carre.x < Parre.x + parre:width() and Parre.x >= 65 then -- Si le Carre est superieur au miniCarre + sa longueur et que la position du Minicarre est superieur a 35
  carre_statut = 1
 end
 
 if Carre.x > Parre.x + parre:width() and Parre.x >= 150 then
   carre_statut = 2
 end
 
  if Carre.x > Parre.x + parre:width() and Parre.x >= 200 then
   carre_statut = 5
 end
 
  if Carre.x < Parre.x + parre:width() and Parre.x >= 150 then
   carre_statut = 5
 end
 
  if Carre.x < Parre.x + parre:width() and Parre.x >= 200 then
   carre_statut = 2
 end
 

 if Carre.x == Parre.x + parre:width() and carre_statut == "Rush" then
   Parre.x = Parre.x -55
 end     
   
 -- Si la position du Carre (en x) est superieur a Position du mini Carre + (sa longueur) +10
 if Carre.x > Parre.x + parre:width() +10 then
   Carre.x = Carre.x -1
 end
 -- Si la position du Carre (en x) est inferieur a Position du mini Carre + (sa longueur) +10
  if Carre.x < Parre.x + parre:width() +10 then
   Carre.x = Carre.x +1
 end

 -- Si la position du Carre (en y) est superieur a Position du mini Carre + (sa hauteur) +5
  if Carre.y + carre:height() > Parre.y +5 then
   Carre.y = Carre.y -2
 end
 -- Si la position du Carre (en y) est inferieur a Position du mini Carre + (sa longueur) +5
  if Carre.y + carre:height() < Parre.y + carre:height() +5 then
   Carre.y = Carre.y +2
 end
end -- Libre a vous de modifier les valeurs et/ou changer les statut
-- Dans la fonction (plus haut), Le carre fera en sorte de vous empecher de passer.
   -- L'IA Programmer repond a ce besoin
      -- Oui Pas plus compliquer que ca <img src="./images/smilies/smile.gif" alt=":)" title="Souris" />
 
function Collision()
 if parre_statut == "Attack" then -- Si l'etat du Carre est Attack
   parre:clear(Color.new(2,255,2)) -- on lui donne une couleur
 end
 
 if parre_statut == "Nil" then -- Si l'etat du Carre est Nil (Rien) 
   parre:clear(Color.new(255,255,255)) -- on lui donne une couleur
 end
 
-- Si la position du MiniCarre + sa longueur est egale a Carre.x et que l'etat du miniCarre est Attack
 if Parre.x + parre:width() == Carre.x and parre_statut == "Attack" then
   Carre.x = Carre.x +5
 
-- Sinon si la position du MiniCarre + sa longueur est egale a Carre.x et que l'etat du miniCarre est Nil
 elseif Parre.x + parre:width() == Carre.x and Carre.y < Parre.y and parre_statut == "Nil" then
 Parre.x = oldx -- Reste bloquee a sa derniere position
 elseif Parre.x == Carre.x + carre:width() and parre_statut == "Nil" then
 Carre.x = Oldx -- Reste bloquee a sa derniere position
 Parre.x = oldx -- Reste bloquee a sa derniere position
 end -- Oui, les Collision sont pas precise au pixel pres, mais le but n'est pas d'avoir des Collision parfaite
end
 

function Bouger()
 if pad:cross() and not oldpad:cross() then -- Si on appuie sur X     
 parre_statut = "Attack" -- L'Etat du petit Carre passe a Attack
   else -- Sinon, si X n'est pas presser
  parre_statut = "Nil" -- Etat du petitCarre est Nil (Rien)
 end
 
 if pad:right() then -- Si on appuie sur Droite
   Parre.x = Parre.x +2
 end
 
  if pad:left() then -- Si on appuie sur Gauche
   Parre.x = Parre.x -2
 end
 
  if pad:up() then -- Si on appuie sur Haut
   Parre.y = Parre.y -2
 end
 
  if pad:down() then -- Si on appuie sur Bas
   Parre.y = Parre.y +2
 end
end

while true do -- Tant que le Code est Vrai
  screen:clear() -- On efface l'ecran
  pad = Controls.read() -- On initialise les touches
   screen:blit(Carre.x,Carre.y,carre) -- On affiche Carre plus sa position qui Change
   screen:blit(Parre.x,Parre.y,parre) -- On affiche Carre plus sa position qui Change 
   screen:print(55,55,parre_statut,bleu) -- On print la variable parre_statut, pour savoir quel est le statut actuel de parre
   screen:print(55,15,Parre.x,bleu) -- On print la variable Parre.x pour savoir la position actuelle de Parre

IA(carre) -- On appelle la fonction IA pour (carre)
Bouger(parre) -- On appelle la fonction Bouger pour miinCarre
Collision() -- Fonction Collision pour les 2 carre

 
 if Controls.read():select() then
 break
end 

 screen.waitVblankStart() 
 screen.flip()
 oldx = Parre.x -- Pour les Collision
 Oldx = Carre.x -- Idem
 oldpad = pad -- On declare oldpad
 end -- Ferme la Boucle
 
-- Dans ce Code on utilise math.random(). Cette fonction mathematique
-- Retourne un nombre aleatoire: math.random(Nbre_minimum,Nbre_maximum)
-- A vous d'adapter ceci pour votre propre code.
-- Sachant que ce code est complet pour une IA de Base
-- A vos Claviers !   

Pour la coloration syntaxique aller ici:
http://www.xtreamlua.com/forums/viewtopic.php?f=95&t=6690

Ginka

  • Baka Mangaka
  • Fan de mangas
  • ***
  • Messages: 524
  • Ginka est dans la place !
    • Voir le profil
Tuto jeux psp
« Réponse #21 le: 05 juin 2011 à 09:27:44 »
Intéressant
Et plutôt bien expliqué, merci  ;D
Plus on pédale moins vite, moins on avance davantage.

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #22 le: 05 juin 2011 à 17:19:38 »
Intéressant
Et plutôt bien expliqué, merci  ;D

C'est un de mes seuls code propre ^^.

Ginka

  • Baka Mangaka
  • Fan de mangas
  • ***
  • Messages: 524
  • Ginka est dans la place !
    • Voir le profil
Tuto jeux psp
« Réponse #23 le: 05 juin 2011 à 18:11:22 »
Tu t'es donné à fond, comparé à ce que tu fais d'habitude ;D
Plus on pédale moins vite, moins on avance davantage.

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #24 le: 05 juin 2011 à 19:03:36 »
Bah, niveau propretée oui :p

Là je me donne à fond pour les Combats en temps réel ^^.
L'IA est faite. (2,3 bugs à régler)
Les Collisions. Là, je suis fier de moi, là on "sent" qu'on tape le monstre !

Il faut juste que je fasse un système pour des combats fluîdes. Parce-que là, les monstres sont trop simple à vaincre.
Car y a pas de limites de combo. Et.. mes sprites n'ont même pas de réel combot, hélàs.

Il va falloir que je me lance dans le pixel arts ou que je fasse une demande sur DeviantArt.. mais avec môn anglais très bas je sais pas comment faire. :/

Je te ferais tester dès que ca sera "fluide".
Demain ou Mardi. :)

Tu me dira si le combat est monotone ou plutôt bien fait. :)

Ginka

  • Baka Mangaka
  • Fan de mangas
  • ***
  • Messages: 524
  • Ginka est dans la place !
    • Voir le profil
Tuto jeux psp
« Réponse #25 le: 05 juin 2011 à 19:09:44 »
Ok
Si tu veux je peux t'aider pour ton bad english
Plus on pédale moins vite, moins on avance davantage.

Zstan

  • THE Otakus !
  • Modérateur
  • Otaku & Geek
  • *****
  • Messages: 2613
  • Cherche la lumiere, au plus profond des ténebres
    • Voir le profil
Tuto jeux psp
« Réponse #26 le: 05 juin 2011 à 19:15:03 »
Ok
Si tu veux je peux t'aider pour ton bad english

Okey, on verra ça plus tard :)