Download Now

4912 downloads
0 reviews
  • Review
  • Subscribe
  • Nominate
  • Submit Media
  • RSS
Contact Me

Comments go to my E-Mail address, I won't really answer them here

E-Mail: wolfcoder (at) dreamincode.net
Dream.in.code: http://www.dreamincode.net/
AIM: wolfcoder
Yahoo: umbracoder
MSN: wolfcoder (at) dreamincode.net
20XX Irc: irc.esper.net #20xx

Installation: Delete RPG_RT.exe and paste this program where it used to be. There you go.

Introduction

To address the old-age and technology of RPG Maker 2003's RPG Runtime engine, a replacement will be written that implements more modern features. This is intended to work both as a 1-1 replacement for the RPG_RT.exe executable and as an extender to allow features which would be cumbersome to implement conventionally as event scripts.

There are also a long string of bugs and feature requests that will be addressed with this engine, especially the more commonly known battle bugs and speed/agility problems.

This is not a patch, it is a ground-up open-source engine that plays RPG Maker 2k/3 games. There are others out there, but usually for systems like the GP32X, PSP, and DS so that you could play RPG Maker 2003 games on those systems.

This technology enables you to create something new with something old, comfortable, and most importantly, fun. The G.E.C.K. for example, still sports that Win95 look but uses the next-gen engine you actually play. After all, it's this engine that your users will actually see and not your tools.

Participants

Thanks to the following people who submitted games for me to test against:

Kentona (Hero's Realm)
Drakonais (Tiamat Sacrament)
J-Man (Phantasia 5)
Ocean (Paradise Blue)

These participants will decide the engine's current level of compatibility with the original system.

Features

Features that 20XX will extend onto your project:
- Fixes the hit list of bugs and annoyances with the original engine
- Many more supported image and sound/music formats
- 32 bit color with alpha images
- Bitmapped fonts let you draw your own font pixel-to-pixel (also 32-bit alpha possible)

Tell me what you want and I'll implement them depending on how annoying/frequent you are at asking for them.

Specs and Stats

License: LGPL
System: SDL / Win32
Video: DirectX 9 3D
Audio: FMOD Ex
Libraries Used:
- SDL (system)
- DirectX (graphics)
- FMOD Ex (sound)
- SDL_image (loading many different image formats)

Latest Blog

Cancelled

Cancelled

I have lots of scientific study and work to do, so my time is pretty limited. I've been thinking this engine was a bad idea three months in, but I wanted to finish it anyway. Almost a couple years later, it's become apparent that this project is dragging itself out. I'm not sure I'll even be finishing normal games either, this is the end of posting in-progress projects. Any further announcements of projects I'm working on will be after it has already been completed.

Bad Idea?

The idea of using any of the RPG-Maker series of engines, in retrospect, is a bad idea. They already exist as a suite to satisfy your curiosity and boredom. For the more ambitious game authors, I recommend you just pick up GameMaker, Acknex, or any of the other higher quality toolkits out there for lower prices or free. People claiming to be from the Terraria staff are planning an independent RPG Maker, you should be supporting those projects. Regardless of what you use, it always takes great effort to make a fun game- there are many better engines (in all use cases) than this one to make your game with. Hence, I've been trying to finish something I feel was a mistake for about a year now.

Hell, if I didn't already have a job, I'd ask the "Producer of Terraria" if they could use me in making an independent RPG Maker- something like that I feel is the true solution. Do it right from the ground up and discard the nonsensical Enterbrain designs altogether.

What Now?

RPG Maker 20XX is missing the cookie cutter battle system. It can be used to make games, but the optimal use will happen when the source code is modified to fit whatever game is being made. Yes, this is identical to editing the ruby scripts of XP/VX to match your game. This requires a few coders to make different flavors of 20XX and the rest of the consumers to make various games. It's not pretty, but I have to point out that I left behind some pretty usable materials.

I will leave Feld here to manage any newcomers to produce the different flavors of 20XX, and I will add anyone working with the code to the project staff. I will continue to respond to questions and comments via E-Mail, if you use anything other than E-Mail, your message will go unanswered. I recommend you e-mail me especially if you want to work with the code since the code is heavily commented but also very messy.

Conclusion

20XX was just a curiosity of mine, and I thought I might be able to help the community. There's only so much I can do, and I am sure I will no longer be capable of providing adequate support for 20XX by myself, and therefore it will not be enough to serve you well. I may release games in the future, but you will only see them here when they are finished. That means they're probably not going to be RPGs (I have finished games a long time ago, but they weren't RPGs).

Other programmers are welcome to take the source code (everything available from the SVN) and branch off in an attempt to adapt or modify the engine.

Posts

A built-in run key would be sick too (where you can choose which speed is walk/run).
author=NewBlack
...The same goes for volume control on sound effects/music...

Actually volume controls and musical things are linear, don't know what you're talking about.

Anyway, it sounds simple but I would have to adjust the new default speed carefully. I'll think about this when I finish with the engine first.
dragonheartman
Developer, Starless Umbra / Heroes of Umbra
2670
author=PepsiOtaku
A built-in run key would be sick too (where you can choose which speed is walk/run).
Maybe this is the RM2k3 in me, but you can already do that though. (With more control, too.)

I'd kinda rather see it emulate the existing RPG_RT.exe first before all these features are added that bring compatibility issues to existing games (even thought WolfCoder has expressed it is better to test the engine with a new project specifically made for RPG Maker 20xx). In other words I'd just be happy for it to do the exact same thing the current RPG_RT does (minus enterbrain's bugs of course). In the end I'm excited for whatever direction this engine takes. *shrug*
Yes, that's why I can't be too crazy with what I decide to make anew with the engine. Especially since I played Starless Umbra and it had running and walking in it.

(even thought WolfCoder has expressed it is better to test the engine with a new project specifically made for RPG Maker 20xx)

Actually I mean it's easier to make a new game with 20XX since even if the engine was whacky, the game would take everything into account vs. something that assumes 2003.
Writing a run key using parallel processes isn't hard (I did so in my own game), but you run into passability issues with on-touch events. You can essentially hit the run key while you touch the event to instantly cancel out the event's actions. Players can easily exploit this. Even if you added a switch to that event to turn the key off, it wouldn't matter because it can be exploited before the event reads any of its actions.

Maybe just fix the way touch events and parallel processes are handled to correct this?
It sounds nice, but like I said I want to make the engine first. Let me put it this way: you won't mind not having a built-in running system if the battle system actually worked and the agility wasn't messed up. I'll come back to this though if more people want this after I finish the engine.
Clyve
GOATSE FOR LIFE
1858
author=WolfCoder
It sounds nice, but like I said I want to make the engine first. Let me put it this way: you won't mind not having a built-in running system if the battle system actually worked and the agility wasn't messed up. I'll come back to this though if more people want this after I finish the engine.


What does having a dash system built into the engine and the battle system working properly have to do with one another?

Two totally separate features, and the way dash currently works (or doesn't), isn't acceptable.
What does having a dash system built into the engine and the battle system working properly have to do with one another?


They don't.

Two totally separate features, and the way dash currently works (or doesn't), isn't acceptable.


My entire project probably wouldn't have existed if it weren't for the horribly bugged battle system and agility. I'm talking about priorities here. I think you would like to have a menu system... at all first before you can dash. I think saving games and loading them is also more important, etc.
Clyve
GOATSE FOR LIFE
1858
author=WolfCoder
What does having a dash system built into the engine and the battle system working properly have to do with one another?
They don't.

Two totally separate features, and the way dash currently works (or doesn't), isn't acceptable.


My entire project probably wouldn't have existed if it weren't for the horribly bugged battle system and agility. I'm talking about priorities here. I think you would like to have a menu system... at all first before you can dash. I think saving games and loading them is also more important, etc.



Oooh, okay, gotcha.

You are correct! Core features are certainly more important than dashing.

In addition to that, I feel I may have been giving off a negative vibe when really I love the work you're doing here and think it's going to be massively useful to a large amount of us. So for that, <3
Don't worry. It's good that you, a seemingly random person, spoke up about this. The more people who feel strongly enough about a particular feature to bug me about it, the more important it appears to me. There's lots of things I've got piled up for after the initial engine

After all, I actually don't really need this thing- it was a project for everyone else to begin with so I'm not that closed about it.

Of course there are lots of extra features that have already been implemented and/or will be implemented with the first engine. Like drawing a number! No more wasting six pictures and copy pasting modulus functions.
Clyve
GOATSE FOR LIFE
1858
author=WolfCoder
Don't worry. It's good that you, a seemingly random person, spoke up about this. The more people who feel strongly enough about a particular feature to bug me about it, the more important it appears to me. There's lots of things I've got piled up for after the initial engine

After all, I actually don't really need this thing- it was a project for everyone else to begin with so I'm not that closed about it.

Of course there are lots of extra features that have already been implemented and/or will be implemented with the first engine. Like drawing a number! No more wasting six pictures and copy pasting modulus functions.


That's seriously what I'm most looking forward to. I really really hate going through all the pictures/events/etc to get numbers to display.
Not sure if this is one for you or cherry or someone working on the engine, but how about some way apart from using complicated MP differentials to determine what skill has just been used?

As it stands I have to use pain in the ass common events and a bunch of variables to decipher which skill has just been used, and doing this for a bunch is a pain.

Maybe just a simple (character) uses (skill x):

Also, the default walking speed seems to fast, but the next setting down is too slow. Is there maybe a happy medium here? Does anyone else even care about this?
As it stands I have to use pain in the ass common events and a bunch of variables to decipher which skill has just been used, and doing this for a bunch is a pain.

Maybe just a simple (character) uses (skill x):


I'll consider this one, but it's never been a problem for me.

Also, the default walking speed seems to fast, but the next setting down is too slow. Is there maybe a happy medium here? Does anyone else even care about this?


If you look above you can see there are many who think the same.
Versalia
I was looking forward to some gam mak
1165
I know this isn't fully polished but, I tested it out, and it disables the 'okay' button (enter, spacebar, etc) and doesn't seem to reassign it anywhere else. Also, all of my "on collision" events stopped working...

/* Main keys */
case WCINPUT_OK:
if(wcinput_keys[SDLK_z])
return 1;
if(wcinput_keys[SDLK_RETURN])
return 1;
if(wcinput_keys[SDLK_SPACE])
return 1;
return 0;


Don't know what's wrong with the OK key. However, I think the collisions were added. Can you reproduce this in a small RTP game to isolate this problem and send it to me?
Versalia
I was looking forward to some gam mak
1165
author=WolfCoder
Don't know what's wrong with the OK key. However, I think the collisions were added. Can you reproduce this in a small RTP game to isolate this problem and send it to me?


I'm not at the computer with my files in it at the present time, but I'll shoot this over to you later this evening.
You're able to start the game so I don't think the input is wrong. If there was something weird going on with the trigger system, then it would make sense why it seems like OK does nothing and nothing responds to collisions.
Rave
like a walking version of the intro from Zero Wing
260
WolfCoder, did you consider publishing source of engine? More devs==faster work. Of course I wouldn't be able to help you, because I am not good at all with C++ (that's why I using gamemaking software in first place), but others may be able too. And if you set up SVN, you will be able to easily manage changes take of ones you don't want (probably ones that doesn't work or breaks existing functionality) and accept ones which you want.

//edit: And you should replace DX9 calls with appropriate OpenGL calls, because Wine still has problems with DX emulation. And using OGL will improve compatibility. Also you should consider using Audiere as music library, because PM2k3 uses FMOD and... wll, let's say that PM2k3 works perfectly on Wine... except sound.
WolfCoder, did you consider publishing source of engine?

It's up there in the link. Got the Visual Studio project files and everything.

More devs==faster work.

You're dead wrong. It doesn't work like that. It's been a wonder that I have been ahead of expected schedule too, it usually takes longer than you think to do anything.

And if you set up SVN, you will be able to easily manage changes take of ones you don't want (probably ones that doesn't work or breaks existing functionality) and accept ones which you want.

This is only true in a team. All by myself, SVN only makes the project harder and more annoying to work on. I use documentation for anything which cannot be reliably held inside my head, otherwise I am capable of remembering many many design details.

Adding more members means I have to write documents, set up SVN, and then give them enough information so that they can work optimally. Not only this, but I would have to find skilled programmers too which are hard to come by for free. My project is much faster if only I do it. By a factor of about 2.5 times, I figure.

Furthermore, adding more team members increases the amount of bugs. I've been going fine with minimal bugs so far and I would like to keep it this way for as long as it is possible.

I am already past the stage where I considered team work. I have reviewed the past projects of this nature and concluded that the best way to proceed is alone. This especially works well for a time-only cost project with no required deadline (I only need to be half as fast as my peers, but I would like to be as fast or faster). I would have to have planned this to be a team project for a start, and it would have been a small, tight team.

Notice how I'm neck and neck with EasyRPG and I'm not even trying to go fast at all (that Christmas Eve was a little too crazy for a hobby).

//edit: And you should replace DX9 calls with appropriate OpenGL calls, because Wine still has problems with DX emulation. And using OGL will improve compatibility.

Actually, OpenGL is a horrible idea if I want to implement all the advanced effects. OpenGL is actually less compatible because not everyone's video card vendor writes good OpenGL drivers for Windows. This is a Windows project because Windows is a gaming platform, whether this reality is one that we enjoy or not.

Also you should consider using Audiere as music library, because PM2k3 uses FMOD and... wll, let's say that PM2k3 works perfectly on Wine... except sound.

Well, that's nice. It's a good thing I'm not going to write this for Linux or Wine then I suppose.


The user base gain for spending an eternity adapting my engine to Linux or Wine is a tiny sliver, not worth destroying a perfectly fine project with. In the 10 or so years of me programming, this is the one time it's been going very well and I know a single mistake can ruin it. I know how hobby projects die all too well, and this is one way to dig a grave.
Welp, so there is not 1 but 2 engines currently being in the work (both "improvement" based on Rm2k3 engine). Great news.

I made similar suggestion (question?) to the RPGmaker 2009 ultimate and I thought it might be a good idea to post it here too :

Problems I find with Rm2k3
1. Changing Class graphic in battle (instantly applied?) Note: I think yours have this already
2. Ability to set stat value to x instead of adding/reducing it -x +x
3. Ability to change resistance/reduce stat like in SMT series (perhaps by “level”) so stat change skills is more strategic
4. Changing class while maintaining battle graphic (instead of making duplicate of class just to change resistance).

For the 4th, let's say you are making a Mecha game where you can select which system to use to set your resistance (done via Class). However you also want to allow the player to be able to use different Mechas in battle.

If you have 10 systems (10 different resistance/weakness) / Class, that means you will end up with 10 x N (N = no. of different mecha graphic in battle). Essentially cluttering the database with duplicates.

So if there is a way to select a class attribute THEN the graphic to the assigned class that would be nice.

I'd say the ability to change resistance in battle (ex fire shield for 1 turn) but that'd be asking too much methink

...
Of course if I misunderstood your project then I apologize in advance.

Cheers!