Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Scripts: [XP] SE au volume variable / Scripts: [XP] Déplacements en (...) / Partenaires: Vidéo rewind 2024 / News: Les actualités de fin d'année / Jeux: Glixel en version complète / Chat

Bienvenue
visiteur !





Désactiver
la neige


publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

222 connectés actuellement

30906892 visiteurs
depuis l'ouverture

1592 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

New RPG Maker

RPG Maker Détente

Eclipso

Le Comptoir Du clickeur

Tous nos partenaires

Devenir
partenaire



Messages postés par Mack
Nombre de messages référencés sur Oniromancie (non supprimés): 1807

Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Posté dans Forum - [RM XP] Système d'inventaire custom

Mack - posté le 09/08/2017 à 14:30:41. (2313 messages postés) -

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs map screen processing.
#==============================================================================
 
SIZE = 64
PAGE_MAX = 3
 
ROW = 2
COL = 5
 
X = 0
Y = 0
 
FONT_SIZE = 18
 
SWITCH = 1
SWITCH_OPEN = 2
 
class Scene_Map
  
 
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  alias main_old main
  def main
    
    $game_switches[SWITCH_OPEN] = false
    
    @spriteBack = Sprite.new
    @spriteBack.bitmap = RPG::Cache.picture("back1")
    
    
    @spriteSelector = Sprite.new
    @spriteSelector.bitmap = RPG::Cache.picture("selector")
    
    
    @index = 0
    
    @x = X
    @y = Y
    
    x = 20 + @index % COL * (SIZE)
    y = 20 + @index / COL * (SIZE)
    
    @spriteSelector.x = @x + x
    @spriteSelector.y = @y + y
    
   
    
    @spriteBack.x = @x
    @spriteBack.y = @y
    
    @window_item = WindowItemCustom.new((COL*SIZE)+48,(ROW*SIZE)+48)
    @window_item.x = @x
    @window_item.y = @y
    
    @spriteBack.z = @window_item.z - 1
    @spriteSelector.z = @spriteBack.z + 1
    
    @spriteBack.visible = false
    @window_item.visible = false
    @spriteSelector.visible = false
    
    main_old
    
    @spriteBack.bitmap.dispose
    @spriteBack.dispose
    @spriteSelector.bitmap.dispose
    @spriteSelector.dispose
    @window_item.dispose
    
    
  end
  
  alias update_old update
  def update
    
    if ($game_switches[SWITCH_OPEN]) 
      if Input.repeat?(Input::LEFT)
        if (@index % COL == 0)
           p = @window_item.getPage - 1
          if (p < 1)
            p = PAGE_MAX
          end
          @window_item.setPage(p)
          @spriteBack.bitmap = RPG::Cache.picture("back"+p.to_s)
          @index = (@index + (COL-1)) % (ROW * COL)
        else
          @index = (@index - 1) % (ROW * COL)
        end
      end
      if Input.repeat?(Input::RIGHT)
        if (@index % COL == COL - 1)
          p = @window_item.getPage + 1
          if (p > PAGE_MAX)
            p = 1
          end
          @window_item.setPage(p)
          @spriteBack.bitmap = RPG::Cache.picture("back"+p.to_s)
          @index = (@index - (COL-1)) % (ROW * COL)
        else
          @index = (@index + 1) % (ROW * COL)
        end
      end
      
      if Input.repeat?(Input::UP)
        @index = (@index - COL) % (ROW * COL)
      end
      if Input.repeat?(Input::DOWN)
        @index = (@index + COL) % (ROW * COL)
      end
      
      if Input.trigger?(Input::C)
         # If command event ID is valid
         @item = @window_item.getItem(@index)
        if @item.common_event_id > 0
          $game_switches[SWITCH] = true
          # Command event call reservation
          $game_temp.common_event_id = @item.common_event_id
          # If consumable
          if @item.consumable
            # Decrease used items by 1
            $game_party.lose_item(@item.id, 1)
          end
          @window_item.refresh
        end
      end
        
      x = 20 + @index % COL * (SIZE)
      y = 20 + @index / COL * (SIZE)
      
      @spriteSelector.x = @x + x
      @spriteSelector.y = @y + y
      
      if $game_switches[SWITCH]
        $game_switches[SWITCH] = false
        $game_switches[SWITCH_OPEN] = false
        Graphics.freeze
        @spriteBack.visible = false
        @window_item.visible = false
        @spriteSelector.visible = false
        Graphics.transition
      end
    else
      if $game_switches[SWITCH]
        $game_switches[SWITCH] = false
        $game_switches[SWITCH_OPEN] = true
        Graphics.freeze
        @spriteBack.visible = true
        @window_item.visible = true
        @spriteSelector.visible = true
        Graphics.transition
      end
    end
    
    
    update_old
  end
end
 
 
 
#==============================================================================
# ** WindowItemCustom
#------------------------------------------------------------------------------
#==============================================================================
 
class WindowItemCustom < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     w       : Width
  #     h       : Height
  #     c       : Column
  #     r       : Row
  #--------------------------------------------------------------------------
  def initialize(w,h)
    super(0,0,w,h)
    self.contents = Bitmap.new(w - 32, h - 32)
    self.back_opacity = 0
    self.opacity = 0
    self.visible = true
    
    @page = 1
    refresh
  end
  
  def getItem(i)
      return @data[i + (ROW * COL) * (@page - 1)]
  end
  
  def setPage(i)
    @page = i
    refresh
  end
  
  def getPage
    return @page
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.color = normal_color
    
    
    @data = []
    
    for i in 1...$data_items.size
      if $game_party.item_number(i) > 0
        @data.push($data_items[i])
      end
    end
    
    # If item count is not 0, make a bit map and draw all items
    @item_max = @data.size
    if @item_max > 0
      self.contents = Bitmap.new(width - 32, ROW * SIZE + 4)
      self.contents.font.size = FONT_SIZE
      index = (ROW * COL) * (@page - 1)
      for i in 0...(ROW * COL)
        if (index+i < @data.size)
          draw_item(index, i)
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Draw Item
  #     index : item number
  #--------------------------------------------------------------------------
  def draw_item(j,index)
    item = @data[j+index]
    case item
    when RPG::Item
      number = $game_party.item_number(item.id)
    when RPG::Weapon
      number = $game_party.weapon_number(item.id)
    when RPG::Armor
      number = $game_party.armor_number(item.id)
    end
    if item.is_a?(RPG::Item) and
       $game_party.item_can_use?(item.id)
      self.contents.font.color = normal_color
    else
      self.contents.font.color = disabled_color
    end
    x = 4 + index % COL * (SIZE)
    y = index / COL * SIZE
    bitmap = RPG::Cache.icon(item.icon_name)
    opacity = self.contents.font.color == normal_color ? 255 : 128
    self.contents.blt(x, y + 4, bitmap, Rect.new(0, 0, SIZE, SIZE), opacity)
    self.contents.draw_text(x + 2, y + SIZE - 24, 24, 32, number.to_s, 0)
  end
end



La nouvelle version du script.
J'pense que tu dois pouvoir tout paramétrer comme tu veux avec les Consts en début de script.

ROW, c'est le nombre de ligne ( Donc 2 dans le cas de ton screen ), COL le nombre de colonne ( 5 pour ton screen donc ), PAGE_MAX, le nombre de page à afficher.

Donc si tu veux 1 page de 30 items, tu mets que COL * ROW = 30 ( COL = 5 et ROW = 4 par exemple ), avec PAGE_MAX = 1.

Et de base, le max d'objet est de 99, donc ça gênera pas ^^.


Après, le gros problème de ton système, c'est que si t'as plus d'item que de nombre de slot disponible, les objets n’apparaîtront pas.
( Le joueur les aura bien, mais ils ne pourra pas y accéder. )
Donc si penses y ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - [RM XP] Système d'inventaire custom

Mack - posté le 09/08/2017 à 10:34:04. (2313 messages postés) -

C'est ça.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - [RM XP] Système d'inventaire custom

Mack - posté le 09/08/2017 à 00:48:28. (2313 messages postés) -

Bah, quand le joueur appuie sur les touches L et R, si il est dans le menu d'item, tu actives l'interrupteur SWITCH, ça fermera le menu d'item, et toi tu appelles ton autre menu.
Et si il est censé être dans les Items après un L / R, tu fermes ton menu et tu actives SWITCH pour ouvrir le menu.



En gros, SWITCH c'est comme un bouton poussoir, quand t'appuie dessus, si la lumière été allumé, elle s'éteint, et si elle été éteinte elle s'allume.

Tandis que SWITCH_OPEN sert juste à savoir si le menu d'Item est ouvert.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - [RM XP] Système d'inventaire custom

Mack - posté le 08/08/2017 à 19:05:37. (2313 messages postés) -

Nan, mais faire des systèmes inventaire en Event, c'est une cata.
Le mieux c'est clairement de le faire en script, voir semi script.

Le temps de ré-installer XP, et je bidouille un truc.


EDIT :

Du coup je t'ai bidouiller ça :
https://www.mediafire.com/file/j7cz0kz5kk79h1z/Project10.rar

La constante SIZE, c'est la taille d'une icone, SWITCH, c'est un interrupteur qui sert à detecter si tu fermes ou ouvre le menu ( CF l'évent de droite pour comprendre, quand t'actives l'interrupteur, le menu s'ouvre / se ferme. ), SWITCH_OPEN c'est pour savoir si le menu est ouvert ou fermé.

Les variables @x / @y correspondent aux coordonnées X/Y de la fenêtre.

En appuyant sur C sur un item, ça appellera l'évent commun lié à cet item.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - [RPG MAKER XP] Mah-jong

Mack - posté le 22/07/2017 à 12:09:54. (2313 messages postés) -

Bah un truc du genre :


Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
nbr_occurence = []
# J'ai un doute sur la création du tableau, donc la ligne du dessus sera peut être pas exacte.
 
for i in 1..14
        j = rand(42)+1
        while (nbr_occurence[j]<4) # Tu vérifies que t'es pas déjà 4 fois sortie cette valeur.
                j = rand(42)+1
        end
        
        # Y a moyen de faire mieux pour le while, mais j'me souviens plus du tout comment faire en ruby
        # A 
        if j<10
                nbr_occurence[j] = 4 # Si t'as entre 1 et 9 tu mets à 4, comme ça tu peux plus en avoir
        else
                nbr_occurence[j]++ # Sinon, tu augmentes juste le nombre de 1
        end
end
 



Ça devrait marcher je pense.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Bazar des créations !

Mack - posté le 04/07/2017 à 19:06:22. (2313 messages postés) -

image

C'est mieux ?
( Perso j'ai un peu du mal avec les dithering pour le feuillage, je le trouve vraiment pas bien fait, mais j'arrive à rien avec >< )
Par contre, les couleurs clairs pour le perso ça vous gène pas ?
J'ai peur que ça soit trop clair, et que du coup on est du mal à le distinguer du décor.
( Après, c'est que du test, donc je changerais le design du perso d'ici que j'ai un truc potable je pense )

1mag0 a dit:


Les couleurs des arbres ne me choque pas, mais il est vrai que les 4 troncs des "gros arbres ronds" ne sont pas super :triste2. Je ne suis pas trop fan de l'eau et des falaises. Les textures/motifs sont bon mais ça reste très carré.

Mais sinon l'ensemble est plutôt chouette et le personnage est attachant.


Le fait que ça soit carré, j'verrais p't'être plus tard, mais pour l'instant j'ai la flemme xD.

Konnie a dit:


La palette est trop hétérogène c'est clair! Mais ça à du charme, inspires toi peu-être des couleurs utilisées dans un jeu que t'aimes bien pour changer le contraste entre chaque teinte.



Bah, en fait pour la plupart des couleurs c'est la palettes de Zelda Minish cap ^^".

( Grosso modo, j'ai changé que la couleur de l'eau, la couleur sombre du feuillage, et la couleur claire des petits buissons )

Merci en tout cas ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Bazar des créations !

Mack - posté le 04/07/2017 à 13:34:53. (2313 messages postés) -

image
Petit test de tileset custom.
J'en suis pas parfaitement convaincu ( notamment au niveau des gros arbres rond, que je trouve vraiment moche, ou les murs qui sont pas tip top ), mais je trouve que dans l'ensemble c'est pas si dégueu ^^.

( Bon, faut aussi voir si j'arrive à faire les animations du personnage, parce que sinon ça sert à rien xD )

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 30/06/2017 à 13:52:47. (2313 messages postés) -

La classe Texture qui permet d'afficher des image ne l'ai pas par exemple.
Du coup, c'est le système de save est fait.

J'ai aussi finit une première version d'un mob, donc j'vais essayer de faire une petite vidéo d'ici demain soir ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 30/06/2017 à 12:18:13. (2313 messages postés) -

Si si c'est ce que je compte faire ^^.
Mais certaine classes ne sont pas sérializable, donc si quelqu'un essaie de le faire, ça lui crashera à la gueule

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 30/06/2017 à 10:47:03. (2313 messages postés) -

Nope, mais bon, ça devrait pas être trop dur.
( En même temps, j'ai pas grand chose à sauvegarder : la map du joueur, sa pos, et les Switches / Variables. Le seul truc qui pourrait coincé, c'est les variables, comme on peut y mettre n'importe quoi dedans, si on y cale un objet non sauvegardable ça peut foutre la merde. )


Du coup, hier j'ai pas mal tafé, j'ai rajouté la base du son ( Une BGM + plusieurs effets sonore ), j'ai refait les variables / switches, j'ai aussi rajouter le contrôle à la manette, et j'ai corriger pas mal de petits détails.


image

Petit test de mapping, mais franchement, je trouve ce tileset presque dégueulasse pour les intérieurs :/.
L'HUD est quasiment entièrement fonctionnel, y a juste les armes en hauts à droite qui sont affiché par une simple image, tout le reste c'est codé avec un évent.
J'vais commencé à faire un premier ennemi, et après je ferais surement le système de save.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 26/06/2017 à 11:49:27. (2313 messages postés) -

Yep je trouve que j'ai eu une superbe idée avec ces Tags.
Ça servira peut être pas à tout le monde, mais ça peut être ultra utile, notament pour des events qui utilise plusieurs events ( un boss avec plusieurs hitbox par exemple ).

En gros dans les gros ajouts fait que je fasse le son, que je refasse les interrupteur ( pour l'instant changer de maps les reset, et même si ça peut être utile faut que j'en mette qui se reset pas ), et que je fasse le système de save .
Après pour l'éditeur ca sera surtout des petites modifications ( Faire l'éditeur d'event proprement, passer par Notepad++ pour chaque events ça va 5minutes, et éventuellement rajouter d'autres fenêtres genre un éditeur d'item, de héros ou ce genre de truc. )
Mais je pense faire un mini projet avant, faire la Doc, et après voir pour les améliorations de l'éditeur.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 25/06/2017 à 20:43:01. (2313 messages postés) -

Yep, j'ai d'ailleurs changé pas mal de truc pour pas avoir deux projets ( un pour le moteur, et un pour l'éditeur ), mais qu'un seul.

Au final, j'ai mis un semblant de système de plugin :
En gros, sur chaque zone ( donc un lot de 5*5 maps ), on peut définir un évent qui s’effectura sur chaque map.
Et un autre évent qui, lui, est propre à chaque map.
J'ai fait un mini système d'action-RPG avec, donc ça marche plutôt bien.

Pour les évents, j'ai rajouter un système de Tag :
En gros, on peu mettre des évents dans une HashMap avec un String comme clé, du coup ça permet de le retrouver très facilement.
( Par exemple pour mon système d'ARPG, j'ai taggué mon Epée, et quand je devais faire des collisions avec cette dernière, j'allais juste la chercher avec son Tag )

J'ai aussi fait un semblant de gestion des image comme dans RM, j'suis en train de faire un HUD avec.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 24/06/2017 à 13:02:14. (2313 messages postés) -

wait ça attends en ms ( ou attend qu'on lui redise de recommencer ).
waitFrame attend en frame, c'est ça la différence ^^.
Au final j'ai trouvé pourquoi ça buggué, c'était juste mon système de copier/coller qui me mettais 4000 évents au lieu de 500 :/.

Du coup je tombe effectivement à environ 2 à 3 secondes pour une map de 480 évents, ça dépend de la gueule de l'évent.
Par contre, sur des évents un peu gros, le jeu se met à ramer :'/.
( En même temps, quand je dis un peu gros, c'est 480 évents, qui font 480 boucles chacun. Donc ça me semble un peu normal que dans ce cas là les FPS diminue xD. )

J'vais essayer de voir pour faire une mini démo pour voir comment ça réagit avec de vrai maps et de vrai évent.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 24/06/2017 à 03:39:40. (2313 messages postés) -

setZ permet de locker la position Z d'un évent ( Donc de le mettre au dessus de tout les évents, ou au contraire, de le mettre en dessous de tous. Utile pour les interrupteur, par exemple ), sinon, selon que l'évent est une case au dessus ou au dessous, il s'affichera par dessous ou par dessus l'autre évent. ( Comme dans RM quoi ), et waitFrame permet de faire attendre l'évent.
Je pensais que ça venait de waitFrame, du coup j'ai mis toute la fonction en commentaire, mais ça change rien :/.
Donc va falloir que je regarde en profondeur ce qu'il se passe :/.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 23/06/2017 à 22:19:09. (2313 messages postés) -

Bah, l'idée de l'écran de chargement, en soi si c'est pas long, c'est pas génant.
Après, je pense pas utilisé cette solution, mais pas forcement parce que c'est un écran de chargement, mais plutôt parce que chargé 25 maps en continue, ça risque de trop flingué la Ram pour rien :/.

Après, j'ai commencé à opti le truc, je descend de 0.2s à 0.4s contre 0.9s sur une map avec "peu" d'évent ( 14 ), 0.01s sans évent idem avec l'ancienne méthode ( non sans déc :F ), et 4s à 6s contre 8s avec une map pleine.

Donc c'est pas encore ça, mais ça avance bien.
Après, je viens de changer les évents de tests, et sur une map pleine, je tombe à ... 22 à 30 secondes d'attentes :').
Pourtant, mon évent est pas beaucoup plus compliqué, on est passé de ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
function create() {
self.setCharas("door.png");
self.setPassable(false);
self.width = 12;
self.height = 12;
}
 
var opening = 0;
var wait = 0;
 
function update() {
        if (opening==0){
                if (self.getDistance(player) <= 16 && self.getFrame() != 3) {
                        opening = 1;
                } else if (self.getDistance(player) > 16 && self.getFrame() != 0) {
                        opening = 2;
                }
        } else {
                wait++;
                if(opening==1){
                        if (wait > 5){
                                wait = 0;
                                self.setFrame(self.getFrame() + 1);
                                if (self.getFrame()==3){
                                        opening = 0;
                                        self.setPassable(true);
                                }
                        }
                } else if (opening == 2) {
                        if (wait > 5){
                                wait = 0;
                                self.setFrame(self.getFrame() - 1);
                                if (self.getFrame()==0){
                                        opening = 0;
                                        self.setPassable(false);
                                }
                        }
                }
                
        }
        
}
function die() {
}
function remove() {
}


A ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function create() {
self.setCharas("block.png");
self.width = 12;
self.height = 12;
self.setZ(-1);
}
function update() {
        self.setFrame(1);
self.waitFrame(60)
self.setFrame(0);
self.waitFrame(60)
}
function die() {
}
function remove() {
}




Donc en soit, pas grand chose de différent, et pourtant, le temps d'attente est complètement différent.
Après, je me dis que si le type me calle 480 évent, c'est qu'il est teubé, mais bon, j'vais quand même essayer d'opti au max que je peux.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 21/06/2017 à 14:29:58. (2313 messages postés) -

Nope, pas de système de plugin de prévu.
( Et je pense pas en mettre, le log est pas destiné aux personnes ne connaissant pas du tout la prog, donc comme ça sera libre, à eux de faire ce qu'ils veulent. )

Du coup ouais c'est la création des Interpreteurs ( la classe ScriptEngine ), et l'interpretation de chaque évent qui prend du temps.
Après, c'est un temps """"honnête"""" : avec une dizaine d'évent sur la map, ça prend à peu près une seconde, mais avec une map pleine d'évents ( donc 30 * 16 = 480 ), ça prend à peine 7 secondes.
Et j'ai aucun lag une fois la map chargée. ( Même avec mes 480 évents. Après, ça reste des évents simples, à voir avec des trucs compliqué )

Donc j'vais voir, p't'être que plutôt que de charger map par map, j'vais charger zone par zone, avec un écran de chargement entre chaque zone.
Comme ça, on pourra passer de map en map sans aucun soucis, et on est pas censé changer de zone sans arrêt, donc on devrait éviter les chargement toute les 10 secondes.
J'vais essayer de voir un peu tout ça d'ici la fin de semaine.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 21/06/2017 à 13:40:21. (2313 messages postés) -

winterskill a dit:


ah ouais, pas mal! mais tu l'as scripté en js, l'évent ?
en revanche, la map saute, quand tu appuie sur la touche espace...
par contre, le style/apparence des gui sera codé en dur, il sera impossible de le modifier ?


Yep, les évents c'est du JS. Du coup, ça permet de faire des trucs relativement puissant.
Comment ça la map saute quand t'appuie sur espace ?
Pour l'interface, ouais, si tu veux changer des trucs, faudra le recoder.

Roi of the Suisse a dit:


C'est l'interprétation du javascript descriptif de l'évènement qui prend du temps au chargement de la map ?

Est-ce que lors de l'attente entre deux "cinematics" les autres évènements continuent de travailler ?




Je pense que c'est la création des Thread pour chaque évents, suivit du Parser et tout le tintouin. En vrai, j'ai vu que ça patiner en changeant de map, mais comme j'ai fait ça hier à 3h du mat', j'ai pas pris le temps de regarder le pourquoi du comment.
Parce quen en gros, j'ai choisis de faire un système Multi-Threader, mais où le jeu n'effectue qu'un Thread à la fois, selon ce que je lui demande.
( Donc j'execute le Thread principale, puis après j'execute / je reprends les un après les autres les Thread de mes évents, en les mettant en pause quand besoin ( Donc quand y a un déplacement, une cinématics ... ), et à la fin d'une boucle je le freeze pour redonner la main au Thread principale, qui appelle l'évent suivant, et si y a plus d'évent effectue le reste du code.
Faudrait que je regarde comment ça se comporte avec beaucoup d'évent sur une map.

Ouais, pendant une "cinematics", les autres évents sont freeze.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 21/06/2017 à 11:24:23. (2313 messages postés) -

Bon, finalement, j'ai eu un peu plus de temps pour moi, et surtout un regain de volonté.
Du coup, j'ai pu faire ce système de commande bloquante dans un évent :


Du coup, on peut voir que la caisse à droite fait bien ses mouvement un a un, alors que le code est un truc comme ça :
Pareil pour les cinematics, on voit que les deux se jouent à la suite, en attendant que j'appuie sur Espace à chaque fois.
C'est pas parfait mais dans l'ensemble ça marche plutôt bien.
( Le plus gros problème, c'est que quand je rentre dans une salle, le jeu mets un certains temps à charger les évents.
J'vais essayer de les faire charger pendant le travelling. )

Du coup, j'vais p't'être voir pour faire un mini projet pour montrer de quoi c'est capable.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - E3 2017

Mack - posté le 13/06/2017 à 12:19:42. (2313 messages postés) -

Oh, dans les jeux en VR y avait quand même Moss, le jeu avec la souris, qui m'a plutôt intéressé perso.
Après, c'est du PS-VR, donc j'y toucherais surement jamais, mais le jeu avait avait l'air plutôt jolie, et a du potentiel je pense.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 08/06/2017 à 22:57:27. (2313 messages postés) -

Nope, j'sors d'un mois de projet pour la Fac, et j’enchaîne avec le boulot tout l'été ^^'.
Donc j'vais essayer d'avancer un peu, mais à mon avis, cet été je ferais pas grand chose xD.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Joyeux anniversaire !

Mack - posté le 07/06/2017 à 00:53:50. (2313 messages postés) -

Merci :D

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - La tour du Crépuscule

Mack - posté le 09/05/2017 à 23:30:01. (2313 messages postés) -

Ah, c'est cool, j'voulais justement retoucher au système de donjon Zelda aléatoire :D.

Bon, mon niveau d'anglais est vraiment pas terrible, donc à la première écoute, j'ai pas pigé grand chose de ce qu'elle disait, mais j're-regarderais demain ou Jeudi.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 22/04/2017 à 22:06:54. (2313 messages postés) -

winterskill a dit:


Salut!
J'ai essayé la nouvelle version que tu a uploadé, et voici un petit compte-rendu de mon impression (au cas où il pourrait t'aider) :
Alors, globalement, ça avance bien et vite! Je trouve ton éditeur bien plus agréable à utiliser que celui des RM! (sincèrement). Alors, voilà ce qui est SUPER GENIALISSIME!!!:
- j'aime bien la fenêtre qui t'indique que la sauvegarde à réussie!
- j'aime bien aussi la police
- le logiciel est assez léger!
- les maps générées sont vraiment grandes
- il est simple d'utilisation (il ne demande pas trois mois de domptage avant de donner le meilleur de lui-même)
- il est (très) rapide :kawaii

Et voici ce qui peut être amélioré :
- comment choisir le tileset qu'on veut utiliser (après l'avoir rajouté dans le dossier "tilesets")?
En dessous du bouton nouveau tileset, t'as un bouton ouvrir. C'est celui là qu'il faut utiliser ^^.
- attention! on ne voit pas les tiles qui sont sur la toute droite, elles sortent de l'écran!
Normalement non. Je pense plutôt que c'est les cases de la map d'à côté que tu dois voir ^^. ( C'est histoire de pas avoir a revenir sur l'ancienne map pour faire un lien propre )
- le ctrlZ ne fonctionne pas
Ah ? Bizarre ça. Peut être que je l'avais pas mise dans cette version je regarderais/
- dans les dialogues, quand on en met trop, ils sortent de l'écran (mais bon, ça à la limite osef il suffit d'en mettre plusieurs à la suite)
Yep. Ça fait comme dans RM quoi. Mais j'ai prévu de regarder comment faire pour afficher plusieurs messages si le texte est trop long.
- en fait on ne peut pas mettre plusieurs evenements à la suite dans une même case... :leure3
Yep. C'est le gros problème du système. C'est voulu. Maintenant, si j'arrive à finir le nouveau système ça posera plus de problème ^^.
- on peut toujours pas mettre en plein écran :'(
Cf plus bas.


- l'evenement mob ne fonctionne pas :doute5
- dans l'evenement "chest", comment fait-on pour ajouter du contenu au coffre?
Normal, c'est deux options ne sont pas encore faites. Dans cette version, c'était vraiment la base de la base de l'ancien système d'évent.

et pour finir, quelques idées personnelles d'ajouts/changements/suppressions (pioche dedans si tu aime, laisse sinon) :
- quand on fait evenements > teleport > set destination > le_nom_de_ma_map, il faut cliquer sur un bouton rouge pour accepter. Peut-être devrait-tu mettre un bouton vert, non? (c'est plus intuitif)
Au final y auras surement un vrai bouton ^^. Pour l'instant, c'est juste un placeholder.
- activer le bouton "maximiser"
Comme pour le plein écran, perso je deteste ça. Surtout que ça va foutre la merde comme pas possible xD. Mais j'vais essayer de voir.
- il pourrait être pas mal de pouvoir exporter la map sous forme d'image (par exemple si on veut créer une map en panorama pour un jeu RM et qu'on ne veut pas se faire chier avec gimp2 ou photoshop -> on va sur mapEditor, on crée la map et on l'exporte en image puis on l'importe en background dans rm)
Bonne idée. J'verrais pour faire ça en même temps que pour le binaire de Monos.


PS : juste quelques questions :
- est-ce qu'on peut lancer le jeu? :D
Nope pas dans cette version ^^. J'suis en train de bosser dessus le moteur pour l'instant.
- à quoi sert la deuxième barre d'outils vide en haut? c'est voué à une utilisation future?
Très bonne question xD.
En vrai, c'est surtout que j'ai la flemme de l'enlever, en espérant trouver une idée sur quoi en faire xD.
Mais je pense qu'à terme elle dégagera ^^.


PPS : mais ce scripting, c'est un langage que tu as inventé, ou un standalone intégré, ou un spécifique à cette classe ScriptEngine?
En gros c'est une classe de base de Java, qui permet d’exécuter du code d'un autre langage contenu dans une chaîne de caractère.
L'avantage, c'est que même une fois le programme compiler, je peux continuer à exécuter du code "nouveau".

Si j'arrive à rien avec la mouture actuel, j'partirais surement sur du langage perso, mais pour l'instant c'est du javascript.


Bonne chance ! [/casse-pied]



Merci en tout cas ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 20/04/2017 à 14:09:15. (2313 messages postés) -

Roi of the Suisse a dit:


- Concernant les passabilités, le personnage a une boite de collision carrée ou ponctuelle ?

- Pourras-tu imposer un déplacement à un évènement si tu ne peux lui faire faire que des actions instantanées ?




- Ça dépend ce que t'entends par ponctuelle. En gros c'est un carré et je regarde où ce trouve le carré dans la grille 16 / 16, ou les hitbox des autres évents.

- Plus ou moins. C'est faisable, mais c'est la merde quoi :/.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 18/04/2017 à 20:16:03. (2313 messages postés) -

Bah, c'est ce que j'essaie de faire, mais comme j'utilise la classe ScriptEngine, bah, j'peux pas mettre en pause, et reprendre l'exéc du code à chaque frame là où je m'en été arrêté :/.
( Ça me permet juste d'exécuter du code en entier )

J'pense que je suis bon pour faire mon propre parser et interpreter du coup :/.


Roi of the Suisse a dit:


Faire un éditeur de maps, ce n'est pas pareil que faire un moteur de jeu. Réfléchis bien à toute ton architecture avant de te lancer. Sinon tu vas te retrouver coincé et ton projet va finir à la poubelle.


Bah, maintenant que j'ai bien commencé l'Editeur j'attaque le moteur, histoire de justement voir ce qui va pas.


EDIT :

image

Petit exemple de ce qu'on peut faire avec ce système d'évent.

Le switch est codé comme ça :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function create() {
setCharas("switch.png"); //# On load le charas
self.setPassable(false); //# On dit que le joueur passe pas dessus
self.width = 12; //# On donne la largeur de la hitbox
self.height = 12; //# Idem pour la hauteur
}
function update() {
        if (player.active(self)) { //# Si le joueur est contre cet event et appuie sur espace
                if (self.getGlobalSwitch("switchActive") == false) { //# Si l'interrupteur gloabl "switcActive" est sur false
                        self.setFrame(1); //# Je change la frame d'afficher
                        self.setGlobalSwitch("switchActive",true); //# Et j'inverse le switch
                } else {
                        self.setFrame(0); //# Idem ici
                        self.setGlobalSwitch("switchActive",false);
                }
        }
}
function die() {
}
function remove() {
}



Donc c'est plutôt simple à utiliser, et ça me semble plutôt puissant, tant qu'on doit pas faire attendre l'évent :').

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Le topic de vos persos

Mack - posté le 18/04/2017 à 16:33:01. (2313 messages postés) -

Mes persos principales sur les DS :

image

DS1

image

DS3

A part l'armure, c'est le même stuff :').

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 16/04/2017 à 17:47:06. (2313 messages postés) -

image

Premier jet de l'éditeur de dialogue.

Je règle deux trois détails et je re-pack une nouvelle version en DL.


EDIT :
https://mega.nz/#!R9YzlQ5I!3PX-5BfT2br7lgfHgdaa96RpxqpayFIVmFVtG6Lvm8Y
Donc ça va jusqu'au début des évents du coup.
( Début des coffres, les TP, et les Dialogs )

RE-Edit :

Deux petits tests pour le HUD :

Spoiler (cliquez pour afficher)



Petite préférence pour le deuxième, mais bon, j'sais pas, ça me semble pas super top.



Sinon, j'ai commencé à me dire que le système d'évent, comme je l'avais prévu, ça risque de franchement pas être top.
Du coup, j'y ai un peu réfléchie, et j'me suis dit que j'aller faire un truc en scripting :
En gros, pour l'instant ( donc dans le très long terme il y aura une véritable interface à la RM ), on programme notre évent, un petit exemple :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
function create() {
}
function update() {
  if (contact(player,self)){
    callCinematics("forest.png", "face1.png","SALUT");
    teleport("test",0,5,5);
  }
}
function die() {
}
function remove() {
}



En gros, cet évent ne fait rien, sauf si le joueur entre en contact avec l'évent, dans ce cas, il ouvre la fenêtre de cinematique ( CF plus haut ), et TP le joueur dans la map test/map0.xml aux positions 5 5.

Le seul vrai soucis que ça me pause, c'est que je peux pas faire attendre le code :/.

En gros, pour la petite explication technique, j'utilise les classes ScriptEngine de Java qui permet d’exécuter du code javascript depuis une String.
Donc quand je load mon évent, je load toute ses fonctions ( dont les principales create/update/remove ), et j'exécute les fonctions aux cas par cas.
( Donc pour update, à chaque frame j'appelle la fonction JS update de tout mes évents. )
Sauf que, comme j’exécute le code dans la boucle principale, je peux pas faire de sleep sans tout freeze, et si je veux faire avec conditions, ça risque d'être très vite la merde ( Surtout si je finis par passer par une interface graphique ).

Donc, la seule solution "simple" qui me vient à l'esprit, c'est de donner un Thread à chaque évent.
Mais j'ai un peu peur que ça fume les performances :/.

Des avis ?

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 15/04/2017 à 21:45:48. (2313 messages postés) -

winterskill a dit:


ah ok. Et pour les events, tu va garder la configuration de rm (popup multi-onglets avec des boutons pour les commandes) ou tu va changer ?
CF les dernier screens ^^.
En gros la fenêtre des tiles sera remplacé par les quelques commandes disponibles. J'pense que je garderais ça comme ça si je dois changer le fonctionnement des évents.





J'ai testé la démo que tu a mis dans le premier post, et c'est plutôt pas mal. En revanche, il y a plusieurs bugs/trucs qui vont pas (en tout cas chez moi) :
* la commande enregistrer ne donne aucun signe de son bon fonctionnement
Effectivement, j'avais jamais pensé à ça, ( dans la plupart des programmes je fais jamais attention à ça,
et d'un côté ça me ferais chier de devoir cliquer tout le temps sur un bouton pour valider la sauvegarde. Mais j'verrais pour mettre une mini pop up quelque part ^^

* je n'ai pas trouvé comment ajouter les évènnements
Pas encore disponible dans cette version. ( Qui est trèèèès vieille par rapport à où j'en suis )
* c'est normal qu'on ne puisse pas mettre en agrandi?
Ouais normal. J'ai bloqué l'aggrandissement, mais je verrais pour permettre de mettre la fenêtre en plus grand tout en gardant le ratio
* j'ai regardé dans les data du logiciel, et les maps générées produisent beaucoup de petits fichiers XML.

Je me permet de proposer humblement quelques solutions pour certains des problèmes :
* pour la commande enregistrer, peut-être que tu pourrais afficher un message qui dit quelque chose du genre "map enregistrée", ou, mieux, proposer de choisir nous-même l'emplacement où on veut sauver la map.
* pour les maps générées, je crois bien que Java possède un bon traitement des archives; tu pourrais générer un seul fichier, en ".map" ou un truc du genre, qui serait une archive zip renommée, et qui contiendrait les fichiers XML. Quand on l'ouvre, le logiciel décompresse une copie de la map et travaille dessus, puis la recompresse et remplace l'ancienne version quand on enregistre.
Ça part contre c'est voulu, et ça changera surement pas. En fait, j'me suis posé la question, tout packé en un seul fichier, ou mettre plusieurs fichiers ? J'me suis dis que tout faire en plusieurs fichiers permet de charger bien plus efficacement les maps.
* Si on peut choisir où mettre ses maps, tu pourrais modifier la commande ouvrir pour qu'on puisse chercher dans l'ordinateur le fichier de la map.
Dans la dernière version, j'ai rajouter un petit fichier .cfg qui permet de dire à l'éditeur où il doit charger toute les ressources ( donc maps, tilesets, autotiles, ... )
* mettre des titres avec les noms des boutons quand on passe dessus (car pour les gens qui ne connaissent pas encore bien le logiciel, on peut mettre du temps à trouver les bons boutons).
On m'à déjà fait la remarque, mais faut que je le fasse xD

Bonne chance et merci d'avoir lu jusqu'au bout!



Merci en tout cas ^^.
J'verrais pour ré-up une version compiler dans pas trop longtemps ^^.
( J'vais essayer de faire l'éditeur de dialog avant. )

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 15/04/2017 à 08:39:54. (2313 messages postés) -

Oui oui j'avais compris ^^.
Quand je ferais celle pour la fenêtre principale, je remplacerais aussi celle des autres fenêtres ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 14/04/2017 à 13:14:17. (2313 messages postés) -

Monos a dit:


Citation:

J'ferais peut être un truc pour exporter seulement le premier layer, mais faire des fichiers Bits à bits ça à l'air d'être un peu la merde en Java, mais y a moyen que ça soit intéressant à faire.


Rien que le premier layers c'est déja un bon pas et un bon truc.
Merci.

Java ne sais pas créer des fichier binaires ?



Aucune idée, j'ai pas encore regarder ^^'.
Je pense que si, y a vraiment de raison que ça soit pas possible.
( Au pire j'verrais pour coder un mini programme annexe en C )


winterskill a dit:


c'est normal l'icone java et le "(60 fps)" en haut de la popup "set destination", ou c'est juste parce que c'est pas finalisé?

Mack a dit:

Ça peut servir aussi, même si Tiled + Photoshop, c'est peut être mieux ^^.


Ouais mais ton logiciel est bien plus simple d'utilisation, pour ceux qui veulent pas s'emmerder avec Photoshop/gimp pour faire leurs maps, ça peut être super!



L'icone, c'est plus ou moins un WIP. Si un jour j'en fais une, j'la remplacerais, sinon ça restera comme ça, c'pas super grave xD.
Les FPS, ouais, c'est une habitude que j'ai de la foutre dans la title bar quand je dois re-coder une boucle principale.
( Parce que oui, cette fenêtre est redessiner en continu xD )


Nemau a dit:


En fait tu es en train tout doucement de créer un RM like ? ^^ Allez, à ce rythme dans un ou deux ans tu nous sors le RM ultime. <3



En vrai, c'est plus ou moins le but ultime du truc :
Faire un éditeur que je modifierais au fur et à mesure de ce que j'aurais besoin ( et ce au travers des différents projet que je ferais ), en essayant de jamais retirer les anciens système, histoire d'avoir le plus de choix possible ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 12/04/2017 à 01:36:26. (2313 messages postés) -

J'y réfléchirais Monos.
J'ferais peut être un truc pour exporter seulement le premier layer, mais faire des fichiers Bits à bits ça à l'air d'être un peu la merde en Java, mais y a moyen que ça soit intéressant à faire.

( Sinon, pour le lancer, vaut mieux DL le truc en dehors de github, sur Github j'ai mis que les sources, donc c'pas super utile )

Sinon j'ai commencé un peu les évents.

Attention les yeux, c'est vraiment pas beau :

Spoiler (cliquez pour afficher)



Bref, c'est du très gros WIP ( le seul truc qui changera pas c'est les autotiles, dans la prévisualisation de la map, je m'emmerderais pas à les recalculer ^^" ), mais j'pense que dans l'idée, ça sera vraiment comme ça, quand tu veux créer un nouvel évent, tu choisis le type, puis la fenêtre change et prend les options en accord avec le type.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 09/04/2017 à 13:50:19. (2313 messages postés) -

J'utilise Libgdx par habitude.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 08/04/2017 à 13:43:36. (2313 messages postés) -

Akadream a dit:


C'est développé avec quel langage de programmation ?



Yep, c'est du Java.

Citation:

J'ajouterais qu'avec ton outil, il peux permettre de mapper son jeu sans les limitations débiles de RPG maker, pour ensuite l'exporter sur le "parallaxe" du logiciel.


Ça peut servir aussi, même si Tiled + Photoshop, c'est peut être mieux ^^.


Falco a dit:


Pour mon éditeur j'enregistrais la map à chaque action dans un fichier temporaire, suffisait ensuite de charger et annuler en fonction. C'est ce qui est utilisé pour pas mal de logiciels !
C'est vrai que le principe d'enregistrer l'action est pas mal, ainsi tu peux gérer des CTRL Z/Y a l'infie sans soucis, mais plus tu ajouteras des actions, plus tu devrais gérer le système "d'annulation", ça risque de te prendre du temps à chaque fois :P


J'trouve que c'est vraiment une solution dégueux, mais qui simplifierais tellement le système xD.
( Parce que je viens de me rendre compte que ça gére pas du tout le pot de peinture, donc faut que je modifie un peu tout pour le rendre jouable xD. )

Sinon j'ai pas foutu grand chose, j'me suis rendu compte que les icones en 16*16 pour les passabilities, c'était immonde puisqu'on voyais plus la tile en dessous quand on voulait config le tileset.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 06/04/2017 à 23:43:33. (2313 messages postés) -

Yep, c'est pas si con xD.

J'allais le faire en stockant la map entière à chaque fois, du coups j'avais la flemme, mais juste en stockant l'action faite ( L'id de la tile à remplacé, l'id de la nouvelle tile, la pos x, la pos y, et le layer ) dans une pile.
Du coup c'est bon, ça marche bien ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 06/04/2017 à 19:27:38. (2313 messages postés) -

winterskill a dit:


Mais en gros, ton éditeur de maps, il permet de créer des maps en dehors de RM, et de les importer dedans après?

Mack a dit:

Honnêtement, je m'attends pas tant que ça à ce que cet editeur soit utilisé par d'autres personnes que moi xD


dommage, j'avais bien envie de l'essayer, moi :(



En gros, c'est plus pour les gens qui veulent coder leur propres jeux ( sans RM donc ), et qui ont la flemme de refaire entièrement un éditeur de map, ils auront cet éditeurs qu'ils peuvent modifier comme ils veulent.
Après, on peut toujours l'utiliser si on bidouille le moteur de jeu de RM, mais bon, y aurais pas vraiment d’intérêt.

1mag0 a dit:


Citation:

Ton exemple reste assez carré imho. En revanche si on tente un quart de cercle s'étalant sur un carreau tout entier


Dans ton exemple je préfère clairement l'exemple "MV" que l'exemple "XP". Et plutôt que le terme rond, j'aurais plutôt dur dire "arrondis". "L'égout et les douleurs"... J'ai trop vue de tile aux motifs parfaitement carré je crois ...

Citation:

dommage, j'avais bien envie de l'essayer, moi


Le lien est dans le premier post. Je l'ai dl d'ailleurs: ça marche plutôt bien.
Il est un peu lent à charger les tiles et ctrl Z et Y ne marche pas mais je chipote :F. Mais tout le reste marche nickel chez moi, même tes nouvelles fonctions. Pour le changement des tailles de tiles, j'imagine que ça va être galère à faire ... tant pis!
Par contre un troisième claque au moins et ça serais génial pour moi. Je n'ai pas trouvé ou modifier ... :'(

Mais sinon un grand bravo c'est génial!



CtrlZ/Y ouais, faudrait que je le fasse, mais j'sais pas trop comment faire, donc j'verrais surement plus tard ^^.

En vrai, pour tout ce qui est changement de taille, ça serait pas forcement dur à faire. Le plus gros problème ça serait la taille des éléments ( genre la taille de l'éditeur de tiles, si tu augmentes tout va déborder sur la droite ), mais en bidouillant un tout petit peu le code, ça se fait facilement ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 06/04/2017 à 01:35:01. (2313 messages postés) -

Merci pour toute ces précisions sur les autotiles xD.
J'pense que pour l'instant j'vais laisser comme c'est ( c'est à dire que je vais laisser le code de RotS légérement modifié xD ), et je changerais peut être plus tard ^^.

J'ai modifié deux trois trucs ce soir, surtout l'ajout des sélections multi tiles, du coup on peut enfin prendre plusieurs tiles ( que ça soit avec le clic droit, ou dans la fenêtre des tiles ) et les dessiner, pour les éléments qui prennent plusieurs tiles, ça va être largement plus simple.

A part ça, je pense que j'ai presque finit toute la partie "Map" de cet éditeur :
Grosso modo, pour la partie vraiment Map, il va me manquer le chargement des autotiles, le fait de pouvoir nommer ses maps comme on veut, et changer un peu la mini map pour permettre de mettre des genres de marqueurs pour différencié les mini map plus facilement.
( Et possiblement permettre de faire plusieurs Tilesets.xml à partir de la même image. Mais bon, en vrai ça me semble inutile, donc à voir. )

Après, va me rester tout ce qui touche aux évents, et aux cinématiques.
( Mais bon, sur ces deux points, je pense que ça va être un truc ultra ultra simplifié. A voir vraiment sur quoi je vais partir, mais je pense que ça sera totalement différent de RM, et surtout beaucoup moins poussé. )


EDIT :
La sélection des autotiles, c'est fait.
En gros, clics gauche sur un autotiles non défini va te le faire définir, et si il est déjà définit va le sélectionner, et clic droit va forcer à redéfinir un autotiles.

Plus que la MiniMap.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 04/04/2017 à 01:24:22. (2313 messages postés) -

Merci RotS, ça marche plutôt bien :D.
( Bon, j'ai un peu l'impression que ça bouffe le proc si je met des autotiles de partout comme un cochon. )
J'ai l'impression que y a deux trois problèmes qui ne viennent pas de ce que j'ai changé par contre :
image
A gauche ce que j'obtiens dans l'éditeur, et à droite l'autotile.
On peut voir que sur la ligne rouge clair, il y a des points bleus, alors qu'il ne devrait pas y en avoir.
Idem pour les points rouges à droite :/
( Après ça vient peut être de moi, mais j'ai pas l'impression. )


J'ai aussi rajouter un layer normal, et un spécial le "top" :
En gros, c'est un layer qui permet de "cacher" certains éléments. Quand le joueur est loin, ce layer est affiché, et si le joueur passe sous une case de ce layer, toute les cases en contacts avec celle du joueur sont caché.

En gros, sur ce screen :
image
Si mon joueur est dans la maison, le toit disparaît, sinon, il est visible.

J'ai aussi commencé à modifier / rajouter quelques éléments dans le tilesets.
( Genre les arbres de 2*2, les toits, certains cailloux )
C'est pas fou, mais ça me permettra de commencer à mapper un truc ou deux pour commencer le moteur de jeu.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 02/04/2017 à 23:21:57. (2313 messages postés) -

Merci Némau ^^.
( Le tileset vient de là :
https://sharm.itch.io/tiny16 )

ROtS :
Effectivement, les bulles ça pourrait être une idée, j'vais voir ça.
Les autotiles, j'ai pas encore fais, je sais pas comment je vais les gérer le fais de les choisir / changer. ( Si t'as une solution facile pour les dessiner je suis preneur aussi xD )
Bof, que ce soit XML ou JSON, de toute façon c'est un peu pareil je trouve.
( J'avais un exemple pour le XML sous la main, donc j'ai fais comme ça mais ça aurait aussi bien pu être du JSon )

Honnêtement, je m'attends pas tant que ça à ce que cet editeur soit utilisé par d'autres personnes que moi xD.
J'veux dire, il existe déjà d'autres éditeurs de map "génériques" bien meilleurs, donc je sais très bien que je les battrais jamais. Et par rapport à RM, j'en parle même pas, puisque ce sera infiniment plus simple niveau évent.
Est que je vais vraiment intégré un système d'évent déjà, je pense que si je fais un semblant d'évent, ça serait plus n genre d'éditeur de cinématique ressemblant un peu à ça :
https://youtu.be/qO1tJ_B9UUw?t=8m10s
J'vais simplement essayer de faire un éditeur principalement adapté à mon jeu, mais avec le code libre histoire que ça puisse servir de base à n'importe qui.
Puis bon, j'aime bien faire mes propres outils.
( Comme ça je te répond en même temps harusame17 ^^ )

Merci à vous ^^.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Map Editor

Mack - posté le 02/04/2017 à 18:48:00. (2313 messages postés) -

Plutôt que de continuer à balancer sur le topic des screens, j'met ça là, ça sera un peu mieux !

Donc dernière version de mon editeur de map :
image

J'ai changé la résolution pour faire du 30*16 ( Histoire d'être en 16/9 ).
Ensuite j'ai virer les tiles repides, pour mettre toute les tiles à droites.
Et enfin, j'ai rajouter un système de mini-map en haut à droite :
Comme je pense faire un genre de Zelda Like, pour simplifier le link des cartes, il suffit de cliquer sur une des cases en haut pour ouvrir la map correspondante.
D'ailleurs, dans la partie map, vous pouvez voir 4 bandes de tiles un peu plus sombre que le centre, ça correspond aux tiles des maps adjacentes.

( Bon, il reste encore un gros trou noir, mais j’agrandirais surement la mini map. )


Rappel :
En première ligne, les outils ( Permet de changer l'opacité des autres layers, layer 1, layer 2, pinceau, pot de peinture, gomme, nouveau, ouvrir, sauvegarder )
Ensuite, en bas à droite à côté des tiles:
1 : Nouveau Tilesets. Ouvre le dossier avec tout les tilesets graphiques. ( Si un tileset est déjà associé à cette image, ça le charge. A voir si je garde comme ça )
2 : Ouvrir un tileset. ( Donc le fichier XML avec tout de config, pas juste l'image. )
3 : Sélectionne les tiles.
4 : Éditeur de praticabilité. ( Pour l'instant y en a que 2 )
5 : Éditeur de région. ( Va de 0 à 9 )
6 : Éditeur de "profondeur". ( Va de 0 à 9 ) ( L'icône est horrible, mais je sais pas trop comment la faire ... )

Format des maps :

Portion de code : Tout sélectionner

1
2
3
4
5
<Map Name="new0/map0.xml" AppVer="1.0" Date="04/02/2017" TimeOfDay="18:08:38">
<tileset name="tiles" />
<layers max="2" width="30" height="16" layer1="1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,1,1,1,1,19,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,19,19,1,1,1,1,1,1,19,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,1,1,1,19,19,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,19,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,0;1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,19,1,1,1,19;" layer2="0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0;" />
</Map>
 



Format des tilesets :

Portion de code : Tout sélectionner

1
2
3
4
<Tileset Name="tiles" AppVer="1.0" Date="04/02/2017" TimeOfDay="18:17:35">
<tiles max="160" passability="0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;" depth="0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;" region="0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;" />
</Tileset>
 


Lien de téléchargement :
https://mega.nz/#!ohYxAQjD!SIPHSROnULDezo0bf13egjWvRu7ZykcMfSAt_XesKQ0

Lien GitHub :
https://github.com/MackValentine/MapEditor

( Je prend note de tout les commentaires, même si je n'y répond pas )

Posté dans Forum - Screenshots de vos jeux !

Mack - posté le 29/03/2017 à 23:32:01. (2313 messages postés) -

Là tout de suite, nulle part, mais j'vais voir pour le mettre sur un Git.
( Après, hier j'ai changé quasiment toute la partie chargement des ressources pour mettre d'avoir un .jar en dehors de mon IDE. Ce qui peut être quand même vachement utile :'D )
Merci en tout cas ^^.

Petite question quand même, pour "l'éditeur" de tile, vous souhaiteriez avoir quoi comme option ?
Pour l'instant je pars sur passabilité ( 2, voir 3, comme RMXP ), la profondeur ( Savoir si je dois mettre les personnages devant ou derrière une tile ), et les "régions" ( les terrains Tag de RMXP en gros ).

Edit :
https://github.com/MackValentine/MapEditor
Voila le lien du Git.

EDIT2 :
Bon, ça m'a pris presque deux heures, mais j'ai enfin finis le premier jet de l'éditeur de tiles :
image
1 : Nouveau Tilesets. Ouvre le dossier avec tout les tilesets graphiques. ( Si un tileset est déjà associé à cette image, ça le charge. A voir si je garde comme ça )
2 : Ouvrir un tileset. ( Donc le fichier XML avec tout de config, pas juste l'image. )
3 : Sélectionne les tiles.
4 : Éditeur de praticabilité. ( Pour l'instant y en a que 2 )
5 : Éditeur de région. ( Va de 0 à 9 )
6 : Éditeur de "profondeur". ( Va de 0 à 9 ) ( L'icône est horrible, mais je sais pas trop comment la faire ... )

Le tileset ce sauvegarde si vous fermez l'éditeur de tiles, si vous créez un nouveau tileset, ou si vous en chargez un.
Je sais pas trop ce que je vais faire après.

( Je prend note de tout les commentaires, même si je n'y répond pas )

Aller à la page: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers