21 December 2009

Game Progress Script

I originally wrote this script for RMXP, although adapted to RMVX (both scripts are available below).

Sometimes it's useful to know how far into a game you are. This script measures your progress in the form of a percentage (click on the screenshot to see what I mean). When you have completed certain tasks, you can add to the progress percentage.

The inspiration for this particular script came when I was reviewing the Status for my game, The Gladiator Project (TGP), thinking that something was missing, though I just didn't know what.

But then it came to me that, since some Roman Gladiators fought their way to the top, I figured why not have some kind of measurement on how close to "freedom" you are. So here's the script.

To install:

  • Copy and paste the appropriate script above Main.


  • When you want to update the "progress percentage", place the following in an event:

    $game_variables[1] += 5

    This will add 5 to the percentage.
20 December 2009

More Windowskins VX #3

Here are some more RMVX windowskins. All of the windowskins on this blog are compiled on RPG Maker Times Companion, where you can view examples of these (and all the other) RMVX and RMXP windowskins. Right-click and save the image to your hard drive.

CeruleanChromeCloudy
Cerulean RMVX WindowskinChrome RMVX WindowskinCloudy RMVX Windowskin>
GrapeOrange SunSaffron
Grape RMVX WindowskinOrange Sun RMVX WindowskinSaffron RMVX Windowskin
 Water   
 Water 1 RMVX Windowskin 

The next windowskin update will be for RMXP, including conversions of some of these RMVX windowskins.
18 December 2009

The Gladiator Project Update #2

Progress on The Gladiator Project (TGP from now on) has been slow but steady, as I've been working more on functionality and aesthetics first. The bulk of that has now been taken care of, so I'll be starting on the game itself next.

The first completed update is the main menu. As I mentioned previously, it is based very loosely on Rubymatt's Compact Menu System, adapted to fit TGP and its purposes.

Most of the menu items are functional, but might be changed later.

  • Inventarium Inventory: List of items.
       At the moment this is the default item list. I might implement KGC's Item Categorization script (translated and modified by Mr. Anonymous and Blackmorning respectively), although I might change it or remod it later.
  • Artificii - Skills: List of skills and arts.
       I have yet to create any gladiator-specific skills, but will most likely design them from scratch as they are needed. In keeping with the "sortables", I might have a script that sorts skills according to type.
  • Armamentum - Equipment: Weapons, armor and accessories.
       This may or may not remain the same as the default, depending on several other factors as the game progresses, including additional sound effects for individual pieces of equipment.
  • Status Quo - Status: Character profiles.
       The Status Quo is 90% complete. I added some of RMVX's extra features (unavailable in RMXP) plus visual icon-based status effects. There are a few things missing from it, but for the most part it's done.
  • Diarium Facti - Achievements: List of awards and achievements.
       I haven't decided exactly how the "reward & punishment" system (based on reputation) will work yet, but will use SojaBird's Achievements script for this.
  • Societas Amicitiae - Alliances: Factions and inter-gang relations.
       This features SojaBird's excellent Factions (Reborn) script - perfect for TGP's specific needs.
  • Descriptum Bestaria - Bestiary: Compendium of enemies fought.
       I've chosen to use Falcao's Dinamic Monsters Bestiary script for this, as it fits TGP's needs adequately.
  • Laboris Tabulae - Job Log: List of tasks and quests received.
       I've used Modern Algebra's excellent Quest Log to log the questae (quests) because of its versatility and dynamism.
  • Conservo Progresso - Save Progress: Record your game progress.
       The best and most attractive save system is Woratana's NEO Save System, which is what's being used in TGP.
  • Ratio Bene - Options: Change various in-game options.
       For this, I've used Yanfly's Menu System Options script.

There are still two sections to the menu that have no real functions yet, but that will come as the game progresses.
16 December 2009

RPG Maker DS Release Date

Enterbrain formally announced (in October) a release date for the long anticipated RPG Tsukuru DS, as it's called. The title is expected to cost 5460 yen, but there has been no news about a US or EU version or release dates announced so far.

The release of RPG Tsukuru DS, originally scheduled for release in Japan on January 28, 2010, has now been postponed until March 11, 2010. This was announced on the Enterbrain website (11 November).

Nintendo Orimashita, devoted to developing RPG Maker for the launch date [January 28, 2010] for the DS For RPG Maker, has decided to change the release date to make further improvements on the content and quality of game...

We apologize to everyone in the media and distribution and for any inconvenience, and especially to everyone who was looking forward to the release date more than anyone else.

The following excerpt is taken from the Gamer Grenade News Blog, which gives some idea as to what it will be like:

RPG Tsukuru DS will allow players to make their very own Japanese-style RPG, defining everything from characters and world maps to monsters and equipment. The tools are all touch-screen compatible, making the creation process a lot faster than before, and players will be able to use Nintendo Wi-Fi connection, in order to exchange game data with other friends, although the exact details are still yet to be determined.

In addition RPG Maker features an easy-to-use toolset and transforms instruction into worlds allowing players to produce exciting and enchanting games. They choose their characters, worlds, 1,500 items, landscapes, 150 music pieces, add a script, share creations with other users and more. Players have the ability to create the biggest and best RPG with an epic storyline.

I know that I'm looking forward to trying this title - if it is released in English - so only time will tell what Enterbrain decides to do.
15 December 2009

Woodcutting Tutorial - RM2K3

Woodcutting DemoAn accompanying demo is available with this tutorial.

This is how to create a basic woodcutting process in RM2K3, similar to that used in Runescape, but without the experience points gained.

Using the "defaults" from a new Project, first create two common items: Handaxe and Logs.

Also, create a variable to store the number of logs chopped. In this example, 0001:Wood.

Next, create a map and place a few events on it, setting the event graphics to trees. Make sure you name each one differently, as each one also has a matching switch. For this tutorial, I created 4 "tree events", named Tree1, Tree2, Tree3 and Tree4.

Create another event for the Woodcutter, who will give you an axe with which to chop the trees down. In the Woodcutter's Event Commands, we'll need to set it up so that:

  • He first checks to see if you have a Handaxe. If not, he'll give you one. If so, he'll tell you how many logs you've chopped.
  • If you've collected the required number of logs (in this case 10), he'll congratulate you. If not, continue until you have the number of logs.

The code for this is as follows:
<>Branch if Handaxe Possessed
  <>Branch if Var[0001:Wood] is 10
    <>Message: Congratulations! You've collected 10 logs.
    <>
  : Else Handler
    <>Message: You've collected \V[1] out of 10 logs.
    <>
  : End
  <>
: Else Handler
  <>Message: You don't have an axe! Here, have this one!
  <>Change Items: Handaxe 1 Add
  <>
: End
The next step is to set up the trees so that they can be chopped down and you'll receive some logs. We'll start with the "Tree1" event.

Create 2 pages. In the Event Commands (Page 1), we need to:

  • Check once more if you have a Handaxe - you can't chop trees down with your bare hands, after all.
  • If not, display an appropriate message.
  • If so, change the tree to a stump and add the logs to the inventory, not forgetting to "store" the number of logs possessed.
  • Finally, add some sound effects and chop away!
<>Branch if Handaxe Possessed
  <>Play Sound: Axe Swing
  <>Wait 1.0 Sec
  <>Play Sound: Axe Swing
  <>Wait 1.0 Sec
  <>Play Sound: Axe Swing
  <>Wait 1.0 Sec
  <>Play Sound: Tree Falling
  <>Switch Operation: [0001:Tree1] ON
  <>Message: You received some logs.
  <>Change Items: Logs 1 Add
  <>Variable Oper: [0001:Wood] + , 1
  <>
: Else Handler
  <>Message: You'll need a handaxe to chop this tree.
  <>
: End

On Page 2, set the first switch under "Preconditions" to 0001:Tree1 and the "Event Graphic" to that of a tree stump.

Repeat the steps for the other tree events, changing the name of the switch to match the name of the event, i.e. in event Tree2 the switch name would be Tree2, and so on.

Now, of course, since we only created four trees, but need 10 logs for the tutorial, the trees would need to regrow. For this, we need to create a simple variable-based timer. Set the "Trigger Condition" (on Page 2) to "Parallel Process". In the Event Commands, place the following:
<>Variable Oper: [0002:Seconds] Set , 0
<>Label:1
<>Wait 5.0 Sec
<>Variable Oper:[0002:Seconds] + , 1
<>Branch if Var [0002:Seconds is 5
  <>Switch Operation: [000:Tree1] OFF
  <>
: Else Handler
  <>Jump to Label:1
: End
<>
Repeat for the other Tree events, once again changing the Switch Operation to the corresponding event name.

When you've collected 10 logs, speak to the Woodcutter and demo over.

Poll Results - December 1-13

The results of December's first poll are in!

Voters opted for more RMXP stuff (windowskins, scripts and charsets). So, it looks like my copy of RMXP will need to come out of hibernation.

At the moment, my preference is RMVX as the RPG Maker of choice for my project, The Gladiator Project. The reason for that is because RGSS2 is much more versatile, with several additional features not available in RGSS, that suit my needs for the project.

That said, and with the poll results in mind, what I'll do for the next few entries is this:

  • RM2K/2 - A basic "woodcutting" tutorial, which I recently rediscovered from a Runescape type project I started making quite some time ago.
  • RMVX - Another few updates on The Gladiator Project, including a tailor-made Status screen, menus and a Dramatis Personae.
  • RMXP - A few more windowskins, some of which are converted from RMVX, and a few scriptlets to start with.

Thanks again to all who voted in this poll.
12 December 2009

RPG Maker XP Windowskins

Here are some RMXP windowskins. Clicking on the windowskin will redirect to the RPG Maker Times Resource Center, where you can view examples of these (and all the other) windowskins.I am not an artist, but like experimenting with different things, although I do find it easier to create RMVX windowskins than RMXP ones.

Final Fantasy IFinal Fantasy IX
Final Fantasy I RMXP WindowskinFinal Fantasy IX RMXP Windowskin
Parchment #1
Parchment 1 RMXP WindowskinI'll try and create some more RMXP windowskins as I feel inspired, or convert existing RMVX windowskins to RMXP format.
06 December 2009

The Gladiator Project Update #1

After a hiatus in development, I started working on the project again, now that I have more time. I spent some time designing an appropriate windowskin (see below) and deciding on the content of the menu, tweaking the necessary scripts for it.

These are the areas in particular that have updates:

  • Roma Windowskin - Image Hosted by ImageShack.us
    Windowskin: This windowskin was designed from scratch, primarily to give a kind of Romanesque feel to it. I may yet change it slightly, since the silver "dagger" pointers don't look right and add a background texture to it.
  • Plot/Direction: The plot has been reworked from its original RM2K3 incarnation, instead taking a completely different direction than its original. The RM2K3 version simply placed characters in a gladiatorial arena setting, hacking and slashing and gaining kudos and prizes. The plot now has much more depth to it than that, and there are plenty twists and turns - and surprises - to pique interest.
  • Scene_Menu - Image Hosted by ImageShack.us
    Click on the image for a larger view (opens in a new window)
    Menu System: This two-column menu was created for aesthetics more than convenience, based very loosely on Rubymatt's Compact Menu System. It has an in-built help window to explain what each menu option means, since they are in Latin. With the extra windows for the gold (denarii) and map location, along with the extra game variables on the right-hand side, I think it makes a solid menu.

And starting some time this week, I will be working on the game itself. Eventually perhaps I can have some kind of demo.
02 December 2009

More Windowskins VX #2

Here are six more RMVX windowskins. The windowskins on this blog have been compiled on the RPG Maker Times Companion, where you can view these (and all the other) RMVX windowskins.

Black MarblePink MarbleOld Parchment #2
Black Marble RMVX WindowskinPink Marble RMVX WindowskinOld Parchment 2 RMVX Windowskin
Old Parchment #3Skin LeatherValentine
Old Parchment 3 RMVX WindowskinSkin Leather RMVX WindowskinValentine RMVX Windowskin

The next windowskin update will be for RMXP.
30 November 2009

Poll Results November

November's poll is now closed. Thanks for all who visted this blog and voted.

The results of the poll are:

  • 42% of visitors use RPG Maker VX
  • 46% use RPG Maker XP
  • 15% use RPG Maker 2K/3
  • And 23% use all the RPG Makers

Of the search engine results, the following percentages indicate which RPG Maker has been searched for, whether it was resources, scripts, etc.:

  • 35.64% searched for RPG Maker VX
  • 39.28% for RPG Maker XP
  • 6.93% for RPG Maker 2K/3
  • And 18.15% for other RPG Maker related stuff

And of those, thus far, windowskins or windowskin generators for RMVX is the most popularly searched for, with RMXP windowskins coming a close second. Character sets and resources for all RPG Makers is third.

And those are the results of the first month. I'll try and focus on these particular areas for now, along with more updates for The Gladiator Project (and other projects along the way). In the meantime, feel free to visit the RPG Maker Times sister blog, RPG Maker Times Resource Center for additional resources, etc.
22 November 2009

Character Maker XP Online

There are quite a few Online Creators for RMXP/RMVX already, mostly Japanese sites.

I recently discovered - quite by accident - a French site, Nine Sages, which has some absolutely stunning Title and Game Over pictures, in addition to some fabulous resources. It's well worth checking out.

The pièce de résistance for me was finding a working character maker for RMXP. It is still limited in the amount of resources for characters, but it does have enough to make some decent character sets.



The generator can be found here. It is in French, but does not need translating as it's easy enough to use.
20 November 2009

Scripting Nightmares

When it comes to scripts, I personally do not like those that directly modify or overwrite the "default" scripts, especially the menus and command positioning. While most are designed as simple plug 'n play scripts to make their implementation quick, simple and easy, they do invariably interfere.

A prime example is where you have created your menu as you want it, then you "install" someone else's script, which calls on a new window or scene, and it modifies that script. The result is that sometimes the selection cursor returns to a different position after canceling and returning to the menu.

What this means is that you need to sift through and determine which part of the script is interfering with the positioning and tweak it. It's not difficult to do, just annoying.

It might be better if aliasing or pushing (or, indeed, some other method of insertion) were used instead - whatever that may be, instead of directly modifying the code. But again, ease-of-use and simple plug 'n play does make life much simpler, especially with those not too familiar with RGSS. Then, when it comes to actually making the necessary modifications, it helps a little in learning about RGSS.

Even now, I'm not a great scripter per se, although I have learned so much just by studying (and experimenting with) others' coding. I've also studied various resources on Ruby - upon which RGSS is based - so that what needs to be done in my projects can be done efficiently.

Kudos to those who have studied Ruby and RGSS to the point where they have a thorough, working knowledge of it. Ruby script is not hard to learn, just labor-intensive at times to get to that point.
16 November 2009

More Windowskins VX #1

Once again, these RMVX windowskins have been created with Woratana's excellent Windowskin Generator. (Don't forget to credit Woratana and Aindra if any of these are used, as anything produced are essentially theirs.)

Old Parchment Windowskin



Horror Windowskin



I'll upload some more RMXP and RMVX windowskins soon, but some of the ones that I've created (it's just a matter of finding them again).
13 November 2009

RPG Maker DS?

I guess Enterbrain is making an RPG Maker for the Nintendo DS. Scheduled release date is January 28, 2010 and recommended retail price is ¥5,460 (which equates to the usual $60 USD).

Early indications show that it is a minimalized version of the RPG Makers we already know and love, but making use of the NDS's touch screens and stylus. And using that modus operandi the maps can be created with a "feeling of paint on a canvas", which should be interesting.

One of the things I'm not sure about is their considerations on limiting the parameters of items, equipment and monsters to only two - name and attack power (and I assume HP and SP also).

I think though, from what I can gather, that the reasons behind this is primarily to introduce RPG Maker to an entirely different market, in the hopes that eventually they will want to purchase the "next gen" ones, like RMXP or RMVX or the ones available on the PlayStation.

It'll be interesting to watch for the outcome of this latest venture, and may or may not get it for the NDS when it's eventually released.

Further details - as sparse as they are at the moment - can be found here. Note that this is the Google-translated version, so you can expect the grammatical and syntax errors to raise those hackles, but at least there are screenshots on the page to mellow things out.
10 November 2009

What's Happening?

I've been considering the direction of RPG Maker Times for awhile now, in particular which RPG Makers to concentrate on. As it is at the moment, RPG Maker Times focuses on RMXP and RMVX (with a lean towards the latter) and RPG Maker 2K3 Master obviously concentrates on RM2K/3.

To help decide proper, I implemented a poll - thanks to all who have participated in the poll already - and a stat counter. These combined will give a good idea on the areas to concentrate on and ultimately specific content for entries.

The current status is:

  • The majority of visitors use either RMXP or RMVX, with a small percentage still using RM2K/3.
  • The general consensus so far regarding articles is graphics, with Windowskins being the number one search (equally for RMXP and RMVX), as well as resources.
  • Utilities and resource converters/generators are another searched-for topic. There are a lot of different utilities out there, of which I've only covered a small part.
  • Tutorials and how-to's, especially regarding graphics.
  • A small percentage are after scripts, specifically for RMXP, which has also been searched for extensively.

With this in mind, over the next week or so, I'll be merging the RPG Maker 2K3 Master blog with this one. That way all RPG Maker resources and information can be found under one umbrella instead of two. That way, too, it will be much easier to update the content on a more regular and consistent basis. This also means that some entries will be deleted and some will be juggled around, but the content will be the same, and since this is retroactive I'll be keeping the original dates (which means multiple entries on the same day) and comments as applicable.

The entries will contain more resources (for all RPG Makers) and resource editing, including tutorials. In addition to scripts for both RMXP and RMVX, I'll also be giving regular progress reports on my games, specifically The Gladiator Project.

While I'm not going to be able to cater to everyone, I'll certainly try to meet the immediate demands, based on the regular poll results and the search engine keyword statistics.

A final word before ending this update: Also over the next week or so, I'll be creating a separate website to place all of the resources, tutorials and scripts. That way they can all be in one place for easier reference, but the focus will still be on the RPG Maker Times blog.
08 November 2009

Victory Count Script

I was asked some time ago how to add a "Victory Count" - i.e. a counter for the number of battles won - so decided to experiment and this is the result. This is a very simple script modification, directly modifying various parts of the code.

Game_System
Under the Public Instance Variables, add the following:
attr_accessor :victory_count          # number of victories

Under initialize, add:
@victory_count = 0

Scene_Battle
Look for def display_exp_and_gold, place the following underneath $game_party.gain_gold(gold):
$game_system.victory_count += 1

Scene_Menu
In def start, add:
@victory_window = Window_Victory.new(0, 175)

In def terminate, add:
@victory_window.dispose

In def update, add:
@victory_window.update

Create a new entry, entitled Window_Victory, and paste the following code:
class Window_Victory < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
def initialize(x, y)
super(x, y, 160, WLH + 32)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.size = 16
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
return if Graphics.frame_count % 10 != 0
self.contents.clear
self.contents.draw_text(0, WLH * 0, 120, WLH, "# Victories:")
self.contents.draw_text(0, WLH * 0, 120, WLH, $game_system.victory_count.to_s, 2)
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
super
refresh
end
end

This will display the "# Victories" on the Status Menu. It can be expanded for other things as well, such as the number of saves, the number of inn stays, etc.

Gladiator Project Title

This is the opening title scene for The Gladiator Project. It was inspired by Mog Hunter's Animated Title Script.


The graphics are from the movie Gladiator, starring Russel Crowe, which are of course copyrighted to Dreamworks SKG/Universal Pictures. They're there for demonstration purposes only, at least until I can find (or create) some myself, when they will be removed.
05 November 2009

Miscellaneous Updates

Well, once again there have been fewer entries than I'd like to see, but that's the price we pay when work takes priority. I'm in between jobs right now, so will have more time for consistent updates and to give a progress report on The Gladiator Project.

Regular visitors will already recognize the new layout and design. I'm not sure if I like it yet, so may tweak it again, though I was going for the three-column layout as I find it neater and more versatile. It took me a long LONG time to configure it exactly how I wanted it (basically tweaked Blogger's Scribe Template and added graphics).

Yes, three of the images on the title is from Runescape, for those who regularly play it. The first is my Broodoo Mask disguise, the second is my ghost impression for Halloween and the third is my Bear Mask. Runescape is actually one of my favorite games right now, alongside IGG's Wonderland Online.

In the meantime, I'll have a progress report ready in the next entry - not the game itself, since that isn't even started yet, but some of the graphics I've created for the game.
29 September 2009

The Gladiator Project

If there's a period in history that fascinates me the most, it would have to be the Roman gladiatorial games. So I thought, a while ago now, why not create a game loosely based on precisely that. I started the project (initially for RM2K3), entitled Brotherhood: Gladiator, which I've now nicknamed "The Gladiator Project". The project was abandoned and soon forgotten about for various reasons. I rediscovered part of it recently and decided to try and port it over to RMXP/VX, bringing it a little more up-to-date.

Although the RM2K3 project was about 50% complete, when my hard drive died I lost a large portion of the materials I had for it and porting it over to RMXP/VX was at that particular time somewhat overwhelming. I'm now starting it anew, specifically for RMXP/VX. Because of RGSS's versatility and flexibility, it means that a lot more detail can go towards things like custom menus and in-game variables, not to mention aesthetics.

Some of the features I'm hoping to include in the game are:

  • Bestiary (Bestiarius): For logging opponents fought in the arena and keeping track of their strengths and weaknesses.
  • Achievement Diary (Diarium Facti): A log of major accomplishments and achievements, such as killing a certain number of opponents or surviving for a certain number of battles in the Arena.
  • Job Log (Laboris Tabulae): In between combats, the opportunity to perform various tasks for others, gaining additional experience and kudos.
  • Calendrical System: A complete time/calendar system for use in the Arena.
  • System Options: Additional options to change things like windowskin color, background music/sound effects volume control, and more besides.

At the moment, "The Gladiator Project" is in its embryo stages, but progress is slowly being made. Watch this space for more info and updates!
22 September 2009

Real Time KTS Mod

This is in answer to Miaucho's question (in the comments) about how it would be possible to rename the months to something else and is a followup to the Kylock Time System Script I posted a while ago.

While I have an intermediate understanding of RGSS at the moment, I will experiment on my own. That's how I learn things. Thing is I couldn't quite figure out how to implement the month array into the time system without encountering a few problems. My mind drew a blank.

Anyway, I found the Real Time KTS Mod by accident. This is a modification of Kylock's, but it's a very good one at that, utilizing the system clock for real time. Its rich array of features include:

  • Current Time (hours, minutes and seconds)
  • Current Date (weekday, month and year)
  • Seasons
  • Weather (according to season)


The demo version can also be downloaded here.

It should be easy to rename the months by placing an array in the KTS Module, something like:

MONTH_NAME = ["Month One", "Month Two" ... etc.]


Then calling it later (in getMonthName):

monthname = KTS::MONTH_NAME[@month]


And that should work. (I can't thoroughly test it yet - but I will soon - as my copy of RMVX isn't working properly for some reason!)
02 September 2009

Kylock Time System Script

This is in answer to Steve's question (in one of the comments), asking if it was possible to place the actual time and date into separate in-game variables. Short answer is "Yes, it is!"

I'm still working on my full calendrical system script, but the best time system that I've found is this one:



This video shows how to use the demo script, downloadable here.

Alternatively, the "original" forum post goes into much more detail.
01 September 2009

Still Here!

Apologies for the lack of updates. I haven't abandoned this blog. Things have been hectic and, due to my hard drive failing, lost my data, including my RPG Maker programs and projects. I'm not really bothered by it because they can be redone, and just like writing, the first draft is always the rough draft anyway.

Thanks for the comments and support. I've just re-downloaded RMVX, so will be making full use of it again. And will answer your question, Steve, soon. Just please bear with me.
19 May 2009

Time/Date Formats

In yesterday's entry, System Time/Date Script, I showed how to use the built-in Time function to display the current (system) time and date.

To change format, the strftime method has a number of options available.

Its basic format is

strftime(format)

where format is the format string to be used, which may be specified with the following:
  • %A - Full day of the week (Sunday, Monday, etc.)
  • %a - Abbreviated day of the week (Sun, Mon, etc.)
  • %B - Full month (January, February, etc.)
  • %b - Abbreviated month (Jan, Feb, etc.)
  • %c - Current Date and Time (system clock format)
  • %d - Day of the month (01-31)
  • %H - Time of day in 24-hour format (00-23)
  • %I - Time of day in 12-hour format (01-12)
  • %j - Day of the year (001-366)
  • %M - Minutes (00-59)
  • %m Numerical month of the year (01-12)
  • %p - Displays AM or PM after the time
  • %S - The number of seconds (00-60, 60 being a "leap second")
  • %U - Week of the year, the first week starting with the first Sunday (00-53)
  • %W - Week of the year, the first week starting with the first Monday (00-53)
  • %w - Day of the week (0-6, 0 denoting Sunday)
  • %X - Displays the Time
  • %x - Displays the Date
  • %Y - Displays the Year as a 4-digit number (2009)
  • %y - Displays the Year as a 2-digit number (00-99)
  • %Z - Displays the default (system) Time Zone
  • %% - Displays a % character
Note that this is case sensitive.

So, as an example, to display the full date, including day, month and year, strftime would be set to:

strftime = ("%A, %d %B, %Y")


The result would be

Tuesday, 20 May, 2009

And that's it!

System Time/Date Script

RMXP and RMVX has a built-in Time function that allows the display of the current date and time (based on the system clock). I found this by accident while sifting through the Help file - actually while searching for Bitmap and Sprite management - and after some experimentation discovered how to place it in windows.

To use it, there are two functions to be aware of:

Time.now

This reads the current time and date from the system clock.

strftime("%I:%M:%S %p")

This converts the time into a string, using the time of day (in 12-hour format), minutes and seconds, as well as showing AM/PM.

So to add the time and date, we can add the following:

t = Time.now
time = t.strftime("%I:%M:%S %p")
date = t.strftime("%a, %d %b, %Y")

What this will do is store the time/date stamp format into variables and convert them to strings so that they can then be "drawn" in a window.

In RMXP, the following script can be used to replace the default. In RMVX, create a new script called Window_PlayTime:
#=================================================================
# ** Window_PlayTime
#-----------------------------------------------------------------
#  This window displays play time on the menu screen.
#=================================================================
class Window_PlayTime < Window_Base
  #---------------------------------------------------------------
  # * Object Initialization
  #---------------------------------------------------------------
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end
  #---------------------------------------------------------------
  # * Refresh
  #---------------------------------------------------------------
  def refresh
    self.contents.clear
    self.contents.font.size = 16
    t = Time.now
    time = t.strftime("%I:%M:%S %p")
    date = t.strftime("%a, %d %b, %Y")
    self.contents.font.color = normal_color
    self.contents.draw_text(0, -2, 140, WLH, date, 1)
    self.contents.draw_text(0, 14, 140, WLH, time, 1)
  end
  #---------------------------------------------------------------
  # * Frame Update
  #---------------------------------------------------------------
  def update
    super
    if Graphics.frame_count / Graphics.frame_rate != @total_sec
      refresh
    end
  end
end
RMXP will display the replacement time/date in the default "Play Time" window on the menu status.

To make this work in RMVX, add the following to Scene_Menu:

In the start definition routine, add

@window_playtime = Window_PlayTime.new
@window_playtime.x = X
@window_playtime.y = Y

where X and Y are the x- and y-coordinates for the window placement.

Add the following to the terminate definition routine:

@window_playtime.dispose

This is to ensure that the window doesn't stay onscreen when the status menu has been exited.

And finally, add the following to the update definition routine:

@window_playtime.update

This is to ensure that the time refreshes every second while on the status menu.

The resultant "Play Time" window should now contain the current time and date, thus:

Tue, 19 May, 2009
12:33:22 PM

And that's it, but the strftime element does have a number of different format options, which I'll detail in the next entry.

Miscellaneous Utilities

A number of useful utilities to aid in game-making with RM2K3 have been produced, aside from the Character Creators.

The following utilities are designed for "hacking" resources:

  • ResHack (RM2K/3) - Short for Resource Hack, this great utility allows the hacking of games or RM2K. With it, game icons, text, etc. can be modified to suit individual needs.
  • RM Reck (RM2K/3) - Similar to ResHack (above), it allows game icon, glyphs, and even logo screens to be changed. This is compatible with both RM2K and RM2K3.
  • Animget - This useful utility enables ripping of sprites and other animations, mostly from emulators. Once it's been activated, it runs in the background and saves snapshots every 0.1 seconds for appropriate resource modification later.

Other useful programs that can be used are:

  • RMTool (RM2K/3) - It scans RPG Maker games for missing files and gives instructions on how to fix it. For example, if a MIDI or particular graphics file is missing from the game's Project folder, this tool will tell you which one is missing. Note that it was specifically made for RM2K, but works as well with RM2K3, except for 2K3-specific folders (i.e. System2, BattleChars, CharSets, etc.); they just won't be scanned.
  • Zorn's RM2K Tool (Direct Download) - A solid utility that allows random creation of Game Titles, Hero Names, Item Names, Equipment Names and Skill Names (using an editable external text file). It also has a few tutorials built in. These have been designed for RM2K, but should also work with RM2K3.

Window & Scene Wizard

If you're like me and *hate* making windows and their accompanying scenes - at least when it comes to positioning onscreen - there is a useful utility called the Window & Scene Wizard (WSW). Actually it's compiled using RGSS and runs standalone or from with RMXP itself.

You can find a demo, along with instructions and downloads, at Creation Asylum. Note: The first download site no longer hosts the files, so be sure to use the second download site instead.

The WSW works very well, using the mouse and keyboard fluently to create windows. You can create ordinary windows as well as menus, add text, icons and pictures, as well as parameters and other details.

When your finished product is saved, the Window and Scene scripts will be saved in .TXT format. From there you can copy and paste into RMXP and use them for your newly created windows.

The only problem I have with the WSW, however, is that if you create a blank window (or a set of blank positioned windows), it also contains extra, generic crap you don't really need. It's not difficult to delete it, but if you don't know too much about RGSS, it can mess up and you'll receive a few errors.

Work on the WSW stopped after v1.0, since the final entry in the forum was back in 2006, and nothing else has become of it. It's still a good program/utility nevertheless, for learning more about RGSS if for nothing else.
17 May 2009

System Graphics - Part 2

System 2 is the "Battle Menu Set", used in battles to determine the cursor for targeting enemies and allies. It also displays the ATB bar and the numbers for HP and MP display in gauge type battles (set in the "Battle Layout" options of the Database).

All In Gold
This was the first I ever created (or re-created would be more accurate). The numbers on the gauge aren't really that clear, but I kept it as is for posterity.




System2 Template
This is a "default" template for creating your own System2 designs. The image size is 8x96.





This template shows the component elements of the above template.

1: The three-frame animation sequence for the left arrow.

2: The three-frame animation sequence for the down arrow.

3: The numbers for displaying HP and SP values.

A, B and C are the frames for the HP, SP and ATB bars respectively.

D: This is usually kept blank (although I'm not entirely sure what this is used for).

E: These five blocks are for the gauge colors, displayed when the "Battle Layout" is set to "Gauge".

F: This is the gauge for the ATB, which you'll note has two bars instead of one.

Adding Window Text Effects

Using the built-in RGSS/2 script, we can add some cool effects for enhancing or beautifying text, if used properly. These include a shadow effect and outlined text. Both of these scripts should work in both RMXP and RMVX, although I think there's an added font feature in RMVX for creating shadow effects without script.)

Shadow Effect

Add the following to Window_Base:
#---------------------------------------------------
# * Draw Shadow
#     x    : draw spot x-coordinate
#     y    : draw spot y-coordinate
#     w    : width
#     h    : height
#     text : text to display
#----------------------------------------------------
def draw_shadow(x, y, w, h, text)
  # Display shadow/shadow color
  self.contents.font.color = Color.new(200, 200, 200, 205)
  self.contents.draw_text(x + 4, y + 4, w, h, text, 1)
  # Display normal color text
  self.contents.font.color = system_color
  self.contents.draw_text(x, y, w, h, text, 1)
end
This will set up the "define procedure" to place it in windows. As an example, in Window_Steps, replacing this line:

self.contents.draw_text(4, 0, 120, 32, "Step Count")

with this line:

draw_shadow(4, 0, 120, 32, "Step Count")

will result in "Step Count" having a whitish-grey shadow.


Outline Effect

This routine will give the text an outline, which might be used for main headings.

Add the following to Window_Base:
#--------------------------------------------------
# * Draw Outline
#     x    : draw spot x-coordinate
#     y    : draw spot y-coordinate
#     w    : width
#     h    : height
#     text : text to display
#---------------------------------------------------
def draw_outline(x, y, w, h, text)
  self.contents.draw_text(x + 1, y * 32 + 1, w, h, text, 1)
  self.contents.draw_text(x - 1, y * 32 + 1, w, h, text, 1)
  self.contents.draw_text(x + 1, y * 32 - 1, w, h, text, 1)
  self.contents.draw_text(x - 1, y * 32 - 1, w, h, text, 1)
  self.contents.font.color = Color.new(250, 250, 250, 255)
  self.contents.draw_text(x, y * 32, w, h, text, 1)
end

Then, as an example, in Window_Steps, replace this line:

self.contents.draw_text(4, 0, 120, 32, "Step Count")

with this line:

draw_outline(4, 0, 120, 32, "Step Count")

In the Status Menu, the "Step Count" will now have an outlined effect.

Simple Font Draw

As the title suggests, this is a simple routine for redefining fonts, such as name, size, bold, italic, etc. Although this was written in RMXP, it should also work in RMVX. The default format for manipulating fonts is:

self.contents.font.name = "Font Name"
self.contents.font.size = 22

and so on.

But there is a way to merge the different properties into one procedure by adding the following to Window_Base:
#-------------------------------------------
# * Draw font status
#     bold    : Bold on/off
#     italic  : Italic on/off
#     size    : Font size
#     color   : Font color
#-------------------------------------------
def draw_font(bold, italic, size, color)
  # Check bold on/off
  case bold
  when 0
    self.contents.font.bold = false
  when 1
    self.contents.font.bold = true
  end
  # Check italic on/off
  case italic
  when 0
    self.contents.font.italic = false
  when 1
    self.contents.font.italic = true
  end
  # Change Color
  case color
  when 0
    self.contents.font.color = system_color
  when 1
    self.contents.font.color = normal_color
  when 2
    self.contents.font.color = Color.new(255, 255, 255, 255)
  end
  # Font size
  self.contents.font.size = size
end
Whenever fonts need to be "drawn", something like this would be called in RGSS when the font and its properties are called:

draw_font(1, 0, 22, 1)

This would result in bold 22-size font, set at the default "System Color" (also predefined in the Window_Base).

Other properties can easily be added using the same method. Anything predefined in this way is used as a template for all windows, including the Status and menu screens.

System Set - Tutorial Part 1 (RM2K3)

System graphics, in the System folder, are used for the Main and Battle menus. These are some I created (modified) a while ago. They are free to use for any RM2K3 game.

System Sets


Here are two basic system sets I created using the templates below.

Gold Frame
This system set sports a gold frame on a black background that gives it a royalty feel.




Parchment
This system set has a parchment background to give games an archaic look and feel.




System Templates


Here are some basic templates to enable you to make your own custom system sets.

This is the basic System layout that determines how the messages appears, including text colors. System sets (imported in the System folder) are for the main interface. The image size is 160x80.


Breaking the template down into its component parts, we can have a better understanding about how the components work.

A: Size: 32x32. This is the background color of the window.

B: Size: 32x32. This is the frame around the window and up and down arrows for scrolling through options. The arrows are 8x8 in size.

C: Size: 32x32. These two are the patterns used for the command cursor. If they are two different patterns, the cursor will flash rather than be static if they are both the same.

D: These are the four animated arrows used in shops. Each is 8x8 in size, comprising four frames each. The first row is for stat increases, the second is for unequippable items, the third is for stat decreases, and the fourth is when an item is already equipped.

E: Size: 16x16. This is the background color of the menu, used as "opacity".

F: Size: 16x16. This is the letter shadow color, displayed "behind" the letters to give it a shadow effect.

G: These are the numbers used for timers. There are twelve in total, each one 8x16 in size and comprising a set of two numbers, with the last one a colon (or other separator).

H: Size: 16x16. These are the two shadows for airships, which are displayed on the map whenever an airship is used as a vehicle.


The last two rows are for the twenty basic colors used in the game. Each is 16x16 in size. The first four are the "system" colors, where:

0: The default text color.
1: The stats default color.
2: The color for when stats increase.
3: The color for when stats decrease or when commands are unavailable.
4: The color for when HP or SP decrease.
04 May 2009

RPG Maker XP vs VX

Having experimented with both RMVX and RMXP for a while now, I have to say that ultimately I still prefer RMXP. There are a number of reasons for this and most of these are because many features available in RMXP were omitted in RMVX. This doesn't really detract from the game-making capability of the program, it's more of an annoyance and inconvenience.

Omissions in RMVX


Following is the list of some of the event commands removed from RMVX. Most (if not all) of these can be reproduced via scripts.

  • Change Text Options - This one has been integrated in the Show Text command in RMVX, along with another option, "Batch Entry", which allows multiple text entries. It automatically splits the text into further text boxes if the 4 default line limit is reached.
  • Button Input Processing - This was one of those commands carried over from RM2K/3, which wasn't really necessary since most keypress processing can be done with scripts.
  • Change Windowskin - This useful command was omitted in RMVX. While windowskins can be changed in RGSS2 by changing the "Window" default skin, I found this command useful as part of the options for changing themes. The disadvantage of its removal (without scripting it into the game) is that only the default windowskin can be changed in Window_Base.
  • Change Map Settings - This command enabled controls for the Panorama (Parallax), Fog and Battle Background graphics, all of which have been omitted in RMVX. These commands can still be emulated with scripts, but it's a major inconvenience.
  • Change Fog Color Tone and Change Fog Opacity - These were additional options for manipulating the Fog effects. Again, scripts can be used to emulate these effects, but it's inconvenient.
  • Wait For Move's Completion - In my opinion, this was a useless command, since it's an option in the Set Move Route command.
  • Prepare for Transition and Execute Transition - I never used these commands, but their purpose was to change the way the screen transitioned between battles. Since it has been omitted in RMVX, it only has one default named "BattleStart" in the Graphics/System folder. A new one can be imported and used, provided its name is "BattleStart", which supersedes the default. It can also be changed via script using the Graphics.transition command.
  • Memorize BGM/BGS and Restore BGM/BGS - These were two more commands imported from RM2K/3. Again I never used them in RMXP (but did in RM2K3), but their purpose was to remember certain background musics and sounds and recall them later. There's really no need for them, so omitting them in RMVX isn't necessarily a bad thing.
  • Deal Damage - This command allowed a specific amount of damage to be inflicted on enemies, used particularly in cut scenes. Again, it can be emulated with scripts, but it's annoying nevertheless that it's missing in RMVX.

Some of the other omissions/changes are:
  • Map Tilesets - Map tilesets are fixed in RMVX, divided into Tiles. There are no options to change them or add additional tilesets or autotiles, as there was in RMXP. There are now basically 5 tiles, including TileE, which is kept blank for "user tiles". These default tilesets are very limiting when making maps and don't allow many options. I think I've seen a script somewhere that enables tileset changing, using complete user-created tilesets completely replacing the default ones (they are named the same, i.e. TileA1, TileA2, etc. through TileE), but haven't ever tried it, let alone create my own.
  • Multiple Icons - Instead of having separate icons for each item, RMVX uses a single iconset capable of "storing" 256 icons. While this has its advantages and disadvantages, again the default Iconset is limiting. The main advantage is that a single sheet can be smaller than 256 individual icons and the major drawback is that only the default Iconset must be used (or replaced with a new one named "IconSet"). It is possible to use multiple Iconsets using RGSS2, but I'll have to go into that in a future entry.


Additional Features in RMVX


Not only has the Ruby script (RGSS2) been improved, but there are some additional commands and features lacking in RMXP.
  • Set Vehicle Location and Get on/off Vehicle - This command is an import from RM2K/3 that seems to have been omitted in RMXP, but has returned in RMVX. Vehicles in RMXP were controlled using events instead.
  • Show Balloon Icon - Balloon Icons are animations above characters' heads designed to simulate their emotions. I like this feature, as previously they had to be created manually and used as Battle Animations.
  • Fadeout Screen and Fadein Screen - Useful for effects between cut scenes or map transitions, these commands fade the screen to and from black.
  • Change Vehicle Graphic - This command simply allows the vehicle graphics to be changed into something else, lacking in RMXP except through events using Set Move Route. As an example of its use, a vehicle can be changed if it has been upgraded (think Final Fantasy III where the boat changes to a submarine and airship).
  • Facesets - The reimplementation of Facesets, lacking in RMXP, is a welcome one. Facesets in RMXP were still possible, but using script methods.


In RGSS2, some additional features have been added, such as text shadows, which is quite a useful effect for emphasis or titles. Some of these I'll cover in a future entry.
03 May 2009

Windowskins

While playing around with the Windowskin Generator I mentioned in a previous entry, I've created some cool Windowskins for use in games.

Old Leather Windowskin



Oceanic Windowskin



Grassy Windowskin



To change the default "Window" skin to one of these ones, right-click to save them onto the hard drive. Import them into RMVX and look in Window_Base for the following:
self.windowskin = Cache.system("Window")
It should be on line 21 by default. Simply replace the default file name with one of the others to use the new windowskin.
02 May 2009

Change Parallax Script

One of many features disabled in RMVX is the ability to change the Parallaxes, which was available in RMXP (and RM2K/3 before that) directly from the Event Commands. Parallaxes are graphics (usually of clouds or distant landscapes) that can scroll behind a map. While it is possible to set the parallax graphic in the map settings only, this "one parallax per map" rule is rather annoying.

As I start learning RGSS, the scripting language used by RMXP and RMVX, and familiarize myself with its nuances, being able to find workarounds and tweaks is half the fun.

A simple but effective (and certainly not perfect) method for changing parallaxes is with a small script.

  • Look in the Game_Map section of the scripts for Scroll Setup and Parallax Background Setup.
  • Place the following between these two sections:
    #----------------------------------------------
    # * Parallax Presetup - Change Parallax
    #----------------------------------------------
    def change_parallax(parallax_name)
        case parallax_name
        when 1
          @parallax_name = "BlueSky"
        when 2
          @parallax_name = "CloudySky"
        when 3
          @parallax_name = "Mountains"
        when 4
          @parallax_name = "Ocean"
        when 5
          @parallax_name = "StarlitSky"
        when 6
          @parallax_name = "Sunset"
        end
      end
    Add any other imported Parallax graphics by adding more "when" commands accordingly. Note: New parallax graphics must be first imported into RMVX under Graphics/Parallaxes.
  • To use an event to change the parallax graphic, use the Script function and place the following:
    $game_map.change_parallax(x)
    where x is the number corresponding to the desired parallax.

Note: With this method, if the Loop Coordinates aren't set directly on the map (via the Map Properties), the parallax will remain static. By changing the Horizontal Loop and/or Vertical Loop settings here it will make the parallax graphic scroll in the background.

Windowskin Generator

There haven't been many updates recently because I've been offline for the past three or so weeks. Our ISP decided to double their monthly fees overnight and without telling us, then demanded that we pay around $400 to reconnect. And they would only accept the full amount before reconnecting. (I wanted to pay them direct at their office with an envelope full of leaves, since "money grows on trees" apparently!)

Anyway, moving on...

I found this awesome and very useful utility. It's a Windowskin Generator for RMVX and it works!

The idea behind this is to make Windowskin creation easy by selecting various parts and applying them to the skin. It even has a preview area where you can see what the resultant image will look like! Once you're done, the finished product can be saved and imported into RMVX for use in your games.

Read a mini-review here or download it directly here, then extract it to the RMVX Projects folder (using WinRar or Winzip) and open it up in the RMVX program.

It can be run directly from RMVX or as a standalone program. If used as standalone, the RGSS2002e.dll may be needed. Information on creating and running standalone games (including downloading the appropriate files) can be found on the RPG RPG Revolution forum.
30 March 2009

Resource Converting

Because of the different formats used by the RPG Maker programs, it isn't possible to port resources over from RMXP to RMVX without first tweaking them. Otherwise, there will be some very strange side-effects. So, if you've created some really cool character sets for RMXP, they wouldn't automatically work in RMVX.

Thankfully, there are some nice utilities that make conversion easy.

  • RMVX Characterset Converter (RMVX): This awesome utility makes it possible to convert RMXP character sets to RMVX format, which can then be saved as BMP, JPG or PNG formats. You can even convert those old RM2K/3 charsets to RMVX formats. It can be downloaded here (download not available).
  • RM2K/3-To-RMXP Resource Converter (RMXP): As the title suggests, this utility converts those old RPG Maker 2000/3 resources to RMXP. I've used this on numerous occasions to make games compatible with RMXP. Note: When using this program, be sure to select the GAME folder for the resources to convert, NOT the resource folder itself. The utility can be downloaded from Kobra's Realm (download not available).
  • Charas.EX (RM2K/3): This utility allows you to create charsets from scratch or modify existing charsets. Although the utility is specifically for RM2K/3, charsets can be converted using the two utilities above. The program can be downloaded from Kobra's Realm (website not available) or charsets can be developed online at Charas Project.
  • RMXP Resource Wizard (RMXP): This program, in my opinion, is the definitive RM2K/3 to RMXP converter. With it, you can convert any RM2K/3 resource into a compatible RMXP format. You can download it from RPG Crisis (you will need a membership to access the file).

These are the only good resource converters I know about, but if I find (and test) any more I'll add them.
26 February 2009

Create Your Own Resources Online

If you're not a great graphic artist, like me, there are several websites that allow you to create your own, thus:

  • Character Sprite Generator (RMXP) - No longer available! This is an effective character creator, but is extremely limited on extras. I don't think it's been updated for a while either.
  • Chibi KYARATSUKURU (RMXP) - This is a more comprehensive character maker, Google-translated into English from its original Japanese version. I love creating characters here, even if none of them ever make it into games!
  • RPG Material - Character Generation (RMVX) - This is the ultimate RMVX character creator (and the only one as far as I know). Not only can you create your own characters by setting a series of options, but you can randomize characters. The output even has the appropriate facesets to use too!
  • RPG Material - Roof Chipset Maker (RMXP/RMVX) - No longer available! With this nifty resource tool, you can create your own rooftops for the main chipsets by manipulating a few options or randomizing them. The roof outputs can become part of the map chipsets.

While these are the best resources for creating RMXP/RMVX chipsets conveniently online, there are several methods for character sets and chipsets from older versions of RPG Maker compatible with RMXP/RMVX. I'll cover that in a future entry.
18 January 2009

RMXP Compatibility with Vista

One of the commonest questions I'm asked is whether RMXP is compatible with Windows Vista. The simple answer is "Yes and No". Rather than attempting to use RMXP on Vista (better in my opinion though it is), it's better to use RMVX for Vista machines.

One of the problems with Vista is that it is extremely buggy and is known for its incompatibility issues. Running RMXP on Vista machines is possible, but not without endless hours tweaking certain system settings so that it can at least work half the time.

A common problem is that RMXP seems to work, but then suddenly freezes at any point (usually when playtesting games) or it will produce some obscure error message. Usually when this happens, it's due to compatibility issues (either with the system itself or hardware conflicts).

One workaround is to make sure you have full Admin rights and change its permission to "Run compatibility mode for XP SP2". To set these options, this link will help. If there are any messages for updates, it's probably prudent to download and install them.

To determine whether RMXP will be compatible with your Vista system, you can check at the Microsoft Compatibility Check. Hopefully this should help run RMXP on Vista machines.

Create Your Own Characters

If you've ever wanted to create your own charsets for RM2K/3, but (like me) are not an artist, there are several resources available for doing just that. These are the best ones I've found:

  • Chara.EX - This is probably the best known site in the RM2K/3 community. Not only can you design characters online and save them onto your hard drive, you can also download an offline version too. Creating charsets with either method is quick, easy and fun.
  • Character Maker 1999 - With this neat program, you can edit any resource for RM2K/3, including adding status effects (if you know about transparencies). This program can also be used for producing resources for RMXP and RMVX.

Other programs that are useful for creating resources are:

  • Irfanview - This program is useful for cropping images and correcting transparency issues. In some games, it is possible to take snapshots, pasting and cropping them in Irfanview, then copying the cropped image and pasting the result in Character Maker 1999 to be further modified.
  • Paint Shop Pro - Now owned by Corel, Paint Shop Pro is the editor to use for more complex designs, but I'd recommend using version 7.04 (if you can find it) rather than the latest version, as it is cumbersome and unnecessarily complex. I usually use this program to design the Title and Game Over screens, then use Irfanview for final size modification.
17 January 2009

Create Your Own Resources

Sometimes the resources that come with RMXP are not enough and you might want to create your own. There are several websites and programs that allow such customization, thus:


Utilities

  • Dan's RMXP Tool - A useful tool for inspiration, which allows you to create names, titles, items, etc.
  • Move Event - This utility helps with programming complex character movements, which can otherwise be very tedious.
  • Character Maker - Allows the creation of sprites and character sets. (While this program is limited on features, some cool character sets can still be made from it.)
  • Face Maker - What's a character set without a matching face? This helps in creating such facesets for message boxes. (To download, you'll have to become a member of the forum, but it's well worth it!)

Online Creators

  • Character Sprite Generator - A good sprite/character maker for RMXP, but with limited resources. You can change the hair, eyes, clothing, etc.

8-Directional Movement (2K3)

This is a simple method for moving in 8 directions, rather than the standard 4 (up, down, left and right). This is not the best method, but it is workable, using the keypad, which means that Numlock must be on.

Knowledge Base

  • Common Events
  • Forks/Branch Conditions
  • Variables


Variables

We'll only need one variable for the movement system, 0001:Dir Move.

Common Events

Open the Database (F9) and create a new Common Event, 8-Dir Movement and set the "Trigger" to "Parallel Process". This means that it will run in the background until one of the movement keys is pressed. Leave the "Switch" blank.

In the "Event Commands" section, place the following commands:

  • First create a "Loop" (Tab 3), into which everything will be placed.
    <>Loop
    <>
    : <>End Loop
  • Next, we'll need to define the "Key Input Processing" (Tab 3), which will be stored in our variable 0001:Dir Move. Make sure the "Wait Until Key Pressed" option is checked and only the "Number Keys 0-9 (10-19)" is checked as well.

    <>Key Input Proc: [0001:Dir Move]

  • This is where things could become rather confusing, but it's not really that hard. Create 8 "Branch Conditions" with the "Else" option checked for each.

    Set the first condition to "Variable 0001:Dir Move, Number Equal To 11 (the numerical value for 1, i.e. down/left).
    <>Branch if Var [0001:Dir Move] is 11
    <>
    : Else Handler
    <>
    : End

    Under the "Branch if" create a "Move Event" (Tab 2) and set the movement to down/left using the "Move Down/Left", setting the "Move Event" to "Hero" (usually selected by default).

    <>Branch if Var [0001:Dir Move] is 11
    <>Move Event: Hero, Move Down/Left
    : Else Handler
    <>
    : End

    Under the "Else Handler", repeat the process, but change the variable number and movement in the "Move Event" command to correspond with the direction (i.e. with the second fork, the "Variable" would be set to 12 and the direction to "Down", but ignoring number 15. Continue all the way up to 19.
  • Finally, in the last "Else Handler" insert a "Break Loop" command (Tab 3).

Complete Code

<>Loop
<>Key Input Proc: [0001:Dir Move]
<>Branch if Var [0001:Dir Move] is 11
<>Move Event: Hero, Move Down/Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 12
<>Move Event: Hero, Move Down
: Else Handler
<>Branch if Var [0001:Dir Move] is 13
<>Move Event: Hero, Move Down/Right
: Else Handler
<>Branch if Var [0001:Dir Move] is 14
<>Move Event: Hero, Move Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 16
<>Move Event: Hero, Move Right
: Else Handler
<>Branch if Var [0001:Dir Move] is 17
<>Move Event: Hero, Move Up/Left
: Else Handler
<>Branch if Var [0001:Dir Move] is 18
<>Move Event: Hero, Move Up
: Else Handler
<>Branch if Var [0001:Dir Move] is 19
<>Move Event: Hero, Move Up/Right
: Else Handler
<>Break Loop
: End
: End
: End
: End
: End
: End
: End
: End
: End Loop

Notes

The downside to this method is that only the default movement keys (up, down, left and right) will repeat if they are held down. The other keys will need to be continuously pressed in order to move in that direction.
Related Posts with Thumbnails
Template Design "Perfect World" by SkinCorner