How to use the VX Ace engine in your XP games
in no more than 10 minutes - keep it simple, stupid!
In the following I am going to explain you how to use the engine of VX Ace (RGSS301.dll + Game.exe) in combination with your XP games which I fully entrust to everybody, for several reasons:
- 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 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.
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 XP Ace Upgrade Kit.
3. Step-by-step instructions
- 3.1 Remove RTP dependency
- 3.2 Insert the Engine
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.
RMXP version 1.02 or 1.04: Open your Game.ini and see what is written behind Library=. Rename the file RGSS301.dll accordingly (in most cases to RGSS102E.dll).
RMXP version 1.05: Refer to the solution of this report.
- 3.3 Paste Scripts
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):
Pros | Cons
- WhiteFlute [Recommended]: Extremely stable, rather efficient | May require small edits to Tilesets and scripts
- me [Recommended]: Fluid rendering and highly stable, also at higher resolutions | Incompatible with smooth scrolling scripts
- ForeverZer0 [Recommended]: Great performance, especially at higher resolutions | Occasional display bugs
- The King [Recommended]: Very liquid rendering, many additional features | High RAM consumption, possibly long map loading times
- poccil: Decent for small and mid-size maps | Micro stutters on large maps
- SephirothSpawn: Absolutely fluid and stable rendering | Requires SDK Part I+II and parts of MACL Complete, Bugs
- RTH: Okay for small maps | Heavy stutters on large maps
- 3.4 Adopt Windowskin
- 3.5 Optional: Encrypt Project
Keep in mind that the rgss3a encryption has been cracked and released 5th of June 2012.
4. Bag of tricks
- In order to use 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 VX and Ace help file by searching for (RGSS2) respectively (RGSS3).
Dargor - XP->VX tutorial
ForeverZer0, LiTTleDRAgo, me, PK8, poccil, RTH, SephirothSpawn, The King, WHITE-FLUTE - scripts in the kit
Terv - everything else
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
I hope you liked my petty tutorial. Feel free to ask if you got questions or correct me when something is phrased cloudy
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.
Edited by Terv, 30 December 2013 - 01:04 AM.