Identifiant:
Mot de passe:
Accueil
Devblogs
Voir tous les devblogs
Obtenir un devblog
Fiches Homebrews
Chat (IRC)
NoPaste
Lexique
Wikis
NDS/GBA
PSP
Wii
Forum
Accéder au forum
Messages non lus
Réponses non lues
Au secours !!!
Options
Rechercher
Se Connecter
Inscrivez-vous
Développement Amateur Francophone
|
Nintendo DS/GBA
|
Projets
|
[NDS] Skinz Sudoku !
Pages:
1
2
[
3
]
4
5
6
Bas de page
Imprimer
Auteur
Fil de discussion: [NDS] Skinz Sudoku ! (Lu 17224 fois)
0 Membres et 1 Invité sur ce fil de discussion.
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #30 :
29 Avril 2007, 17:30:54 »
Bon allez, je vais rajouter la petite description sur le splash screen...
L'effet de transition de base est tout simple, c'est l'effet PA_BgTrans en diagonale avec comme type TRANS_CROSS ^^ Rien de particulier donc, n'oubliez pas que ce vous bouffre un fond quand même...
Pour la spirale du logo 'Mollusk', de l'écran du haut, j'ai hésité sur plusieurs façon de faire ^^. En fait, j'avais fait l'écran du bas en premier, donc je voulais absolument faire partir le logo, une fois affiché, par scrolling horizontal... Et on doit avoir derrière un fond 8bit qui affiche le titre du jeu, donc ca réserve déjà le fond 8bit et ainsi une partie de la mémoire ^^. Donc, si je résume, je voulais avoir un fond tout simple (EasyBg pour les PAistes) avec le logo "Mollusk Games" pour le faire scroller...
En fait, je me suis dit que ce serait du gachi de ne pas me servir du fond 8bit de dessous. Donc, au lancement de la rom, je charge sur le fond 8bit l'image du logo SANS la spirale (juste le carré bleu), et je le mets devant le fond avec le logo plein... Puis, une fois le premier effet de transition passé, il est temps de faire dessiner la spirale. Je suis un flemmard, je ne supporte donc pas de devoir rentrer les points à changer 'à la main', il me fallait donc une méthode automatique ^^.
Et bien c'est simple ! Je me suis inspiré d'une routine que j'ai faite pour une app de dessin, afin de remplir une zone d'une même couleur... Sauf que là, j'allais changer les pixels non pas de la même couleur que celle du départ, mais dont la couleur est différente entre le fond 8bit (Mollusk sans spirale) et le fond normal (Mollusk avec spirale). J'ai donc un tableau qui répertorie les pixels à changer, vide au démarrage. On part du centre de l'écran (qui est le centre de la spirale en fait), et on ajoute ce pixel au tableau... Pour chaque pixel ajouté, on le passe à la bonne couleur (PA_EasyBgGetPixel, pour lire la couleur du fond plein :) ), et on regarde les 4 pixels autour (haut/bas/gauche/droite). Pour chacun de ces pixels, s'il n'a pas la même couleur sur le fond 8bit et sur le fond normal, on l'ajoute à la liste, etc... Et on fout ca en boucle ! Et là, oh magie, la spirale commence au centre, et le changement des pixels se fait de proche en proche :p Voilà qui permet d'avoir un code d'à peine quelques lignes pour faire apparaitre la spirale :p A noter que cela marcherait donc pour d'autres formes, du moment qu'il y a une forme continue... (genre une courbe, une écriture avec lettres attachées, etc...)
Ensuite (ralala), une fois que le fond 8bit correspond enfin au fond normal, on fait quoi ? Et bien il parait évident que l'un des 2 est devenu superflu... On peut donc repasser le fond 8bit derrière l'autre fond, et afficher dessus (en furtif/caché pour l'instant, donc), l'écran de titre du jeu ! C'est très rapide à charger (à partir d'un gif par exemple), l'utilisateur ne voit rien :p
Ensuite, pour faire scroller hors de l'écran j'ai choisi de faire lire les tiles et de les recopier 1 cran plus loin, plutôt que d'utiliser un vrai scroll, ca me permet de rester avec un fond de 256 pixels de large et c'était plus pratique pour l'écran du bas...
Place à l'écran du bas, c'est plus simple, ne vous en faites pas ^^
L'astuce pour ce dernier réside dans le fait que l'image que l'on voit une fois le premier effet de transition terminé n'est pas une seule image, mais un fond tout simple avec le logo SpriteAttack qui est en fait un sprite... Et un sprite, on eut en faire plein de choses, comme le zoomer et le rendre plus ou moins transparent ^^ En combinant les 2, on a le sprite qui devient gros et disparait, tout simplement.
Pour faire virer cet écran, c'est ensuite le même principe qu'en haut. Le fond étant en tiles, je peux avoir derrière un fond 8bit sur lequel je charge l'écran titre/menu de mon jeu pendant qu'il est caché... Ensuite, pour faire scroller, j'ai choisi, comme dit avant, d'utiliser les tiles... Je fais bouger les tiles du bas vers la gauche, celle du haut vers la droite, et le tour est joué ! Ca découvre le fond du dessous, et on peut alors partir dans le code du jeu pour continuer :)
Bon, ce code je l'avais fait pour Weeds, j'ai voulu le réutiliser pour Skinz Sudoku mais j'ai eu un petit soucis : mes fonds étaient en 16bit, et les boutons du menu en 3DSprites... Hors, je n'ai pas la place en mémoire pour le 16bit pendant mon flash (et il faut charger les images pendant que le splash tourne...), donc j'ai du migrer mes fonds en 8bit... De plus, comme j'utilise la transparence et que ça marchait bien pour l'écran du bas, j'ai eu la flemme et je n'ai pas voulu changer ce bout de code, donc je ne pouvais pas avoir les 3DSprites au moment de l'affichage du menu :s Donc je les ai viré, ca fait le splash sans les boutons, et apres les boutons scrollent vers le centre comme si c'était fait exprès, alors que c'était pour m'arranger ^^
(en fait je pourrais refaire le code du bas pour n'utiliser que le GPU 3D, ca serait mieux mais ça marche et j'ai la flemme ^^)
Voilà, merci de votre attention, je rajoute tout ça dans mon post précédent :p
Journalisée
dark_vador
Full Member
Messages: 143
Re : [NDS] Skinz Sudoku !
«
Réponse #31 :
29 Avril 2007, 17:37:19 »
Exellent ! Et la je suis en train de jouer a ta derniere version , et elle dechire !! :D
Journalisée
Que la force soit avec vous !!
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #32 :
01 Mai 2007, 14:14:38 »
Et voici une nouvelle release ! Visuellement, peu de changements, mais pas mal de trucs en interne, et les skins sont légèrement modifiées. Je me permets donc enfin d'estampiller cette version comme 'beta' :)
(le lien est dispo dans le premier post, désolé de ne pas le recoller ^^)
Alors, en ce qui concerne les changements :
[+] Correction du splash sur DS
[+] Ajout d'un menu/titre dynamique, je vous laisse voir ^^
[+] Transitions plus agréables entre les différentes parties
[+] Mise à jour de la reconnaissance des chiffres. J'ai pu jouer 2 sudokus de suite sans aucun soucis, alors je suis content :)
[+] Ajout de flèches pour passer d'une case à une autre sans avoir à dézommer/rezoomer... On peut aussi utiliser le pad
[+] Ajout d'un bouton de retour au menu
[+] Ajout d'un effet de zoom pour l'affichage d'un nouveau chiffre
[+] Correction d'un bug sur DS (affichage d'un petit quatre) quand on clique sur une case
[+] Correction d'un bug dans la vérification de fin de sudoku, ça pouvait se planter et effacer un chiffre à chaque fois ^^
[+] Affichage d'une petite animation (manque juste le son) quand on gagne, vous me direz si vous aimez ou pas ^^
[+] Affichage d'un message d'erreur si la grille est pleine mais fausse
[+] Ajout du backtracking sur le solveur, mais il n'est pas dispo depuis le menu, donc tout le monde s'en fout ^^ Mais pour moi c'était important, permet de résoudre les sudokus plus que hardcores ;)
[+] Surement d'autres choses que j'ai oubliées parce que j'avais la flemme de noter au moment où je les ai faites...
Merci ^^
Journalisée
MasterDje
Diet Coke Addict
Global Moderator
Messages: 3242
Re : [NDS] Skinz Sudoku !
«
Réponse #33 :
01 Mai 2007, 14:43:53 »
Tu pourrais au moins changer la mention "alpha inside", c'est plus le cas ! ;)
Journalisée
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #34 :
01 Mai 2007, 14:47:40 »
Ouep, merci ^^
Journalisée
dark_vador
Full Member
Messages: 143
Re : [NDS] Skinz Sudoku !
«
Réponse #35 :
01 Mai 2007, 16:13:25 »
Cool ! Merci pour cette new version ! Ta fais du bon boulot !
Journalisée
Que la force soit avec vous !!
Gedeon34
Newbie
Messages: 40
Re : Re : [NDS] Skinz Sudoku !
«
Réponse #36 :
02 Mai 2007, 15:24:29 »
Citation de: Mollusk le 29 Avril 2007, 01:04:09
Afin de savoir si on a dessiné un petit ou un grand chiffre, je me base sur les infos gardées en mémoire par le système de reconnaissance, en l'occurrence la taille :
Code:
if(PA_RecoInfo.maxY-PA_RecoInfo.minY > 48)...
J'ai plein de questions en réserve mais je les poserai au fur et à mesure
La première concerne la citation ci-dessus et sur PA_RecoInfo.maxY par exemple...(dont j'ignorais l'existence)
Est-ce qu'il y a un endroit où sont listées toutes ces fonctions, j'ai pas trouvé (mais j'ai sûrement mal cherché) ici
http://www.palib.info/Doc/PAlibDoc%20Eng/group___reco.html
Par exemple, il y a apparement la possibilité de choisir l'épaisseur et la couleur du trait utilisé lors de la reconnaissance...
Journalisée
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #37 :
02 Mai 2007, 18:03:29 »
Alors, poses toutes tes questions, je suis là pour ça
1. Pour les PA_RecoInfo, elles ne sont probablement pas dans la doc (qui ne concerne en fait que les macros/fonctions), mais on les voit utilisées dans les exemples de reconnaissance de PAlib...
2. Pour l'épaisseur du trait, c'est 100% indépendant du système de reconnaissance. J'utilise juste la fonction PA_16bitDraw pour dessiner (la fonction de base), qui elle permet de choisir l'épaisseur du trait
Le système de reconnaissance stocke en mémoire les entrées du stylet mais ne dessine pas, ce qui permet de reconnaitre sans dessiner
Pareil pour la couleur, c'est la fonction PA_16bitDraw (cf les exemples).
Et la suite ?
Journalisée
Pitt
Administrateur
Messages: 575
Re : [NDS] Skinz Sudoku !
«
Réponse #38 :
02 Mai 2007, 18:37:50 »
Hmm à moi ! Comment porter un jeu de PS3 et lui ajouter l'usage du stylet, du wifi et du micro, avec PA_Lib, le tout en 2 sec ?
A part ça j'ai perdu ... en insane, j'ai abandonné au bout de 50 min
Quelle buse ...
Journalisée
Cid2Mizard
Super Mega Member
Messages: 3948
Disciple Kukulcanien
Re : [NDS] Skinz Sudoku !
«
Réponse #39 :
02 Mai 2007, 18:41:54 »
Pour quand le skin tabatha cash ? MDR
Journalisée
Mon Blog
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #40 :
02 Mai 2007, 18:42:54 »
Files des liens et je fais une serie de skins 'cochonnes' ^^ ;) (ou donne 4 noms)
Journalisée
Cid2Mizard
Super Mega Member
Messages: 3948
Disciple Kukulcanien
Re : [NDS] Skinz Sudoku !
«
Réponse #41 :
02 Mai 2007, 18:47:13 »
je v reflechir il y en a tellement lol :P
Journalisée
Mon Blog
Gedeon34
Newbie
Messages: 40
Re : Re : [NDS] Skinz Sudoku !
«
Réponse #42 :
02 Mai 2007, 19:41:40 »
Citation de: Mollusk le 02 Mai 2007, 18:03:29
1. Pour les PA_RecoInfo, elles ne sont probablement pas dans la doc (qui ne concerne en fait que les macros/fonctions), mais on les voit utilisées dans les exemples de reconnaissance de PAlib...
Ok, j'étais passé à côté...
Citation de: Mollusk le 02 Mai 2007, 18:03:29
2. Pour l'épaisseur du trait, c'est 100% indépendant du système de reconnaissance. J'utilise juste la fonction PA_16bitDraw pour dessiner (la fonction de base), qui elle permet de choisir l'épaisseur du trait :) Le système de reconnaissance stocke en mémoire les entrées du stylet mais ne dessine pas, ce qui permet de reconnaitre sans dessiner ^^ Pareil pour la couleur, c'est la fonction PA_16bitDraw (cf les exemples).
Sur
http://www.palib.info/Doc/PAlibDoc%20Eng/group___bitmap.html
la fonction PA_16bitDraw ne permet pas de choisir l'épaisseur mais juste l'écran et la couleur... Comment t'as fait, dis ? ;D
Citation
Et la suite ? :p
Houlà, je crois vraiment qu'il faudra faire point par point... sinon on n'y arrivera pas... en tout cas merci pour tes réponses rapides...
Enfin, si peut être deux petites :
- on est d'accord que pour avoir plus de 128 sprites il faut utiliser les sprites 3D ?
- Est-ce qu'il y a une autre possibilité que d'utiliser des sprites si je veux afficher des boules numérotées de 1 jusqu'à 200 (par exemple) sur un fond chargé ? J'aimerai mieux car je ne me vois pas en train de créer les 200 sprites juste pour afficher/cacher les boules numérotées sur le fond...
Journalisée
Mollusk
PAlib Guru et
Administrateur
Messages: 3480
Ne vous posez pas de questions, codez !
Re : [NDS] Skinz Sudoku !
«
Réponse #43 :
02 Mai 2007, 20:53:39 »
Citation de: Gedeon34 le 02 Mai 2007, 19:41:40
Sur
http://www.palib.info/Doc/PAlibDoc%20Eng/group___bitmap.html
la fonction PA_16bitDraw ne permet pas de choisir l'épaisseur mais juste l'écran et la couleur... Comment t'as fait, dis ? ;D
Roh, ouvre les yeux un peu ^^
PA_SetDrawSize
(pas assez explicite comme nom ?)
Citation
- on est d'accord que pour avoir plus de 128 sprites il faut utiliser les sprites 3D ?
Oui :)
Citation
- Est-ce qu'il y a une autre possibilité que d'utiliser des sprites si je veux afficher des boules numérotées de 1 jusqu'à 200 (par exemple) sur un fond chargé ? J'aimerai mieux car je ne me vois pas en train de créer les 200 sprites juste pour afficher/cacher les boules numérotées sur le fond...
J'ai pas compris là ^^ Ca dépend de pas mal de choses, par exemple comment il faut qu'elles soient affichées, etc...
- Tu peux le faire avec des tiles si callées sur la grille de 8x8
- Tu peux utiliser des sprites 3D avec juste des textures pré-chargées, ca prend peu de mémoire...
- Tu peux utiliser un fond 16couleurs et dessiner dessus, je m'en suis servi dans des démos de shmup, tu peux avoir 400-600 boules sur les 2 écrans comme ca ^^
Journalisée
Gedeon34
Newbie
Messages: 40
Re : Re : [NDS] Skinz Sudoku !
«
Réponse #44 :
02 Mai 2007, 22:09:01 »
Citation de: Mollusk le 02 Mai 2007, 20:53:39
Roh, ouvre les yeux un peu ^^
PA_SetDrawSize
(pas assez explicite comme nom ?)
Bon, ben, j'ai l'air con... ;D
Citation de: Mollusk le 02 Mai 2007, 20:53:39
J'ai pas compris là ^^ Ca dépend de pas mal de choses, par exemple comment il faut qu'elles soient affichées, etc...
- Tu peux le faire avec des tiles si callées sur la grille de 8x8
En fait, 8x8 ça risque de faire un peu juste pour afficher un nombre de 3 chiffres...
Citation
- Tu peux utiliser des sprites 3D avec juste des textures pré-chargées, ca prend peu de mémoire...
Justement, comment éviter d'avoir à créer les 200 sprites différents ? Puisque chaque boule devra avoir un chiffre différent...
Ou alors chaque boule sera "l'assemblage" de plusieurs sprites, 1 celui de la boule + 3 autres pour les chiffres...
Citation
- Tu peux utiliser un fond 16couleurs et dessiner dessus, je m'en suis servi dans des démos de shmup, tu peux avoir 400-600 boules sur les 2 écrans comme ca ^^
Mais si je dessine sur le fond l'image d'une boule avec les chiffres du nombre, est-ce que je peux ensuite l'effacer et retrouver le fond derrière ?
Plus généralement, est-ce qu'on peut tracer quelque chose sur un fond et l'effacer pour retrouver le fond tel qu'il l'était avant ?
Journalisée
Pages:
1
2
[
3
]
4
5
6
Haut de page
Imprimer
Aller à:
Merci de choisir une destination:
-----------------------------
Compos
-----------------------------
=> Compo Débile Dev-Fr !
-----------------------------
Les News
-----------------------------
=> News
=> Vos News
-----------------------------
Général
-----------------------------
=> Discussion générale
=> Demande de blogs
=> Evolution du site
-----------------------------
Articles
-----------------------------
=> Interviews
=> Tests
===> Vos Tests
=> Démos Techniques
=> Pimp My Code
=> Tutoriaux
=> Le HS total du dimanche
-----------------------------
Divers Developpement
-----------------------------
=> Idées de Projets
=> Codes et Optimisations
=> Emulation
=> Graphismes
=> Game Design / Level Design
=> Musiques
=> Autre
-----------------------------
Dev-FR Coding Compo 2007
-----------------------------
=> International Section
===> Apps
===> Games
=> Section Francophone
===> Applications
===> Jeux
-----------------------------
Nintendo DS/GBA
-----------------------------
=> Projets
=> Aide au développement
=> Résolu via IRC
-----------------------------
PSP
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
iPhone / iTouch
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Android
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Dingoo
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
Wii/NGC
-----------------------------
=> Projets
=> Aide au développement
-----------------------------
PS3/Linux
-----------------------------
=> Projets
=> Divers
-----------------------------
Xbox 360
-----------------------------
=> Projets
=> Aide au développement
=> Tutoriels
-----------------------------
Windows/Mac/Linux
-----------------------------
=> Projets
=> Aide au developpement
-----------------------------
PocketPC
-----------------------------
=> Projets
-----------------------------
Matériel
-----------------------------
=> Consoles
=> Ordinateurs
=> UltraPortables