What's up, RMers? - Printable Version +- Save-Point (https://www.save-point.org) +-- Forum: Games Development (https://www.save-point.org/forum-4.html) +--- Forum: Development Discussion (https://www.save-point.org/forum-17.html) +--- Thread: What's up, RMers? (/thread-395.html) Pages:
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
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
|
RE: What's up, RMers? - yamina-chan - 06-23-2019 Looks like you have your priorities straight lol RE: What's up, RMers? - kyonides - 07-14-2019 I've been dealing with all aspects of a typical game, scripts, graphics (mainly edits), music or soundtracks... Sometimes I feel like I need to take a break of graphics and music. Even if I didn't compose anything... Yeah, mapping has never been one of my strengths, but I think I can easily do some map edits like changing a roof tile color or an angle something had that didn't match my concept of a not so squarish house in an average town... No white fences included, they're not living in the US... RE: What's up, RMers? - kyonides - 07-25-2019 I had a strange conversation tonight. First some game developers starting talking about some plugin that ended up being some RGSS script. One said Ruby is slow... Yeah, I've heard that many times before, but guess what? It wasn't that slow plus the Ruby Core Team put a lot of effort in making it faster even if the Rails and general Ruby community didn't feel like that was their top most concern. Of course, who would say no to some speedup? So I told them about the main advantage of new Ruby versions. Then the same guy said that he didn't say Ruby was slow... Oh you didn't? What a lousy memory he's got lately. =_= He wanted to rephrase it by stating running Ruby on Javascript would make it run slow. Halt! That's isn't true, you know? Rails and Sinatra already prove that for they run Ruby on a daily basis and are quite responsive and kind of popular for server backend development. You can embed some Ruby code in a webpage and let Ruby interpret it. And he came once again... It was a problem to make the interpreter run on a website... Hey! Rails and Sinatra already run thanks to a Ruby interpreter! If you don't believe me go ask Heroku guys! RE: What's up, RMers? - Bounty Hunter Lani - 07-31-2019 Sure, I've been working on Destiny of End sporadically, but Steam hasn't been logging my hours properly for a while now. In fact, not only is the 41 hours they have logged VERY wrong, but it says I haven't used RPG Maker XP since APRIL!!! Steam, are you okay? Ahh... there's map making to yap about. It can be a wild time when you make a map on your own. Using a "generator" is cool, but I've found it more fun but challenging to do them on my own. The issue has been making it not only make sense in regards to biomes and the like, but also have it look nice. Would you like to make an archipelago? ->No ->Why not? The choices that must be made! There's also the issue of spending too much time on one thing, though. You spend all day on map making, and you realize you didn't work on stat balancing, or you forgot you didn't have a world map asset yet to match what you just made into a map, so you have to make that custom, but then you have to expand your current tileset and that's just a huge issue and what if you did it but put it in another tileset but then--. Yeah, map making is wild, and so is putting what you made on the map into RPG Maker properly. But it's fun, right? ...right? Can't say I've enjoyed using large map tilesets, and making proper collisions is kinda lame as well. But finding reasonable solutions to these issues has been enjoyable as well! Like, perhaps you make a few "town" tiles that you place down as an event, and you make it so the collisions outside of the area all bring you into town! And then there's the darn vehicles script that you need to make sure won't mess-- Okay, I'm rambling, Lani out. RE: What's up, RMers? - kyonides - 08-05-2019 Lately I was customizing Gosu the Ruby gem because I felt there is a feature that shouldn't exist. At least it doesn't seem to make sense in its current state. For those unaware of it, here's the explanation! (It might be a bit technical for those interested only in battle systems and voice acting ) You remember that HiddenChest offers stuff like fullscreen and now even block_fullscreen? Well, Gosu already had its own method to show a game in fullscreen mode or not, but there's nothing like block_fullscreen because... well, that was my crazy idea. So I messed with its source code and quickly added such a thing plus all keys I could think off that didn't have a default Constant assigned to them, even if you could already make use of their numeric value directly. Then I suddenly asked the gosu fans to tell me what was the default method to show the mouse cursor. Yeah, by default it vanishes in thin air. Nope, there's no configuration text file to change that mainly because you only need to deal with Ruby and its rubygem Gosu and perhaps some OpenGL stuff as well. So if you ever need to configure something, go and change that in a Ruby script and that's pretty much all! Err, not quite this time... I found out that you need to call a specific method, namely Code: def needs_cursor? To make it work, but you can easily change the cursor appearance as if it were just another sprite in your game. O_O Anyway that method tells a game developer like me that Gosu will call that very same method many times a second!! In a game engine that lets you use flags like Window#fullscreen = true, what the hell is a needs_cursor? method doing there? O_o? So I edited the source code by writing stuff in C++ and CRuby code and manage to reimplement it myself as just another flag called Window#show_cursor = true. Stylish, don't you think? Later on I told Gosu developers about it just in case they ever wanted to change that. Surprisingly, the current maintainer disregarded this suggestion and even called it a source of probable instability! Say what? How could it get unstable if it's just another variable? You'd only call it about twice in a single game or probably never ever. There's another detail you might need to know to judge this situation. If you don't add that method to any scene alias state, well, you won't ever know where the heck is your mouse cursor pointing at!! Perhaps you can still click like always but it wouldn't make sense to do that as if you were blindfolded from the very beginning. So this means that a game needing it like in 3 or 4 scenes, it would need to add that method to all of them! I know, if you encapsulated stuff on a daily basis you could just add it to the base scene or something like that, but then you'd end up creating copies of it only to tell your game its value should be false whenever you don't need it! Tell me, how's that method more trustworthy than just using a flag like show_cursor = true or false? O_o? On a single scene you could easily activate or deactivate the cursor if you don't need it anywhere else! Every tick or frame you'd make your game leave the drawing stage written primarily in C++ to check Ruby's needs_cursor? method if it ever existed for that specific scene class. What for!? The game could just go update the usual stuff instead like Audio (called Song there) or Input and so on. Honestly, I really find the needs_cursor? method a real burden for game developers because an internal flag could solve the issue in no time without causing you any troubles, plus it'd get an appropriate name this time. It'd already be false by default so what's the need to fear your games could get unstable!? I have proven that the show_cursor flag is no longer just a theoretical delusion but a reality so why would anybody speak against it!? RE: What's up, RMers? - kyonides - 08-15-2019 Well, tonight I took advantage of the fact that tomorrow is Mother's Day here so I focused on writing some code, compiling a lot of times, testing it later on... What am I talking about? Err, well, it's all about my own fork of Gosu the Ruby Gem! Since Julian Raschke, the current maintainer and developer, has been quite reluctant to do a few small changes himself, I added them on my own and uploaded the code to github. You know me well, I couldn't resist the urge to show it off. I know, I know, it's a small role for now, but it's a nice start nonetheless! Yeah, in the meantime I have also watched a local soccer match where the big bad ass had a hard time defeating a combative Limon, the Caribbean team located in Limon (city), Limon (province). The final score is Herediano 3 vs Limon FC 2. Yeah, the red and yellow stripe players almost lost their change to earn those 3 points. I wished Limon could have done something about it, but hey! I was supposed to be coding, wasn't I? By the way, I'm still working on A Short Odyssey, but I might also play a few SNES, PSX and RM2K(3) games if given a chance. RE: What's up, RMers? - kyonides - 08-18-2019 I'm back to tell you about another curious situation I don't even understand why it ever happened. Days ago I asked the Gosu's main developer to implement playback position (the playing song's current time) or we just discussed about that. For some unknown reason he told us implementing it was practically impossible if using OpenAL. Guess what? HiddenChest and thus mkxp use OpenAL and it does feature the playback position. Doesn't it sound suspicious already? O_o? Then I went back and fro looking for OpenAL information regarding retrieving seconds and other related stuff and in a few days I already managed to define the getter function for the playback position. =_= Wasn't it supposed to be nearly impossible? Then tell me how did I manage to make it come true in a short period of time!? O_o? The first time something this weird ever took place was when Gosu had a native implementation of draw_text, then just called draw. You had to tell Font class how to deal with the actual Font's dimensions. I showed up and told him that there should be a method to get how wide that string should be in order to calculate a fixed position for other strings like numeric values or boolean ones and soon. Yeah, you can do that in any RM version so why couldn't Gosu do the same? He just replied back denying the possibility of achieving such a task without actually setting a temporary Font object first that would get any given string. A year or two later, he decided Gosu should include TrueType instead of a native replacement. And guess what did we learn about then? It could offer us the string's width even before it was assigned any of them... =_= Sometimes it makes me think he just loves to be lazy. Fine! I do know first hand what it feels like. RE: What's up, RMers? - kyonides - 08-19-2019 Just as a curious note, tonight I managed to include the set playback position for OGG, MP3 and other audio files! Now my own Gosu fork is worth looking at! Sadly, I don't know what else I should include there... Anyway, it already includes minimal versions of Rect and Viewport classes. I've also installed the Crystal programming language a couple of days ago. It says it was inspired by Ruby syntax, which I think it's fine, and it's supposed to be faster than its spiritual parent for it can be compiled. Of course, I'm unsure if you can claim that if Ruby already includes MJIT and Crystal has only reached version 0.30... It lacks many common features so it's a bit premature to state such things right now. By the way, it also features some weird stuff like the way you declare a hash class. hash = {} of Int32 => Int32 Yeah, empty hashes or arrays or anything need such declarations from the very beginning. It's not the same if you already set some specific values. I ignore if you can mix stuff like in Ruby where something like hash[1] = "Meow! Hellow!" is valid... Note: Hash{"one" => 1, "two" => 2} seems to prove it's an valid option in Crystal. RE: What's up, RMers? - kyonides - 08-23-2019 Well people, you might already know that it's easy to swap values from different arrays or variables in Ruby and thus RGSS as well. Sadly, this isn't true if we're talking about C, a language that actually supports Ruby as its very foundation. I was trying to do swaps but they fail often because I can't guarantee there won't be a memory or data or index overflow of any kind. I finally managed to perform a swap without calling memcpy more than once but it only worked with unsigned char... Now I need to deal with images that store 3 or 4 channels of data thus multiplying the actual array's contents. Yeah, your favorite picture of Silly's virtual dragonflies aren't nothing but mere arrays of numbers or characters (like 'B' or 0xff). This is how I can conclude dragonflies and werewolves are ugly up to the same extend. Now I gotta find out where I'm missing processed data or where I tried to get out of the image boundaries. Nope, C error messages aren't supposed to be that helpful... RE: What's up, RMers? - kyonides - 08-25-2019 I've been dealing with strange effects while working on a horizontal flip function for Gosu. According to its main developer, scale or scale_xy could transform the image if you want it. I'm not saying that's bad but stb_image already offered you a direct method to flip them vertically so why wouldn't we not expose it to Ruby as well? After talking with him the only feature he'd like to include was the playback position and duration. Well, I've already managed to implement it, but it feels awkward only to get these features pre-approved when I've got more ideas to offer. Since it'd be weird just to let you flip vertically but not horizontally, I was in need of posting a thread on stackoverflow... =_= Yeah, I hate that place, but I've got to close to my ideal of flipping images at will as to leave it behind now. I wish they could let me downvote anybody that wants to brag about their stiffness. You can really find many weirdos down there that wouldn't let you go without downvoting your own question!! They can be quite evil if they feel like it. Yeap, they downvoted my question alias request for help. =_= Now people have no right to make mistakes and publish them to find a solution. |