Nov 26, 2012

Script Manager updated!

Some of you might have encountered an error while trying my latest creation (uninitialized constant - Function_Sinusoide). The reason of this is that I made additions to my Common script bundle in the process, which means you need to re-download it before trying to use my Animated Battlers bundle. To avoid this inconvenience in the future, I thought it was about time to give my Script Manager a lil' update.

New features
  • Version check - if a script requires a newer version of a script than the one you have installed, you will be notified when launching your project.
  • Dependencies check - from now on, script bundles automatically load the bundles they bundles they require.
  • New error messages - You will be notified upon various unexpected events (missing files, bad configuration file, bundle not installed...) to help track your issues better.
  • Various fixes and improvements.

Please re-download the Script Manager and all scripts bundles of mine you're using to match its new specifications. People who want to keep their current versions for whatever reason should still update at least the following:
  • The Script Manager itself
  • MP Common > Functions.rb
  • All bundles > setup.ini (note - the load_order.ini file is obsolete)

Thanks for your time and happy using. :) 

Nov 25, 2012

Moonpearl's Animated Battlers

So, the least you could say is that battles have never been my thing. Proof is, I've never ever made anything for battles along my scripting career. Until today.

No custom battle system yet, just animated battlers, but animated in a nice way. I don't like how all CBS around here all feel so static, so I decided and try myself at making something that would make battles spring to life. For that I drew inspiration (mainly) from Valkyrie Profile, and I have to say that I'm pretty satisfied so far.

I should credit Holder for making the spritesheets I decided to make use of, and while I'm there I recommend you take a look at his site be cause he's a really talented spriter.




Features


  • Lively animations

  • Horizontal scrolling with camera and perspective effect

  • Voice acting support
  • Thoroughly customizable - create battle animations setting up various parameters (pose, jump/rush, range, knockback strength...) and freely bind them to weapons/skills/items
  • Theoretically compatible with any battle systems that comply with RPG Maker XP's base engine specifications


Video showcase courtesy of DrQuijano (only the first part)


Planned features
  • Enhanced battle interface with the Animated Custom Menu System
  • A new battle system while I'm at it




Known issues




  1. For some reason, the script tends to lag at the end of battle animations (mostly when the target falls back to the ground after being hurled in the air). I have absolutely no idea at the moment why it does that, I will however keep an eye for a solution. I'm experiencing such lags on my laptop, though, so i'm confident that users with more powerful computers are not likely to notice it at all.




Additional Credits



Battlers by Holder

Voices from Valkyrie Profile





Download



The following link provides a script bundle meant to be used along with the Script Manager. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated.

May 24, 2012

Now we're talking gameplay

*commenting on a project with no gameplay information at all*

ME - Gameplay is the core of your game, please think about it.
SOME GUY - WTF? You kidding me? That game has awesome gameplay man!
ME - I'm very curious as to how you can tell since there is no information whatsoever.
THE GUY - Simply by seeing the author uses Zeus81's Ultimate AMS! That's more than good enough for me! (Zeus81's Ultimate AMS is a script which improves the player's movement inside the game)

(thinking hard for something clever to answer)

ME - Right. So your ultimate enjoyment in a video game is to move your character. You stick to the simple bare necessities, as said the great philosopher Baloo.

May 12, 2012

Party Interaction

If you'd like to have your party members show on the map and follow you, and...
  • you think caterpillars make your party look like a bunch of perfect idiots
  • you'd like to interact with them
  • you'd like to take control of them
  • you'd like to program different responses according to the map you're navigating
Then Moonpearl's Party Interaction script is exactly what you need.




Features



Natural movement - party members automatically turn to the player, and follow him only when he walks away.



Interaction - your party members are perfectly regular events which you can program through the eventing system like any others. Thus, copies on each map may exhibit a different behavior.



Share control - you may have the player switch from their current leader to any party members, for example to program different responses from objects according to which party member is being controlled.




Auto place party members - automatically warp party members behind the player whenever transferring to a different map.



Easy to use - fully interfaced with the eventing system - control everything using only variables and switches, no script calls or edits required whatsoever.




Download



The following link provides a script bundle meant to be used along with the Script Manager. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated.


The following link provides a demo for said script.

May 10, 2012

Single-Character Main Menu For ACMS

Hello to all of ACMS fans. Today, here's a special preview of ACMS's upcoming features. It's a small tweak which makes the main menu character-oriented - that is, instead of selecting an option, then selecting an actor, you select an actor using L and R buttons and all options will apply to them. I thought of that when looking at some people's feedback, saying they wouldn't use ACMS because their game only featured a single character. So, now, no matter how many characters your game has, you may choose between both interfaces.

Donwload and put in your project's Script/MP Animated Custom Menu System folder (create it if needed). This also serve as a demonstration of how a shared script can be expanded/modified locally, without altering the shared copy.



Moonpearl's Scripts Compilation

I just realized a few days ago that I'm starting to have quite a bunch of scripts, and there might be some of you who know you want them all and wish they wouldn't need bother and go through all posts to re-download them with each update. Also, I noticed MediaFire had a "share folder" option, so I thought I could put it to some good use. :p

Anyways, here are permanent links from which you can download all of my works at once. This way, you ensure that, at the moment you download them, you get the latest version for each of them.

Links are provided without any descriptions or instructions here. This section is for people who know what they're looking for.

May 8, 2012

Animated CMS update complete (at last)!

As my faithful followers already know, it's been a while since I wrote the v2.00 for the Animated CMS. Back then I said it would take a while for me to update all themes to match this new version's specifications. Well I was damn right, it has taken a while. :p But now everything's up and working, and ready to work with my latest contribution, the Script Manager. Also, I made four different demos for each theme, since they don't include the script anymore, but rather read it from the Script Manager, and thus work with the exact same copy. Guess they will serve as demos for the Script Manager as well. ;)

Happy downloading and customizing... ACMS's true followers shall notice the few improvements I added to each theme...

May 6, 2012

The Script Manager

The Script Manager is a tool that was initially designed to automate script installation and get rid of the troublesome copy/paste process. If you:
  • have only one RPG Maker project
  • don't mind copying.pasting scripts in the first place
  • aren't a scripter yourself
  • don't understand the first thing about this post
Then don't bother trying it, it is no longer needed to use my scripts like it used to be.

It is useful, however, if you:

  • wish to use the same script(s) in a variety of projects/demos and keep all of them up-to-date at all times
  • wish to experiment with installing or uninstalling scripts without actually modifying your projects
  • are a scripter and wish to test scripts in development withtout actually modifying your projects
  • have lots of scripts and wish to automate their extraction/installation




What's That?!


The Script Manager is a developer's tool that is useful when you wish to share scripts across several projects. Using it, instead of having a copy of your scripts in each and every project of yours, you can install a single, central copy all projects will then feed upon, pretty much like the RTP packages do with multimedia resources.





What For?


I initially designed the Script Manager to make my life as a scripter easier. I had this pack of scripting tools I called Moonpearl's Common, I kept updating (and am still updating every now and then) and I found it annoying to copy the newer version to all of my demos with each tiny change - plus, I sometimes wasn't able to tell which project had which version. Now I don't have this problem anymore because there's only one copy of those scripts on my hard disk, which all of my projects use at any time.






Should I Use It?


The Script Manager is essentially a scripter's tool. This means that as a casual RPG Maker user, trying and get it to work is probably too much trouble for you. It used to be a necessary feature for hits blog's demo, but starting with the latest update, it isn't anymore. Demos are now hybrid - that is, they have their own built-in copy of the custom scripts they use, which you can simply copy/paste to your own projects, and also meaning that they are stand-alone - but on the other hand, if a Script Manager is present on your system, they can also use it and override their internal scripts, allowing you to take advantage of its benefits.

For example, when I update one of my scripts, you can simply download the new version and replace your older copy with it in your RTP folder, and all Script Manager-using projects will automatically run the newer version instead of the older one they still have in memory, which saves you a lot of copying & pasting. In the end it's completely up to your own preference, now both ways work without hindering each other.





Will I Be Able to Distribute My Project?


Of course. While using the Script Manager, your project shall feed on script that are installed in your shared folder, meaning they're not in the project as such. However the Script Manager Project Builder will automatically (re)install all scripts into your project's script editor. So you can safely experiment with adding/removing scripts without changing your project's scripts until you're sure.





Can I Make My Own Scripts Compatible With the Script Manager?


Of course! And I would be delighted if you would do so! Especially considering it's not that difficult, you just have to make each entry into a .RB file (plain text file with the .RB extension) and write a setup file which will tell the Script Manager in which order the entries need to be loaded (if it matters at all). Since projects are now hybrid, you can release both your regular demos with built-in scripts, and a separate scripts package for people who want to use the Script Manager.





Known Issues


  • There's a stupid bug when forcing game exit (clicking the red cross or pressing Alt+F4). This doesn't bring any harm since you were going to exit the game anyway. I promised I would fix this issue but  I still don't have the faintest idea as to why it occurs.




Instructions



  1. Go to your RTP folder (default Program Files/Common Files/Enterbrain/RGSS/Standard) and create a new folder called Scripts. This will be referred to as the shared scripts folder.
  2. Download the ZIP file and extract it to the shared scripts folder.
  3. Go to your project's folder and create a new folder called Scripts. This will be referred to as the local scripts folder.
  4. If you already have scripts installed in your project, drag-and-drop your project's folder onto the Script Manager Project Exporter shortcut. This will create a Local folder in your local scripts folder.
  5. Create a new file called Script Manager.ini inside the local scripts folder.
  6. Download the script bundles you wish to install to your projects and unzip them to the shared scripts folder.
  7. Edit your project's Script Manager.ini file and name the scripts you wish to install to your project (one per line). At this time your project's scripts have not been modified
  8. Drag-and-drop your project folder onto the Script Manager Project Loader shortcut to run it.This will load your project using the scripts you have previously named - this will not modify your project's scripts.
  9. When everything works fine and you are ready to replace your project's scripts with the selection you have made with the Script Manager, drap-and-drop your project's folder onto the Script Manager Project Builder shortcut. From then on loading your project with the Script Manager or running the Game.exe file will have the same outcome.




Downloads



You can find all scripts bundles of mine on the My Scripts Compilation page. You should download those three first since they will be required by virtually any of the others:


Note: remember to update the Common bundle once in a while, as it may potentially be expanded with each new release of mine. An outdated Common bundle is a common cause of problem.

May 4, 2012

50 video games that made an impression on me


...in no particular order, except they are categorized by platform and somewhat in the order I've got to know them.
  1. Oxyd (Atari ST)
  2. Monkey Island (Atari ST)
  3. Loom (Atari ST)
  4. Lemmings (Atari ST)
  5. Gobliins (Atari ST)
  6. Hunter (Atari ST)
  7. Flashback (PC)
  8. Day of the Tentacle (PC)
  9. Indiana Jones and the Fate of Atlantis (PC)
  10. Robinson's Requiem (PC)
  11. Tyrian 2000 (PC)
  12. The Dig (PC)
  13. Doom (PC)
  14. Descent (PC)
  15. Duke Nukem 3D  (PC)
  16. Shadow Warrior (PC)
  17. Blood (PC)
  18. Lords of the Realm (PC)
  19. Privateer 2 - The Darkening  (PC)
  20. Z (PC)
  21. Broken Sword [The Knights of Baphomet in French] (PC)
  22. Master of Orion (PC)
  23. War Wind  (PC)
  24. Dungeon Keeper (PC)
  25. Starcraft (PC)
  26. Afterlife (PC)
  27. Populous 3 - The Beginning (PC)
  28. Jedi Knight
  29. Serious Sam
  30. The Nomad Soul (PC)
  31. Legacy Of Kain - Soul Reaver 2 (PC)
  32. Halo (PC)
  33. Deus Ex (PC)
  34. Black & White (PC)
  35. Aquanox (PC)
  36. Diablo (PC)
  37. Prey (PC)
  38. Fahrenheit / Indigo Prophecy (PC)
  39. Pokémon (GameBoy)
  40. Super Mario World (SNES)
  41. Tales of Phantasia (SNES)
  42. Chrono Trigger (SNES)
  43. Final Fantasy VIII (PSX)
  44. Valkyrie Profile (PSX)
  45. Shin Megami Tensei - Persona (PSX)
  46. Beyond Good & Evil (PS2)
  47. Psychonauts (PS2)
  48. Prince of Persia - The Sands of Time (PS2)
  49. Final Fantasy - Endless Nova (Amateur - PC)
  50. Star Ocean Zero (Amateur - PC)

Apr 2, 2012

New Feature - To-Do List

I haven't been very active online recently - this is because I'm working on a project of mine, of which I hope to release a demo soon. And since I'm pretty secretive about what I do until it's done, people sometimes wonder whether I'm still up or gone.

This gave me an idea. You can now access my to-do list, which details what I'm currently working on and what I intend to do in short and long terms. You are also welcome to comment and encourage me with this or that - knowing a project is most awaited may persuade me to process it in priority - as well as make your own suggestions and requests - you can then tell how willing I am to work on them depending on where they appear in the list.

I hope this new feature makes it easier for us to communicate.

Mar 29, 2012

Scripters got a heart too

Yesterday, a guy from a forum annoyed me. I had the impudence of posting a little word about how it made me feel. Then someone commented on that, saying I just wanted to "prove my intellectual superiority", and "make the others feel poorly about themselves". As rude and tactless as I might be, I'm also an honest person, so I honestly asked myself:: why do I even bother posting contents and helping people in the first place? Maybe I actually do want to show off, after all.

For you to get a better understanding of my insight regarding this issue, let me tell you about this blog's history. I've written scripts for RMXP for several years now. My Ruby skills have improved a lot in the process (and still is), so there are some of them I've simply abandoned, others I've not completed yet. At first I just wanted to use them for my own projects. I believed sharing them would only result in people downloading them and not even saying thank you. Then I subscribed to a French game-making board thinking: why not just discuss this hobby of mine and share thoughts about it? And that changed my mind, because I realized discussing scripts and helping people with their issues gave me the courage to write even more scripts and excel myself. I realized that the day I wrote the Animated Custom Menu System's very first version - because this was the first time I had written a full system for someone else.

So I started to consider sharing my other works. I must admit I was pretty reluctant. What if people stole them and claimed them as their own? What if people didn't like them or otherwise didn't give a damn? And most importantly, since the point was for me to keep encouraged in exchange for the time and energy I'd spent, what if people just grabbed what they could and never provide any feedback? Well, I wasn't quite wrong about that last point, since virtually nobody has ever commented on my works unless they had something to request - and the bigger the request, the more praise they felt they had to provide. Anyways, I decided to do it, and here we are.

Now you know why my works are free and why my help is free - you actually give me something in return, in the form of positive human energy, which keeps me going and allows me to provide even more quality contents. In short, the price for a work of mine is a "thank you" - and most people don't even bother to pay that.

So it really does hurt when I'm told I think too highly of myself and I just want to make people feel bad. This was the kind of issues I wished to avoid at the time I didn't want to go on the Internet. Maybe I should just tell people who ask for support they should learn Ruby just like I did, after all no one's ever helped me in the process but online documentation. Maybe I should retire, maybe writing scripts for RMXP, even more than sharing them, is a waste of time.

So, as a conclusion, I still don't know what will become of this blog, and of my involvement with game-making communities. My only certainty is that I'm feeling very bad about it right now.

Mar 12, 2012

Animated Custom Menu System updated! (again, v2.00)

Rejoice, ye ACMS lovers, for a brand new version has been born!

I've been asked for new features here and there, and since I also had my own plans for it, I thought it was about time I did something. I first came up with a draft for a v1.12, then thought of further improvement for an hypothetical v1.13. Then, I thought to myself, since I'm there, why not do everything I have in mind at the same time. It took me long enough, but here's the result, and I doubt you'll be disappointed with it.

So, here comes v2.00, with TONS of new features and fixes, and also a forth theme - the three older ones still need to be updated to work with v2.00, so please be a little patient. See the main post for more information. Ane please leave a nice comment if you like what you see. :)


Mar 6, 2012

A Closer Look at the Scene_Base Architecture

Some people have been asking me how to write new scenes using my Scene_Base architecture. Here's an overview of how it works, and how different it is from standard RMXP's scenes.


RMXP's Standard Architecture

Here's a pseudocode template of a standard RMXP scene.
class My_Scene
  def main
    create windows and sprites
    process transition
    begin loop
      update frame
      call update
      check if another scene was created, and if so, abort loop to end current scene
    end loop
    erase windows and sprites (dispose)
    prepare for next scene's transition
  end def

  def update
    update each window/sprite
    check for inputs and do the appropriate stuff for each key
  end
end class
Seems perfectly fine as is, now doesn't it? However, when you think about it, several issues can arise with that simple, straightforward architecture:
  1. If you want to add a new window to the scene, you are forced to rewrite its main method entirely, because it's in a single piece. Thus you cannot use two scripts at the same time, which modify the same scene, because the latter will systematically override the former one.
  2. All RMXP scenes rely on this same architecture, thus the same lines are written over and over again, which is unnecessary repeating.
  3. Because of 2., if you'd like to tweak all scenes at once (for example modify the transition at the beginning for all scenes), then you have to rewrite all of them one after one.
Of course, as long as you're not dealing with editing scenes/making new scenes, you have little concerne for such issues. But since I've had the occasion to make some heavy on scenes, I thought it was about time to do something about it, and that's how I came to write the Scene_Base class.


Moonpearl's Scene_Base architecture

The Scene_Base class was written to address the previously stated issues. It was meant to:
  1. Provide easier writing for new scenes since you don't have to rewrite all the base code.
  2. Handle scenes in a more modular fashion to allow easier editing.
  3. Make it possible to tweak all scenes at once
Here's an overview of how the Scene_Base class works.
class Scene_Base
  def main
    call setup
    begin loop
      frame update
      call update
    end loop
    call terminate
  end def

  def setup
    create windows/sprites and list all of them in @sprites
  end def

  def update
    update all windows/sprites listed in @sprites
  end def

  def terminate
    erase all windows/sprites listed in @sprites (dispose)
  end def
end class
Now let's see how we could write an entirely new scene using this architecture.
class My_Scene under superclass Scene_Base
  # No need to redefine main method

  def setup
    create windows/sprites and list all of them in @sprites
  end def

  def update
    call superclass's method
    check for inputs and do the appropriate stuff for each key
  end def

  # No need to redefine terminate method
end class
One can easily see the first benefit, which is a substantial saving of code, which in turns means a substantial saving of time and energy. But that's not all. Suppose we further want to edit our new scene as an independant script, while not rewriting everything from scratch. Here's how to add a new window/sprite:
class My_Scene under superclass Scene_Base
  # No need to redefine main method

  def setup
    call former code
    create a new window/sprite and add it to @sprites
  end def

  # No need to redefine update method

  # No need to redefine terminate method
end class
This is just enough since our new window/sprite is listed in the @sprites Array, which means both update and terminate will handle it as any other previously created window/sprite. Likewise, suppose we now want to ass new functions to our scene, for example make it able to respond to a new key.
class My_Scene under superclass Scene_Base
  # No need to redefine main method

  # No need to redefine setup method

  def update
    call former code
    check for the new input and act accordingly
  end def

  # No need to redefine terminate method
end class
As you can see, we stick each time only to the necessary edits. Furthermore, this allows several edits of the same scene to coexist, because we do never rewrite a part of the code, we only expand it with new features, always calling the older version.

As an example of how powerful this architecture can be, you can have a look at my Scene_Menu_Base class, from the Animated Custom Menu System. This allows all menu scenes to exhibit common features (namely, a background image and a scrolling overlay). Basically, it's written that way:
class Scene_Menu_Base under superclass Scene_Base
  # No need to redefine main method

  def setup
    create background image and add it to @sprites
    create overlay and add it to @sprites
  end def

  def update
    call superclass's code
    move overlay
  end def

  # No need to redefine terminate method
end class
Now we just have to write new scenes listed as subclasses of Scene_Menu_Base, and since we'll keep on calling formerly written code, the background/overlay will automatically show, and the overlay will automatically scroll, with no need to state those explicilty in our new scenes.


Conclusion

I hope this quick overview could persuade you how the Scene_Base architecture can be useful and handy. If you were trying to write your own scenes with it, I encourage you to do so, and I also hope it did clear things out for you.

Mar 3, 2012

Why I hate RPGs

You might think this is funny from someone whose hobby is to write scripts to enhance a RPG maker engine. But it's actually for that very reason I do this, and it's a fact - I can't stand the RPG genre. To make this statement a little less blunt and some more interesting, let me explain you why...

History

I'm sort of a dinosaur in the world of video games. I was born in the 80's, and I spent a very long time without a gaming console, nor even a PC - just old computers, with old video games (and when I say old, I mean older than pretty much anything you'd have in mind), and RPG came only very late in my life. At the time, there were no real genres - since the games were lacking on the multimedia side, they had to be interesting, and quite unique, if they were to catch your eye. Rather, they were roughly categorized into action/arcade, puzzle, strategy and "adventure". This last category could have held RPGs as we know them today, if there was only any chance that they could have developed at that time. The "adventure" category was further roughly divided into two styles - humourous, puzzle-like adventure games (think LucasArts's Monkey Island), and serious role-playing video games (which should be the ones to deserve the title of RPG, but which I refer to as "RPG-ancestors" to avoid confusion).

So, it all started with those "RPG-ancestors". Historically, they would be videogame adaptations of classical "pen-and-paper" role-playing games (think Dungeons & Dragons), and as such, would present the player with incredibly rich and detailed worlds, and countless possibilities. Just like a PnP role-player, you were thrown into a full-scaled universe with lots of place to visit and lots of people to talk to - and more importantly, no one sticking out to tell you what to do, or stop you if you would try and go somewhere while that was not the time yet. Though appreciated by fans, this extreme freedom would sadly overwhelm the newcomer, and make these very complex games, which required weeks of experimentation before they could be enjoyed to their fullest. For this reason, "RPG-ancestors" were particularily geeky games.

Then, one day, there was Final Fantasy.

Upon its release, Final Fantasy was kind of a UFO among "adventure games". It was neither puzzle-like, nor hardcore-roleplaying-game-like. Actually, there was pretty much nothing to do other than follow NPC's instructions who told you where to go and what to do, just a few battles here and there to keep the player interested. For the first time in videogame history, you could enjoy an epic adventure without even thinking about it. So you can only imagine how it soon became a hit.

And thus, Final Fantasy started a long-lasting tradition of brainless adventures, where you just have to sit and enjoy, and occasionally bash a few buttons to take down overpowered enemies. This is what we call RPG nowadays, and this is what I've come to dislike more than any other kind of videogames.



RPGs have you do anything but roleplay

"Role-playing games" is an usurped title for this generation of videogames. A game would be called "role-playing" provided the roleplaying aspect makes any difference, wouldn't it? Roleplaying means speaking in place of the character, it means taking decisions for him, and that implies being given the opportunity to do so. Where in a classical RPG do you take any decisions, even regarding what to say to NPCs? And by that, I mean real decisions, some which have an influence, make any difference in the game's unfolding - dummy choices are just a joke, you could program some in Pong and it wouldn't make it a RPG, now would it? The "roleplaying" part is limited to moving the main character and make choices about his equipment, and whether he should attack or drink a potion in battle. If this is enough for a role-playing game, then it makes Doom a RPG (and a much more thrilling one, by the way).


Non-interactive storylines

Considering you don't do anything except fight endlessly, it's only natural that whatever you may do has no influence whatsoever on the way the storyline is going to unfold. A few RPGs offer multiple endings (and by multiple I mean just 2 or 3), but it's often not even about important choices in the storyline's perspective - rather, you get another ending because you've chosen this character to join your party over that one, or because you haven't completed some obscure sidequest. The very word "storyline" says it all - we don't even start to think about making scenari something else than a dull, flat line. I'm struck by how we have incredibly sophisticated ways of rendering stunning graphics, and how much passion and energy is put into putting together breathtaking music that matches the game's atmosphere perfectly, whereas we still stick to prehistoric, extremely linear scenari. Even "choose your adventure" books offer the player more interactivity than modern RPGs, whereas their concept is half a century old. I shall discuss leads regarding how to create really interactive storylines in later posts.



It's all about battles

Remove battles from a RPG, and it's not even a game anymore. No battles means no equipment, no treasure hunt, no leveling-up, no random encounter and thus no purpose in wandering around to ultimately get and advance the storyline. Without battles, RPGs are mere movies. Refering to my previous statement, a better title for RPGs would be "battling games", since all you really do as a sentient being, able to make decisions is battle. Now, some RPGs do have interesting batttle systems, but most of them are just about attacking absent-mindedly. Take the RPG Maker series, which is supposed to be representative of what your standard RPG would be. Honestly, the standard battle systems they feature are so dumb they make me wonder why I quit playing Soulcalibur.



It's just a matter of optimization

Battle could be interesting, and "role-playing-like" if there were even multiple strategies to be developped. For instance, I took some interest in Pokémon for the fact that you can choose your style in some extent (even though it all boils down to dealing the most damage in the end). But most of the time, as for the storyline, there's one and only way to go. When you get the latest weapons in the game, you have to equip them since they're more powerful than the previous ones, there's no considering them a option, you would be stupid not to equip them. Once again, you're not given a real choice, even regarding as basic an option as what kind of items to equip. Regarding how your characters progress, it's just the same - they can only level up, they won't lose abilities they don't use out of lack of training. And since they have classes that prevent them for learning abilities or using weapons that are not meant for them, there's nothing to be pondered, just go and gain XP and money.



Conclusion

I think most people enjoy RPGs for their inherent simplicity. As stated above, Final Fantasy met success because it was so simple compared to what existed at the time. I can understand that games which require much thinking and involvement can be a hassle, and to be honest I easily get tired with them as well - however, I think there's a happy medium between being required to manage tons of environmental variables at once, and being given no option at all. I make my best to give RPG Maker XP new dimensions with my scripts. I try to cross-breed RPGs with old-school adventure games, allow them to exhibit a puzzle-like aspect, and in a general manner, give the player's choices more consideration. I hope someday I can make a heavily decision-based game which is easy and entertaining to play, but difficult to get to the best end, to demonstrate my point. And then, I'll consider classical RPGs finally outdated, in a gameplay perspective.

Mar 1, 2012

Miscellaneous Scripts

This is a collection of small tweaks I use for RPG Maker XP. Bundles for the Script Manager are distributed separately, but there's a single demo for all of them. Just add/remove the appropriate entries from the Script Manager.ini file to test them individually.



Moonpearl's Confirm Decisions



This allows the game to prompt the user for confirmation when performing important actions, such as exit the game or overwrite a previously saved game.






Moonpearl's Improved File Menus



This replaces the minimalist, slow Load and Save menus with a more powerful interface, which allows you to load savegames by calling the save menu in-game, and also delete savegames you have no longer use for.





Moonpearl's Skip Title



Pretty self-explanatory, this tiny script skips the title scene and calls the first map directly in a clean, minimalist way. Ideal for testing projects with a long intro.





Moonpearl's New Game Plus



Enables a "New Game +" option on the title screen when at least one savegame is flagged as completed. The number of times the game has been completed in a row is stored into a game variable, which allows you to program events to behave differently based on whether you're in Plus mode, and also how many times the game was completed.






Demo



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 

Feb 29, 2012

Balloon Messages updated!

I thought it would be nice to have framed faces displayed along with balloons, so I scripted that and decided to include it into my Balloon Messages project, although it is actually independant (please try and use it without the Balloon Messages script if you'd like and tell me if it fully works alright). Again, it's fully interfaced with RMXP's eventing system. The following screenshot was obtained by simply calling a Show Picture event command just before displaying the message - the frame and the picture's position are automatically managed by the script.

Feb 26, 2012

Balloon Messages

While looking around for balloon messages sytemes, I noticed two things - first, the  balloons are often ugly and second, they are often part of a broader custom messages system, which forces you to use that system. So I wondered if there was possible to make a  balloon system that would be independant of any custom messages system, and how to make visually appealing graphics for  balloons. And here's the result.



Features



  • Fully customizable font type and size - see the balloon adapt dynamically around your constraints.
  • Fully interfaced with RMXP's eventing system - no script call or any funny stuff like that ever.
  • Fully emulates RMXP's standard messaging functions, including color change and actor name substitution.
  • Customizable, full-color graphics for  balloons using a unique Balloonskin module - which works pretty much like Windowskins. Three Balloonskins (normal, thinking, angry) featured by default.
  • Multiple  balloons may be displayed simultaneously.
  • Theoretically compatible with other custom messages systems.



Screenshots


Hebergeur d'image

Hebergeur d'image

Hebergeur d'image






Download



The following link provides a script bundle meant to be used along with the Script Manager. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated.


The following links provide demos for said script. Please install the script bundle beforehand to have it run properly.

Download Balloon Messages v1.01 Demo (223 KB)



Share It!



If you like this work and wish to share it with friends or communities, you may use this widget, along with a link to this page.

Feb 24, 2012

Biography Menu


This is menu which allows you to display a bio for each actor, which is entirely customizable. It was already available as part of the Animated Custom Menu System, but now I'm releasing it as a stand-alone for those of you who would like to use with your own menu system.



Features



  • Very flexible and easily customizable system, allowing you to display any pair of feature/data in the order you like
  • Long descriptions are automatically broken into several lines
  • You may hide some data from an actor's bio in case it contains spoilers, and reveal it only later in the game



Screenshots


Hebergeur d'image

Hebergeur d'image

Hebergeur d'image





Download



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 

Verbal Interaction System


Verbal Interaction takes the Keywords system one step further. It's still about using keywords, but now actions are also keywords - meaning you'll have to specify whether you want to examine, open, pick up objects, just like in good ol' Lucas Arts. This is perfect for puzzles because the player is forced to give a little thinking to what he does, clicking anywhere like crazy doesn't accomplish anything, unlike in your everyday RPG.



Features



  • Programming responses to actions with the eventing system is as easy as: if selected action is PICK UP, then change items ("Potion" +1)
  • Cycle through known actions using the HUD
  • Each object is assigned a default action with a specific button as shortcut
  • You may also eaasily combine items from your inventory with objects



Screenshots


Hebergeur d'image

Hebergeur d'image

Hebergeur d'image





Download



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 

Download Verbal Interaction System v1.00 (247 KB)



Share It!



If you like this work and wish to share it with friends or communities, you may use this widget, along with a link to this page.

Feb 23, 2012

RGSS Charset Maker

Ever tried using a character maker? I have, and have found out that most makers have too few materials, or lack essential features, or can't be used with custom images, or use graphics which clash with RMXP's style, or which are otherwise ugly... and sometimes all of that. Making my own was an option I had been considering for a long time, so when a pal at rmxpunlimited.net asked whether someone would come up with a complete and handy maker, I felt it was the right moment for me to show off. :p That's how, within a few days, I'd completed this utility I'm pretty proud of.



Features



  • Edit the hue, brightness and position of each feature individually, or edit all features at once
  • Preview changes before applying them
  • See your character animated while editing it
  • Change the superposition order at will
  • Render your characters as .PNG images or assign them to the player to test them live
  • Save your characters as presets and reload them later to make new variations rather than start again from scratch
  • Expand the libraries with your own custom graphics by simply adding files to the image folders, the program autodetects them
  • Growing and collaborative materials database, updated regularily with new resources



Screenshots


Hebergeur d'image

Hebergeur d'image

Hebergeur d'image




Download



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 


Only a few graphics are included in this package as a preview. Download JonBon's materials database to get the most of Charset Maker. The database is still expanding, so please check for updates.

Download RMXP RTP Charset (permanent link)




Credits



This program uses Zeus81's Bitmap Export - thanks to him for enabling this core feature.
The materials database is provided and maintained by JonBon.




Share It!



If you like this work and wish to share it with friends or communities, you may use this widget, along with a link to this page.

Feb 11, 2012

Yet A New Theme For ACMS

As to further test the customization possibilites of my Animated Custom Menu System, I made a third theme. It took me little more than one hour to fully complete it. I also corrected some minor issues in the script, so please download v1.11 before trying and install it. Only the Constants, Common and Scene_Menu entries were modified.

Here is how the newcomer looks:


Animated CMS Frequently Asked Questions


IMPORTANT

This  FAQ only covers issues specific to the Animated Custom Menu System. For more general issues, please refer to the general FAQ.



Customization issues


Can I develop my own theme for ACMS? How difficult is it?

Abolutely, that's its very purpose - I didn't make it so that so many customization options are available for nothing. Making your own custom theme is as difficult as making your own graphics and putting them in the appropriate folders instead of the ones that come with the download package. You might also want to edit the Animations using the database editor - so there's nothing out of the ordinary there. Finally, you'd have to edit a few constants in the script editor, but it's nothing too big, besides all options are documented individually so you know exactly what you're doing.


Need my custom pictures be the exact same size as the original ones to be positioned properly?
Absolutely not. The script takes in account the size of your pictures to determine where to place them on the screen. Possible limites are purely aesthetical (for example, if you make pictures too big, the sprites may overlap/not fit in the screen). Also, if changing a picture's size makes things funny, check whether there's an option set for this very purpose (for example actor portraits' left padding on status sprites).


I don't like the windows layout/party member's info layout/type of info displayed at the bottom of the main menu, can this be changed?
Of course. This only requires basic scripting skills, so I won't cover those issues personally. If you really can't do it by yourself, there are many communities around with member who will be glad to help you on this. Please understand that I can't keep on rewriting my scripts to fit everyone's whims, especially provided I'm always working very hard to maximize the customization options.



Functional issues

About the Party selection feature - can I disable the menu to restrict the player from choosing unavailable actors?
You cannot disable the Party menu as such, however you can make actors unavailable for selection by simply using the "Remove actor from party" event command. Likewise, adding a party member this way also makes it available for selection, even if the party is full at the moment.


About the Biography feature - can I display other information than the basic age/sex/race?
Absolutely. Try and edit the bio setup, it's like a blank sheet of paper. Actors need event not have the exact same features, or they may be listed in a different order.



Compatibility issues


I use my own custom title screen. Can I use ACMS's menus, but not its title screen, to retain mine?
Yes. Just ignore ACMS's Scene_Title entry while copying the script to your project. Same goes for any other unwanted scenes, by the way, since they're all independant from each other.


I've tried to use another script which modified the behavior of a menu scene along with ACMS - the scene works fine, but there's a black screen fade-in/out, and the background graphics don't appear. How can I fix that?
First off, you have to convert your scene to a Scene_Base subclass if it isn't already the case (see there). Then, you have to make your scene recognized as a specific ACMS-menu. In order to do this, just write the following line right after the declaration of the class (class Your_Scene < Scene_Base):
  Scene_Base.type_menu << self
Right after, put that another line to include ACMS specific commands to your scene:
  include Scene_Menu_Base
Then you have to call Scene_Menu_Base's menubase_setup from your scene's setup method, right before anything else:
  def setup
    super
    menubase_setup
    ... (original code)
  end
As a final edit, call Scene_Menu_Base's menubase_update from your scene's update methode, also at the beginning. The "return unless" part makes your scene wait for fade-in/fade-out to terminate before doing anything else.
  def update
    super
    return unless menubase_update
    ... (original code)
  end
Then, you might want to read the following topic.


I've tried to use another script which modified the behavior of a menu scene along with ACMS - the scene works fine, but it appears bluntly without windows moving in. How can I fix that?
First, you need to convert your scene to ACMS's specific architecture using the previous topic. Once this is done, you have to set each window's movement. At the end of the scene's setup method, write a line like the following for each of window:
  @window_variable.set_move_from(start_x, start_y)
Replace @window_variable with the appropriate variable name, and start_x/start_y with the window's desired postion before transition.



Graphical issues

Battle-specific options (Attack/Defend) are still written in plain font, while Items/Skills have a picture. Can I also make a picture for those options?
Of course. You can do a picture for virtually any text, wherever it may appear in the game. Just make a picture you name "Attack.png" and put it in the Graphics/ACMS/Texts folder.


There are no numbers beside HP/SP bars in battle scenes, can this be modified?
Yes. Numbers display was disabled by default for mere space issues. If you want number display enabled by default, search the script's Window_Base entry for the following (line 52):
  def draw_actor_hp(actor, x, y, width = 144, text = false)
Replace text = false with text = true. Do the same with (line 83):
  def draw_actor_sp(actor, x, y, width = 144, text = false)
And you're all set.

Jan 12, 2012

Animated Custom Menu System Updated! (v1.10)

I guess the most famous script of mine so far deserved some clean-up, especially since I realized there were a lot of tiny issues to fix when trying to fully customize the graphical aspect. So I went all the way through, designing a whole new theme, with pictures of which sizes differ from the ones in the standard theme and stuff. To make a long story short, here's an overview of the result:




Those two renders were obtained using the exact same script. Only the graphics were changed, and a few options adjusted, which gives you an idea of just how easy it can be to design your very own theme. You can download both themes for a try, and change from one to the other to see for yourself how easy it can be.



New features




  • HP and SP bars may be drawn at any arbitrary size, the script automatically stretches the graphics accordingly.
  • Actors make faces when injured or suffering alteration status.
  • New graphical theme - "Summer Breeze", installed by default.
  • New menu - Biography.
  • Easier scriptwise customization and lots of code clean-up.





Screenshots & Download



Refer to the main post

Jan 7, 2012

Pathfinder

After running around dozens of maps for hours and hours trying to find the place I was supposed to go to, and of which location the game designers assumed was completely obvious, I had enough and said to myself "Instead of giving those damned NPCs such lame, useless quotes, why couldn't they have them simply GIVE DIRECTIONS?". So I sat at my desk and a few hours later I'd done it (which proves how easy a feature it is to implement). And today I'm sharing it with you, so that I don't spend hours looking everywhere when playing your own projects. :)



Features


  • Just name the events connecting your maps as "Exit", and the script automatically searches for those connections.
  • The pathfinder always returns the shortest way to go from one map to another.
  • It is possible to ask for directions from a different map than the one you're in.
  • Use along with the Keywords System to make asking for a destination even easier.



Screenshots



Maps as defined in the project

Instant in-game result




Download



Click the following link to download this script. Terms of use and instructions are provided within. Please credit me if you use it in your own project. A nice comment is always appreciated. 

Download Päthfinder v1.00 (228 KB)





Share It!



If you like this work and wish to share it with friends or communities, you may use this widget, along with a link to this page.