Save-Point
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)



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. Confused Even if I didn't compose anything... Laughing + Tongue sticking out 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... Laughing + Tongue sticking out


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? Laughing + Tongue sticking out 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! Laughing + Tongue sticking out


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?  Confused

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  Sarcasm
->Why not?  Grinning 

The choices that must be made!  Shocked

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--.  Confused 
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? Happy with a sweat 

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.  Tongue sticking 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 Laughing + Tongue sticking out )

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. Laughing 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. Confused 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?
  true
end

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!! Shocked

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? Laughing 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! Shocked Say what? Confused 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!! Shocked 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! Confused

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. Laughing + Tongue sticking out It'd already be false by default so what's the need to fear your games could get unstable!? Confused 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!? Confused


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? Happy with a sweat 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. Laughing You know me well, I couldn't resist the urge to show it off. Laughing + Tongue sticking out I know, I know, it's a small role for now, but it's a nice start nonetheless! Grinning

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! Shocked I was supposed to be coding, wasn't I? Laughing

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! Laughing + Tongue sticking out I do know first hand what it feels like. Laughing


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! Shocked Now my own Gosu fork is worth looking at! Laughing Sadly, I don't know what else I should include there... Sad 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... Confused 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. Sad 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. Laughing + Tongue sticking out

Now I gotta find out where I'm missing processed data or where I tried to get out of the image boundaries. Confused Nope, C error messages aren't supposed to be that helpful... Sad


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!! Shocked They can be quite evil if they feel like it. Sad

Yeap, they downvoted my question alias request for help. =_= Now people have no right to make mistakes and publish them to find a solution.