• Add Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS
Click here for documentation (Includes material formats)

RPG 20XX is a redesign of RPG Maker 20XX... Which was an upgrade replacement for RPG Maker 2003's engine. This newer engine will have nothing to do with the RPG Maker series of engines apart from the familiarity of the editor and engine features.

RPG 20XX should provide lots of advanced features yet remain faithful to the retro scale of RPG Maker 2003. It should not require actual writing of program scripts and instead provide a clever implementation of a click-together event scripting system similar to the older RPG Maker engines. Most notably the ability to re-adjust the battle calculations purely through event scripting.

Lots of common tedium and annoyances of RPG Maker 2003 should be eliminated. RPG 20XX will provide global battle events for all battles, a quest system, simplified character development, local save variables per event, and other simple conveniences.

All of this is currently licensed under the MIT license so you can check out the source code any time if you really wanted to. It will be a community project, free as in price and in freedom to create the RPGs in a fun familiar way like you always wished RPG Maker 2003 could do these days.

If you use this software, you agree to use the software under the MIT license: https://opensource.org/licenses/MIT
Copyright © 2014, 2021 WolfCoder Workshop LLC


Latest Blog

RPG 20XX Asset Starter Pack

First things first, I'll need to gather stock assets to create RPG 20XX's default asset pack. It's like an RTP except "Run Time Package (RTP)" doesn't make sense here since all required assets get built into .2xg files and players of your game won't have to go download it separately. I'm organizing what I had found before with what I can find off stock asset sites, but I think maybe the RPG creation kit that was born on RMN ought to have assets from the community.

If you have assets you're willing to contribute that have lots of "Generic RPG Energy", let me know. You'll need to license them under a creative commons license so we can all use them. Don't worry about formatting, I'll convert them, just make sure they're drawn to 16x16 pixel tile scale.

The resulting asset pack will have all of the sources cited even when attribution isn't a requirement, so be sure to let me know how you want to be credited and if there's links to something you want to include.

Anything simple and easy to map with but with an appealing retro generic RPG look is great. Here's an example I made using art I found elsewhere:

Posts

Yeah, I don't know why though. It's a pain to sit there and sub every line of dialog and then have it checked over and some of them do a really good job of not killing all the original feeling or cultural references. Then they do all this elaborate stuff with the lyrics in the openings/closings.
I've not seen anybody carry out such a project so quickly.

You're a hero, WolfCoder.
I got one, and this may be just a personal preference; in battle, is there a way to make it so the enemies don't do that 'flash on and off' thing when you hit them? I dunno, it just seems...tacky. I like the SNES style; you just hit the enemy and they might flash or whatever (depending on what you hit them with), and it displays damage.

The whole 'sprite flashes on and off/damage' thing, I dunno...looks kinda cheap. Is it just me?
This must be for normal attacks because I remember being able to set all sorts of stuff about how the enemy will react to hits for skills. Not sure what I could do better though.
I'm mega confused on how to install this. It says 'paste this program where RPG_RT.exe used to be', but it's not just a single program, it's a whole folder.

Maybe I'm just suffering a case from the dumb?
All the DLLs and junk go in your game folder to right next to this program. Instead of HARMONY.DLL you have all these .dlls. They're part of this single program. Part of this complete breakfast.
tardis
is it too late for ironhide facepalm
308
i'll complete your breakfast
Ah, I see. Thank you.

The only bad part about this is that I don't know about the upcoming features/bugfixes. I'm too scared to touch my game in fear of I'll bash my head against trying to fix/work around something that this program is gonna fix.

derp
By default this program should behave in a way such that a game made in RPG Maker 2003 could be played directly in 20XX without any problems, except hopefully with no more game-breaking bugs and agility being fixed.

You can enable all the advanced features for new projects or updating existing projects, but they're all off by default.
What should I know as far as distributing the game for others to play (for example, uploading it to RMN) and what advanced features does it have (except for the ones listed/elaborate?)
"What should I know as far as distributing the game for others to play"

Just delete HARMONY.DLL and RPG_RT.exe since you don't need those, and then add the contents of the download there. It looks in C:\Program Files\rpg2003\RTP for RTP graphics instead of finding out where it was installed if the user changed the installation directory, so to be on the safe side make sure all the needed stuff is in your game folder. FullPackageFlag in the .ini doesn't mean anything anymore.

"and what advanced features does it have (except for the ones listed/elaborate?)"

What I haven't already said is the VideoSize entry in the .ini. Add VideoSize to RPG_RT.ini or wcrpg.ini to set the minimum scale factor for your game. VideoSize=2 would force double size, and is handy when you're using double size images and you can't go any lower.

-2x will work for any file. Even the music file. All the -2x in the file name means is to use this resource instead of the normal one. It goes before the extension in all cases.

The game is being drawn in 3D. Well, it only looks 2D because I'm using an orthographic projection matrix and not using the Z value. However, I could modify the projection matrices and positions to implement "mode7" rather easily since it's already being drawn with your video card using the 3D video pipeline.

The same can be said for any shaders, I can apply .fx files to any of what you see. You'd mostly just want full-scene shaders like HDR/Bloom, blur, or other things. Normal mapping would only make sense in a few cases and even then you could just draw the tiles that way and have no shader.

If enabled, you can define where the args variable stack is located in your variables. I'm going to use this to implement syscall. You make arguments A, B, C, and D what you want, set the syscall code for E, and then write 1 to F in order to execute the syscall. Return values goes into F after that. Example:

Variables:
...
0034: A = 2 (Give me the HOUR)
0035: B = x (Don't care)
0036: C = x
0037: D = x
0038: E = # (Number for System Time call)
0039: F = 1 (Run)
...

Becomes:
...
0034: A = 2
0035: B = x
0036: C = x
0037: D = x
0038: E = # (Number for System Time call)
0039: F = 22 (For 10PM)
...

Since there will be plenty of additional event commands for you to use in this way. In this example, I had six blank unused variables starting at 34 so I set the argument base to 34.
KingArthur
( ̄▽ ̄)ノ De-facto operator of the unofficial RMN IRC channel.
1217
Minor question: Will your runtime engine work together with RM2K Value? Those who use it are probably a very small niche and thus not high on your priority list for compatibility, but I've found renewed love for RM2K from using it and it'd be wonderful to know your runtime engine can work together with it.
Possibly. Only one way to find out.
Is it possible to have an expanded set of message commands for message boxes? Specifically, I was wondering if it would be possible to use \i to use as the name of the Item with the ID of ##. Kind of like how \n will return the name of the 3rd hero in the database.
Yeah, or \i[\v] to show the name of an item referenced by variable v. I'll implement whatever comes to mind with that.
Automatic line breaks when text goes offscreen would be great. I don't know why this was never done with any RPG Maker and it fixes those run off text issues that are all over the damn place which should never exist in the first place!

Fucking SNES hackers made code that puts text on two lines if it's too long and it's done at runtime! (In the inventory, for item names, but still)
Yeah, WeaponBirth automatically word wraps too. But here's the problem, when you make a multi-line message command it actually generates additional commands! I should probably insert spaces instead of line breaks when turning these into a single message, and then execute my word wrapping algorithm. This will break up dialogs written with return marks intended with specific return marks like this:

Person: Hello...?
...
...
HELLO!?

But I suppose it wouldn't be so bad.
You could move words around and try to make everything fit. If one line is too long, keep cutting out the last word and place it in front of the next line. Unless it's the fourth line, then I'm not certain where to dump the text. This way you can still have your line breaks and word wrap unless I'm (probably) missing something.
That would get a little weird and messy though, because then you'd have abrupt lines with a single word because the previous line couldn't fit and now the fourth line gets shoved down. If I destroyed the line breaks and put it all together, you would only have to worry about a message that is simply too many words long. If you kept within the 4-line limit like you do now but ignore width, you should be fine.

Example:
I don't think we're alone out here, what do you think?
... ... ...
Wait, what's that?
Aaaaaaaaaaa!!

Could become:

I don't think we're alone out here, what do you
think?
... ... ...
Wait, what's that?

With the last line being a problem.
I was thinking more:
I don't think we're alone out here, what do you
think? ...........
Wait, what's that?
AAAA!


It's still awful though (and fourth-line runoff would go into a new box which is bad). Ah well