Jump to content
New account registrations are disabed. This website is now an archive. Read more here.
Bigace360

How to use the VX Ace engine in your XP games

Recommended Posts

head.png

 

How to use the VX Ace engine in your XP games
in no more than 10 minutes - keep it simple, stupid!

de-icon.pngAuf Theutsch bitte sehr

1. Introduction
  • Lag no more: The new Ruby Version 1.9.2 is about 5 times faster than ancient 1.8.1 and will give your game an enormous performance boost, especially if you're an avid eventer.
  • Hyperliquid rendering: The XP engine is well-known for its stuttering scrolling and the associated tearing (graphics being cut). The image is lacking in calm, particularly in window mode. However after you have seen how beautifully soft and silky smooth your game looks with the new engine you're not going to want to miss it anymore.
  • Improved font rendering: The VX and VX Ace engine implemented an improved font rendering which makes your character look more refined and a pleasure to read.
  • 60-120fps: While XP's standard frame rate is at a punny 40fps you can set the frame rate in Ace's engine up to 120fps with a single script call.
  • Up to 1024x768 in fullscreen: in combination with a suitable script you can easily more than double your resolution from 640x480 to 1024x768 - in fullscreen too.

2. Required Files and Licences


Even though you can get all the files either from the Ace RTP (dll) or any game (Exe), you officially need a valid VX Ace maker licence in order to use them in your own game. A trial licence is in no way inferior to a bought one. You can't tell whether the creator of an XP game using the Ace engine had or has a valid licence or not from looking at it.
 
For convenience reasons all for this tutorial required files and scripts are contained in my pack.png XP Ace Upgrade Kit.

3. Step-by-step instructions
  • 3.1 Remove RTP dependency

Copy all used ressources from the XP RTP into your game folder. The RTP is usually located at C:\Program Files (x86)\Common Files\Enterbrain\RGSS\Standard or C:\Program Files\Common Files\Enterbrain\RGSS\Standard.

  • 3.2 Insert the Engine

Copy Game folder files\Game.exe and RGSS301.dll from the kit into your game folder. Open your Game.ini and see what is written behind Library=. Rename the file RGSS301.dll accordingly (in most cases to RGSS102E.dll).
Copy the folder Fonts into your game folder. Game.exe always checks whether these font files are present there if they're not already installed on the system. It's irrelevant whether they are used in your game at all.

  • 3.3 Paste Script

Paste Scripts\RPG Module.txt above all other scripts in your project.
Paste Window Padding Fix.txt above Main.
Replace Main with Main.txt.
Optional: If you're using print in your game, paste Print.txt above Main.
 
The Tilemap class is unalterably compiled in the RGSS dll and its task is to read map files and build maps as we know them. Since VX and Ace are using a different mapping system and thus a different tilemap class, you need a replacement that knows how to deal with your XP maps.
 
At the moment there are 6 alternatives (=rewrites) in Ruby and 1 in C++ (WhiteFlute):
 
Tilemap%20recommendations.png
 
Paste the script of your choice below the standard scripts and above your own scripts. If you're using Sephiroth's rewrite please note that SDK and MACL have to be above the tilemap script.

  • 3.4 Adopt Windowskin

Either edit your windowskin so that the elements match those on an Ace windowskin or use [tt]Scripts\Windowskin Converter\Windowskin Converter.txt[/tt].

  • 3.5 Optional: Encrypt Project

Download the VX Ace trial and install it. Create a new project, delete all files in your new Ace project folder without closing the maker, then paste all XP game files into the Ace game folder. Now select File -> Compress Game Data... -> (Create Encrypted Archive) OK. An self-extracting archive will then be created, containing a .rgss3a file instead of Data and Graphics folders.
Keep in mind that the rgss3a encryption has been cracked and released 5th of June 2012.

4. Bag of tricks
  • In order to run a resolution beyond 640x480 use Game folder files\(optional)\RGSS300.dll and a script supporting custom resolutions (e.g. me's or ForeverZer0's rewrite). Furthermore change Graphics.resize_screen(640, 480) in Main accordingly.
  • To slow down in-game graphics to XP speed again use the script call Graphics.frame_rate = 40. This also decreases CPU load en passant. You can set the wanted fps to anything between 10 and 120.
  • All differences between RGSS v3 and v1 can be listed in the page.png VX and page.png Ace help file by searching for (RGSS2) respectively (RGSS3).
  • How to enable the console window and automatic $DEBUG set for debugging

5. Credits

Dargor - XP->VX tutorial at hbgames.org
ForeverZer0, LiTTleDRAgo, me, PK8, poccil, RTH, SephirothSpawn, The King, WHITE-FLUTE - scripts in the kit
Terv - everything else

[table=6. Appendix: Error messages, known incompatibilities & solutions]

It's quite likely that the first thing you will see from your tuned XP game is a mysterious error caused by a script that used to never make any trouble. In most cases it's just a small thing and can be easily fixed in minutes. However if you know as much about Ruby as the man in the moon, or encounter a more persistent error, there's a dedicated bugtracker now! Presenting you

aluxes_loves_eric%20site.png
www.Aluxesâ¤Eric.tk

88x31.png
How to use the VX Ace engine in your XP games by Terv is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License.

Share this post


Link to post
Share on other sites

The part about the gain of performances is actually not quite accurate. Ruby 1.9.2 is faster than 1.8.1 as far as internal processing/object management is concerned, but RGSS isn't - meaning anything that revolves around graphic processing doesn't go any faster at all, and is even a bit slower in actuality than it is in XP. This is probably due to a heavier graphics engine, since it supports more functions. Besides, the main reason behind lags in huge maps is the number of sprites, rather than the number of events. It's a flaw in RMXP, which does not draw only the part of the map you can see in the game window, but the entire map at each frame - and it's still about graphics processing and not about events. Then again I don't know how the internal Tilemap class is handled with VX/VXA, they should have fixed that by now, but knowing Enterbrain I wouldn't bet on it - and the trick proposed by bigace involves using XP's Tilemap class anyways. All in all, what makes VXA projects look like they run smoother than XP projects is the higher FPS limit, but I'm pretty positive that performances decrease about as fast with either engines.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...