Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
192 connectés actuellement
30792032 visiteurs depuis l'ouverture
1492 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Messages postés par Nagato Yuki Nombre de messages référencés sur Oniromancie (non supprimés): 298 Aller ŕ la page: 1 2 3 4 5 6 7 8
Posté dans Forum - Les erreurs faites par les Game Makers. |
Nagato Yuki -
posté le 09/03/2014 ŕ 11:40:02. (351 messages postés) |
| Citation: Ajouter : «Avec une équipe quasi-inexistante ou en étant seul sans de grandes compétences.»
Il y a rien de mal à être ambitieux, il faut juste pouvoir s'assurer derrière et avoir les compétences nécessaire pour réaliser les ambitions voulues. En équipe c'est pas la même chose, surtout avec une communauté derrière qui apporte des commentaires ou qui peuvent tester les choses que l'on fait affin de les améliorer ou les debugguer au cas où :d
Citation: - Vouloir une équipe de créateurs |
Je changerai en «Recruter alors que le projet n'est qu'au stade d'ébauche.»
Au niveau de la musique, il y a un temps où je mettais les loop point sur les fichiers Ogg, ça fonctionnais aussi avec RMXP. Le problème c'est qu'aujourd'hui, plus moyen de trouver la fonction x)
Après, y'a un autre problème à ça, quand on a des fichiers midi, il faut avoir un log qui fait la conversion en ogg et un log de confiance qui le fait bien. (Perso j'utilise FL Studio 9 vu que je peux avoid certaine chaines qui détruisent littéralement les oreilles du joueur.)
La musique pose certains problèmes, le poid, certains utilisent des encodages du genre 320kb/s alors que la musique était en 128kb/s, d'autre font des musiques de 10 minutes en espérant qu'on ne l'écoute pas plus de 10 minutes et qu'on ne voit pas le manque de loop point.
Franchement, un jeu RM de 300 Mo, si il fait 300Mo de jeu, pourquoi pas, mais 300Mo avec 250Mo de musiques, non, je suis pas d'accord.
Il y a deux raisons à ça :
->On a pas tous la chance d'avoir la fibre donc 300Mo c'est long, surtout si au final le jeu est pourri et qu'on tient pas 5 minutes dessus. (Parce que les screens c'est bien beau, les trailers aussi mais ça ne reflète pas le jeu.)
->Certains coupent la musique du jeu lorsqu'ils y jouent alors c'est un téléchargement dans le vent. (Parce qu'il faut penser aussi que les gouts du maker ne sont pas universel et parfois il y a des musiques qu'on aimerai sauter ou qui sont carrément pas en rapport avec la scène donc plutôt que d'être dégouté par ça, autant faire sans.)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Test FmodEx] Music Player |
Nagato Yuki -
posté le 05/03/2014 ŕ 12:32:12. (351 messages postés) |
| Ouais, j'avais codé ça pour faire tester l'implémentation de Fmod au RGSS (vu que je compte l'ajouter sur Pokémon Gemme et Pokémon Orbe Doré), le but était donc pas de faire un VLC mais quand même de faire un truc qui pousse les gens à essayer :3
J'avoue que le pitch est pas très précis, aussi bien niveau réglage que niveau modification, quand tu retourne à 100 t'es plus à 100 réel sauf si tu relances (perte de précision à cause de la récupération de la fréquence en entier et non en float).
J'ai aussi remarqué pour le pointeur, ça vient du fait que j'ai dégommé le WndProc du RGSS pour mettre le mien affin d'éviter F1 et Alt+Entrée, celui que j'utilise était prévu pour des dialogbox donc forcément Windows aime pas trop, je regarderai pour en faire un qui clignote pas la souris x)
Merci du commentaire et d'avoir essayer :3
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Test FmodEx] Music Player |
Nagato Yuki -
posté le 01/03/2014 ŕ 21:08:32. (351 messages postés) |
| Salut, aujourd'hui j'ai codé une partie de module FmodEx qui permet de lire des fichiers audio avec beaucoup plus de libertés qu’en utilisant les fonctions de base du RGSS, pour tester tout ça, j’ai codé le programme (en RGSS) que voici :
C’est un lecteur de musique basique mais avec ça on peut tester une partie de fonctions proposées par Fmod. Je poste ça ici dans l’espérance que vous testiez et la chose et me rapportez les différentes difficultés que vous pourriez avoir à la lecture des musiques.
Ce que je veux savoir c’est si Fmod est largement compatible avec divers PC car il y a quelques années il y a quelqu’un qui avait un problème de lecture avec la version Ruby du script FmodEx.
Le petit lien de téléchargement : https://www.mediafire.com/?w24cpv8rb9ivjbp
Si vous voulez mettre des musiques personnalisés pour mettre à rude épreuve Fmod il vous suffira de copier les fichiers dans le dossier « Files ». (Les scripts ne sont pas cryptés et je n’ai absolument pas commenté le script de lecture.)
PS : Je poste dans cette section car l’objet en question a été codé en partie avec RPG Maker XP, si vous pensez qu’il y a meilleure section, déplacez.
PS² : Je coderais rien de plus en ruby dedans donc on peut considérer ça comme terminé
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - RPG Maker VX Ace, ou RPG Maker XP? |
Nagato Yuki -
posté le 30/01/2014 ŕ 00:02:52. (351 messages postés) |
| Nop Nuki, j'ai remarqué que beaucoup de projets anglais sous VX.Ace avaient du drop de FPS parce que le dessin des bitmaps (texte il me semble) et l'affichage des Sprite/Window est plus lent en RGSS3. (Certainement parce que le core fait des vérifications supplémentaires.)
Sinon, le RGSS3 a des optimisations ailleurs, dans l'execution des scripts par exemple mais la meilleur optimisation a été l'utilisation des symboles dans les scripts de base :d
@Nuki : Pour en revenir à j'aurais fait de la merde, je ne pense pas hormis pour une chose, ma fenêtre du RGSS1 était en 800x600 et le Graphics.update n'était pas tout à fait l'original :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| VALUE Graphics_update(VALUE self)
{
RECT rc;
if(GetSystemMetrics(SM_CXSCREEN)>640)
{
GetClientRect($HWND,&rc);
if((rc.right != GWidth) || (rc.bottom != GHeight))
{
VALUE argv[3]={(GWidth<<1)|1,(GHeight<<1)|1,2};
Graphics_ResizeScreen(3,argv,self);
}
}
return ((fGraphics_Update_Intern)old_graphics_update)(self);
} |
Sinon, le projet test du RGSS3 était un projet vierge avec le script en premier script donc il était largement avantagé par rapport au RGSS1.
Après, je te laisse faire d'autres tests parce que là, je n'ai que jugé la capacité à afficher plein de sprites x)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - RPG Maker VX Ace, ou RPG Maker XP? |
Nagato Yuki -
posté le 29/01/2014 ŕ 21:53:14. (351 messages postés) |
| @Sylvanor : Non, le RGSS3 lag plus facilement que le RGSS1.
J'ai fait un test :
-6000 Sprites
=>0fps sur le RGSS3
=>7fps sur le RGSS1
-3000 Sprites
=>14fps sur le RGSS3
=>15fps sur le RGSS1
-1000 Sprites
=>41fps sur le RGSS3
=>40fps sur le RGSS1
Rien que mille sprite fait perdre un tiers du framerate en RGSS 3 donc on peut en déduire que le framerate est plus instable et donc plus le moteur plus lent. (Après, cela dépend des bécanes mais moins le moteur est robuste, moins bon c'est.)
Code utilisé :
1
2
3
4
5
6
7
8
9
10
11
12
13
| a=Array.new()
c=Bitmap.new(32,32)
c.fill_rect(0,0,32,32,Color.new(100,0,0))
1000.times do
b=Sprite.new
b.bitmap=c
b.x=rand(640)
b.y=rand(480)
a.push(b)
end
loop do
Graphics.update
end |
Bref, les deux programmes se valent globalement, il y en a un avec plein de fonctions, l'autre qui est plus simple et stable, à toi de voir ce que tu veux exactement et comme l'a dit daheji, le prix sera assez décisif donc si tu fais pas du RPG, réfléchis bien.
___
Sinon, pour les projets cryptés, essayez de modifier les maps de ce projet : http://www.pokemonscriptproject.com/t12988-Pok-mon-Orbe-Dor.htm?theme=test
Si vous arrivez à les modifier et à faire fonctionner le jeu en ayant un Pokémon Orbe Doré.dat ayant les maps modifiés à l'intérieur. Je serais content, mon travail n'aura pas été inutile :d
(En gros, il y a toujours un moyen de contourner les problèmes ^^)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Programme]YuriRGSSMod |
Nagato Yuki -
posté le 03/01/2014 ŕ 11:29:56. (351 messages postés) |
| C'est mon abus du ":3" qui doit prêter à confusion.
Pour le moment, c'est juste RGSS 1 car j'ai pas encore inspecté le RGSS3 pour intégrer les fonctions mais une fois que je l'aurais fait je ferais une compilation en excluant Graphics pour le RGSS 3. Donc en gros, c'est tourné RMXP pour le moment ^^
Ça permet en effet de se simplifier la vie même si c'est pas forcément des fonctions très courantes mais qui existent dans d'autres scripts codés en Ruby. L'avantage est principalement une plus grande vitesse en sautant tous les Win32API qui font des traitements supplémentaires entre l'appel de call et l'appel de la procédure réelle. (Sans compter les pack et unpack qui ne sont plus nécessaires.)
__________________
Édit visible : J'ai fait une toute petite modification sur la version 0.0.0.4, les socket se ferme seule lorsque la fonction recv ne reçoit rien, je trouvais bizarre que ça ne faisait pas d'erreur quand l'autre client fermait sa socket et en fait les développeurs de Winsock ont décidé de faire retourner 0 à recv plutôt que -1 dans ce cas de figure x)
Par ailleurs, je ne ferais pas de version RGSS3 tout de suite car Enterbrain c'est des gros sadiques, ils ont utilisé une convention d'appel qui n'existe pas pour des fonctions tels que rb_str_new donc je dois programmer en assembleur pour appeler ces fonctions sans problèmes, enfin, c'est pas le plus dur vu que je n'utilise pas GCC j'ai pas cette syntaxe pourrie qui vient de AT&T; j'ai la syntaxe Intel qui est bien plus pratique et intuitive mais je dois regarder avec détails comment les arguments sont passés et si je dois nettoyer le stack moi même dans certains cas x)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!! |
Nagato Yuki -
posté le 31/12/2013 ŕ 11:07:41. (351 messages postés) |
| @hassen : Tu peux tenter l'implémentation du RGSS3 dans RMXP (faudra tout calibrer) et utiliser le script de Zeus (Bitmap.export) pour enregistrer les captures.
Comme ça, tout ce que t'auras à faire c'est :
1
2
3
| tmp_screen=Graphics.snap_to_bitmap
tmp_screen.export("Screen_id.png")
tmp_screen.dispose |
Il y a des explications sur comment faire ici : http://www.hbgames.org/forums/viewtopic.php?p=913614#p913614 (Il faut télécharger l'images :3)
@Mack : Je te conseille un petit truc pour comprendre le fonctionnement des autotiles :
Sur RMXP ils sont forcément séparé de 48 ce qui veut dire qu'un autotile génère 48 tiles (animés ou non). Pour trouver à quoi correspond chaque id tu peux faire créer un évent et celui-ci tu lui demande d'entrer un nombre à 3 digits dans une variables et après cela $game_map.data[x,y,2] =$game_variables[id]
Avec x et y étant une coordonnée proche de l'évent qui te permet de choisir le tile et id l'id de la variable qui sera modifié par entrer un nombre :3
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Programme]YuriRGSSMod |
Nagato Yuki -
posté le 28/12/2013 ŕ 16:19:58. (351 messages postés) |
| Yuri RGSS Mod
Salut, récemment je me suis entrepris dans le codage de certaines modification (plus des ajouts) du RGSS1.
J'ai codé un petit exécutable qui crée plein de fonctions qui servent à rien dans le RGSS1 mais qui comme sont codés en c++ sont plus rapides :b (On supprime par exemple les créations d'Array pour récupérer la position de la souris.)
C'est pour le moment destiné à RMXP, je réfléchirais plus tard à un portage pour VX.Ace.
Les fonctions
Input
Input.mx Récupérer la position X de la souris dans la fenêtre de jeu.
Input.my Récupérer la position Y de la souris dans la fenêtre de jeu.
Input.kpress?(vk_key) Vérifier si la touche virtuelle vk_key est appuyé.
Exemple : Input.kpress?(65) va retourner true si A est appuyé.
Input.ktrigger?(vk_key) Vérifie si vk_key présente un front descendant.
Input.ktrigged?(vk_key) Pareil que ktrigger?
Input.ktrigger2?(vk_key) Vérifie si vk_key présente un front montant.
Input.kreleased?(vk_key) Pareil que ktrigger2?
Input.CapsLocked? Vérifie si vous gueulez.
Input.NumLocked? Vérifie si le pad numérique est activé.
Input.ScrollLocked? Vérifie si le scroll de la console est verrouillé.
Input.GetKeyboardState Retourne un string contenant le data retourné par GetKeyboardState()
Input.GetKeyboardState(string) Retourne true si ça a réussit à copie le data retourné par GetKeyboardState() dans le string.
Note: Il y a deux variables d'instance dans le module Input : @mx et @my, elle contiennent les valeurs retourné par mx() et my().
Input.update_joy=(bool) Active ou désactive la mise à jour des JoyPad.
Input.update_joy? Retourne si oui ou non Input.update va mettre à jour les Joypad.
Input.set_checkJoyCaps_condition(nb) Change le délais utilisé pour mettre à jour les 16 caps des JoyPads.
Input.getJoyError(id) Retourne l'erreur du id[sup]ème[/sup] Joypad, souvent Input::JOYERR_PARMS pour les joypad pas encore branchés.
Input.getJoyName(id) Retourne la pseudo description du JoyPad x)
Input.getJoyDeltaX(id) Retourne la différence entre Xmax et Xmin sur l'axe X du joypad.
Input.getJoyDeltaY(id)
Input.getJoyDeltaZ(id)
Input.getJoyDeltaR(id)
Input.getJoyDeltaU(id)
Input.getJoyDeltaV(id)
Input.getJoyNumButton(id) Retourne le nombre de boutons présents sur le Joypad.
Input.jpress?(id,key) Vérifie si la touche key du JoyPad id est pressé.
Input.jtrigger?(id,key) Si elle présente un front descendant.
Input.jtrigger2?(id,key) Si elle présente un front montant
Input.jtrigged?(id,key)
Input.jreleased?(id,key)
Input.jcurrentKey(id) Retourne la touche pressé actuellement.
Input.jAxeX(id) Retourne la position de l'axe X. (-(Xmax-Xmin)...(Xmax-Xmin))
Input.jAxeY(id)
Input.jAxeZ(id)
Input.jAxeR(id)
Input.jAxeU(id)
Input.jAxeV(id)
Input.jHasZ(id) Vérifie si le JoyPad a un axe Z.
Input.jHasR(id)
Input.jHasU(id)
Input.jHasV(id)
Input.jAxeX!(id) Retourne la position de l'axe X. (-1, 0 ou 1)
Input.jAxeY!(id)
Input.jAxeZ!(id)
Input.jAxeR!(id)
Input.jAxeU!(id)
Input.jAxeV!(id)
Input::MMSYSERR_NODRIVER
Input::MMSYSERR_INVALPARAM
Input::MMSYSERR_BADDEVICEID
Input::JOYERR_UNPLUGGED Le JoyPad a été débranché.
Input::JOYERR_PARMS Soit aucun JoyPad n'est branché ici, soit la mise à jour a fait de la merde
Note : Si vous débranché un JoyPad, vous serez obligé de le rebrancher à l'endroit où il a été débranché... Les manettes seraient fidèle. *fuit*
Graphics
Graphics.width Retourne la largeur de l'écran (relative au resize_screen).
Graphics.height Retourne la hauteur de l'écran.
Graphics.resize_screen(width,height) Redimensionne l'écran sans le bouger.
Graphics.resize_screen(width,height,true) Redimensionne l'écran en le centrant.
Graphics.snap_to_bitmap Fait une capture d'écran dans un Bitmap, comme en RGSS2 :3
Socket
Socket.new(family,type,protocol)
Socket.connect(hostname,port)
Socket.send(str)
Socket.recv(size) La socket se ferme si le data reçut fait 0 byte : "If the connection has been gracefully closed, the return value is zero." (à partir de 0.0.0.4b)
Socket.recv(buffer)
Socket.closed?
Socket.close
Socket.listen(nb_sock)
Socket.accept
Socket.bind(hostname,port)
Socket.shutdown(how)
Socket::AF_UNSPEC
Socket::AF_INET
Socket::AF_IPX
Socket::AF_APPLETALK
Socket::AF_NETBIOS
Socket::AF_INET6
Socket::AF_IRDA
Socket::AF_BTH
Socket::SOCK_STREAM
Socket::SOCK_DGRAM
Socket::SOCK_RAW
Socket::SOCK_RDM
Socket::SOCK_SEQPACKET
Socket::IPPROTO_ICMP
Socket::IPPROTO_IGMP
Socket::BTHPROTO_RFCOMM
Socket::IPPROTO_TCP
Socket::IPPROTO_UDP
Socket::IPPROTO_ICMPV6
Socket::IPPROTO_RM
Socket::SOMAXCONN
Socket::SD_RECEIVE
Socket::SD_SEND
Socket::SD_BOTH
SocketError
L'erreur dans les sockets.
TCPSocket
TCPSocket.new(hostname,port)
TCPSocket.readable?
TCPSocket.send(str)
TCPSocket.recv(size)
TCPSocket.recv(buffer)
TCPSocket.closed?
TCPSocket.close
TCPSocket.shutdown(how)
TCPServer
TCPServer.new(hostname,port)
TCPServer.accepting?
TCPServer.send(str)
TCPServer.recv(size)
TCPServer.recv(buffer)
TCPServer.closed?
TCPServer.close
TCPServer.listen(nb_sock)
TCPServer.accept
TCPServer.shutdown(how)
C'est tout ce que j'ai fait pour les fonctions ajoutés :3
Téléchargement
Version 0.0.0.4
From MediaFire
Version 0.0.0.4b
From MediaFire
Comment l'utiliser
Il faudra mettre la ligne suivant dans le tout premier script pour activer toute les fonctions ajoutés :
1
| init_rgss_mod() if Kernel.private_method_defined?(:init_rgss_mod) |
Et lancer le jeu avec YuriRGSSMod.exe (Renommez en Game.exe si ça vous fait chier avec RMXP :b)
Quand vous comptez redistribuer votre jeu et que vous utilisez ce programme, renommez l'exe et modifiez le titre de la fenêtre en modifiant le seul string contenu dans les StringTable de l'executable :3
L'archive encodée RGSS doit porter le même nom que le programme, de même pour le fichier ini si vous utilisez des RTPs.
Note: Le débug est désactivé que si il y a une archive RGSSAD encodée.
Crédits
Dahrkael - The topic that gave me the motivation to program this
Enterbrain - The RGSS.
Microsoft - Winmm, User32, Kernel32, WinSock etc…
Nuri Yuri - YuriRGSSMod.exe
Mot de la fin
Si vous avez des suggestions ou des remarques à faire là dessus, je suis ouvert :3
J'ai mis ça ici car je le considère comme un projet bien que ce ne soit pas un jeu, vous êtes libres de déplacer dans la section adéquat si elle existe :b
PS : J'ai testé qu'avec le matériel que j'ai chez moi donc j'ai aucune idée de la compatibilité avec les manettes XBox and co x) (Mon frère n'a pas le cordon, fichues manettes sans fil :<)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - Jeux RMXP sur android |
Nagato Yuki -
posté le 21/11/2013 ŕ 20:17:00. (351 messages postés) |
| J'essaierais avec mon futur portable si c'est celui que j'ai demandé :3 (XPeria M)
Enfin, je sais d'avance que Gemme et mes projets ne passeront pas, ça dira : undefined method "init_YuriAPI" for nil:NilClass car les méthodes sont définies depuis le RGSS Player xD
(Après, si le truc est open-source, il y aurait moyen de le modifier pour que ça puisse fonctionner :3)
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - [Scripts] Petites questions connes sur les SCRIPTS!! |
Nagato Yuki -
posté le 21/11/2013 ŕ 20:09:44. (351 messages postés) |
| Une petite info pour toi :
gsub retourne toujours le nouveau string.
gsub! retourne le string si et seulement si il a été modifié, c'est pensé pour être utilisé de la sorte :
1
2
3
4
5
6
| is_an_icon=@picture_name.gsub!("icon "){nil}
if is_an_icon
print "Le fichier est une icone !"
else
print "Le fichier n'est pas une icone :("
end |
En gros, la méthode gsub! modifie le string sur lequel on appelle la méthode et n'en crée pas un.
Pour ton code, je te conseillerais plutôt de faire :
@picture_name.sub!("icon "){nil}
sub supprime uniquement la première instance "icon " qu'il voit, par contre, si la méthode est plusieurs fois appelée, ça risque de supprimer tous les "icon " que le string contient :b
Edit : D'ailleurs pour que ton code fonctionne en toute circonstances (je viens de le relire xD)
1
2
3
4
| if @picture_name.include?("icon ")
self.bitmap = RPG::Cache.icon(@picture_name.sub("icon ",""))
else
self.bitmap = RPG::Cache.picture(@picture_name) |
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Posté dans Forum - Pourquoi les jeux amateurs ne sont jamais fini ! |
Nagato Yuki -
posté le 22/10/2013 ŕ 09:52:16. (351 messages postés) |
| Très intéressant comme article mais ça semble vraiment privilégier les projets tout simples plus qu'une progressions linéaire du projet.
(Souvent, elle est exponentielle avec la règle du 90-90, si on a trop d'ambition, c'est factoriel et là, on peut plus rien faire :B)
@Monos : Y'a pire que le crash disque -_- Le Megaupload crash \\o//
Le moment où tu te rend compte que sauvegarder ton projet sur internet, ça sert à rien, il vaut mieux laisser ton projet cramer dans ta maison sur ton HDD externe parce que la probabilité que chez toi prenne feu est moins grande x)
Un projet amateur surtout pour l'apprentissage peut passer par un tas d'arrêt de de reprises, le tout c'est d'avoir la volonté de finir le projet. Ces arrêts permettent de réfléchir à une autre manière de faire la chose, de se remettre en question sur la stratégie choisie pour faire le projet précédemment et surtout, améliorer le concept de base, se rendre compte que faire dans un certain style graphique c'est juste suivre une tendance etc...
La chose à éviter, c'est de vouloir la présentation de son projet dans les sections avancé des forums de Making, ça fait du travail bâclé et superflu pour rien qui ne montrera juste la capacité à faire un DM la veille. Présenter les choses à faire petit à petit voir même demander des avis sur des choses qu'on a pas encore intégré permet de se calibrer et de voir nos limites dans les conceptions de choses. Il se donner l'accès aux critiques mais avant d'avoir fait les choses pour pouvoir mieux les faire. On en deviendra meilleur quelque soit la longueur du projet.
|
Pokémon Workshop, le site de Making Pokémon sur RPG Maker~ |
Aller ŕ la page: 1 2 3 4 5 6 7 8
|
|
|