Accueil du SiteAccueil du Site  AccueilAccueil  FAQFAQ  RechercherRechercher  MembresMembres  GroupesGroupes  ConnexionConnexion  S'enregistrerS'enregistrer  



Partagez | 
 

 [RMVX Ace - Online] Portage de mes APIs/GUIs

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
tonyryu
Paysan (niveau 4)
Paysan (niveau 4)
avatar

Masculin
Messages postés : 39
Date d'inscription : 14/09/2012
Jauge LPC :
37 / 10037 / 100


MessageSujet: [RMVX Ace - Online] Portage de mes APIs/GUIs   Jeu 4 Oct 2012 - 10:31

Edit du 13/12/2012

Le lien de téléchargement vient d'être retiré et le serveur de la démo technique arrêté. Mais ne prenez pas ça comme une mauvaise nouvelle, bien au contraire, le lancement du projet de jeu Azaruss étant imminent, nous devons préparer l'environnement serveur. Un peu de patience, un topic de présentation du jeu Azaruss sera bientot réalisé.


______________________________
Post d'origine


Informations :

Titre : Azaruss (qui sera le nom de mon projet qui en découlera)
Type de jeu : Portage d'APIs et GUIs de RMXP vers RMVX Ace
Logiciel : RMVX Ace
Créateur(s): Tonyryu Développeur, LightNox Testeur
Année: 2012


Avant propos :

Quelques uns d'entre vous ont peut être aperçu ou tester mes projets sur RPG Maker XP, projet qui avaient pour vocation de proposer des passerelles multijoueurs évoluées et paramétrables. Mes 2 projets principaux étaient PMO (Passerelle Multijoueur Online) et Olympe qui posait les bases du MORPG. Ces projets avaient la particularité d'avoir un noyau logiciel ne s'appuyant absolument pas sur les scripts de base de RMXP, c'est à dire que j'avais recoder les moteurs en partant de rien, juste en utilisant ce que pouvait proposer le RGSS à l'époque. J'ai donc coder la gestion des APIs clavier, souris et réseau, ainsi que la mise en place d'une gestion de GUI (boutons, textes, saisie, zone de texte, etc...).
Je n'ai jamais terminé ce que j'avais commencé sur ces 2 projets, tout simplement, car je les avais réalisé dans un esprit communautaire, c'est à dire voué à la distribution avec la possibilité de personnaliser simplement l'outil. Hors, la complexité d'un moteur online sur RPG maker et la volonté de créer un système de paramétrage simplifié est peu voir pas du tout compatible.
Ce projet de portage est un avant gout d'un projet Online que je compte créer, et ne sera pas ou peu communautaire, dans le sens de la réutilisation du code interne pour créer un projet online différent. Certes, le code client et serveur seront partagés, afin que tous puissent profiter du code interne (prends en la graine "La Pomme" de mes deux), mais il sera très difficile de le comprendre en ayant pas un très bon programmeur. En effet, ne partant pas dans l'optique communautaire du projet, je limiterai les commentaires et la clareté du code au strict minimum, voir même au crade dans certain cas par esprit de rapidité de développement.


Scénario :

Un portage de librairie n'a pas à proprement parler, de scénario. En effet, il s'agit d'une simple démo technique de l'utilisation des APIs et GUIs. Cependant, je peux détailler les objectifs qui étaient visés pour ce projet :
- Portage de l'API de gestion de souris
- Portage de l'API de gestion de clavier
- Portage de l'API de gestion réseaux
- Création des GUIs les plus utilisés
- Recodage de la gestion de Scene_Base, Window_Base afin d'y intégrer les GUIs et d'optimiser et simplifié le développement des scenes.
- Mise en place d'un serveur simplifié pour la démo technique
- Création d'une interface de connexion
- Création d'une interface de tchat
- Voir chaque joueurs connectés se déplacer de façons fluide dans 8 directions, au pixel et non plus au tile

Petit exemple de code de la fenêtre d'affichage des news :
Code:
#==============================================================================
# ** Window_News
#------------------------------------------------------------------------------
#  This is a window news class
#==============================================================================

# News
COULEUR_TITRE_NEWS = "E8DC00"
COULEUR_NEWS = "FFFFFF"

class Window_News < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super({:rect => Rect.new(Graphics.width / 2, 0, Graphics.width / 2, Graphics.height), :active => true, :padding => 8})
   

    fontLib = Font.new
    fontLib.color = couleur_hexa(COULEUR_TITRE_NEWS)
    fontLib.size = 30
    add_gui("libNews", Gui_Base.new({:rect => Rect.new(0,0,contents.width,30),
                                    :text => Vocab::News,
                                    :textAlign => 1,
                                    :textFont => fontLib}))
                                   
    fontNews = Font.new
    fontNews.color = couleur_hexa(COULEUR_NEWS)
    fontNews.size = 20
    add_gui("zoneText", Gui_TextArea.new({:rect => Rect.new(0,40,contents.width,contents.height - 40),
                                          :textFont => fontNews,
                                          :lineHeight => 25}))
  end
 
end
Vous constaterez que l'on est très très loin, de ce que peut être la définition d'une Window sur le système par défaut.


Difficultés rencontrées :

J'ai passé de nombreuses semaines dans une lutte acharnée contre l'UTF-8, qui n'était pas pris en charge par la version XP, et enfin, j'ai pu apprivoisé la bête. Pour ceux qui ne savent pas ce qu'est l'UTF-8, je ne peux que vous conseiller d'aller lire cette article de wikipedia : http://fr.wikipedia.org/wiki/UTF-8. Vous comprendrez donc que la gestion du simple "é" est complètement différent d'un encodage à l'autre. La difficulté réside dans le fait que la gestion de l'UTF-8 ne sait pas encore généralisé sur tous les systèmes (c'est bien dommage) et que la cohabitation est souvent délicate à réaliser.

La mise en place de la gestion de déplacement d'un autre joueur connecté a également été très laborieuse d'un point de vue algorytmique.


Quelques Screens :






Le mot de la fin :

Le projet qui suivra ce portage aura pour nom Azaruss et fera l'objet d'un topic dédié lorsqu'il sera bien avancé. Sachant que les personnes ayant le client du projet de portage sera mis à jour régulièrement pour en arriver au projet Azaruss. N'hésitez pas a essayer de vous connecter à plusieurs en même temps pour tester. Et surtout, si vous voyez le moindre bug, n'hésitez pas à le signaler.


Dernière édition par tonyryu le Jeu 13 Déc 2012 - 10:36, édité 2 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Invité
Invité
avatar


MessageSujet: Re: [RMVX Ace - Online] Portage de mes APIs/GUIs   Jeu 4 Oct 2012 - 15:30

Je le répète ! Bravo tonyryu c'est vraiment impressionnant !
Revenir en haut Aller en bas
lidenvice
Ancien staffeux
Ancien staffeux
avatar

Masculin
Messages postés : 1953
Date d'inscription : 18/10/2011
Jauge LPC :
68 / 10068 / 100






















MessageSujet: Re: [RMVX Ace - Online] Portage de mes APIs/GUIs   Jeu 4 Oct 2012 - 20:48

Excellent travail et merci pour le partage. Quelques LPDM pour cette réalisation.

_____________________
Faire, chercher, persévérer et s'appliquer sont les verbes du maker

L'"antinormique attitude"® est propriété de L&V'corp™.
Toute reproduction serait pure perte de temps
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Number6406
Paladin (niveau 2)
Paladin (niveau 2)
avatar

Messages postés : 578
Date d'inscription : 23/07/2012
Jauge LPC :
8 / 1008 / 100





MessageSujet: Re: [RMVX Ace - Online] Portage de mes APIs/GUIs   Sam 6 Oct 2012 - 0:45

Ouah énorme *-*
Superbe boulot, bravo Smile

_____________________
Cordialement,
Number6406 =)
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
tonyryu
Paysan (niveau 4)
Paysan (niveau 4)
avatar

Masculin
Messages postés : 39
Date d'inscription : 14/09/2012
Jauge LPC :
37 / 10037 / 100


MessageSujet: Re: [RMVX Ace - Online] Portage de mes APIs/GUIs   Jeu 13 Déc 2012 - 10:35

Le lien de téléchargement vient d'être retiré et le serveur de la démo technique arrêté. Mais ne prenez pas ça comme une mauvaise nouvelle, bien au contraire, le lancement du projet de jeu Azaruss étant imminent, nous devons préparer l'environnement serveur. Un peu de patience, un topic de présentation du jeu Azaruss sera bientot réalisé.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
[RMVX Ace - Online] Portage de mes APIs/GUIs
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RMVX Ace - Online] Portage de mes APIs/GUIs
» [RMVX Ace - Online] Azaruss
» Semaine internationale du portage => code promo ;-)
» DANSE PORTAGE
» Portage dans le dos?

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ CRÉATIONS ~ :: Jeux et projets :: Élaboration de projets-
Sauter vers: