CHERRY'S PROFILE
Search
Filter
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
Mode 7 is probably not easily possible at the moment because you currently cannot access the map tiles, so you don't know what tiles the map contains. There is also no "drawTile" function or anything like that.
You can access the events, though, and use some custom way to draw them.
You can access the events, though, and use some custom way to draw them.
+++ DynRPG - The RM2k3 Plugin SDK +++
Sorry to correct you Ramiro, but unfortunately not everything you said is true in this case.
Yes, dynamic linking is slower, but how would you do statically link to an existing EXE file (RPG_RT.exe)? :D
Also, in this case most of the code is actually statically linked. The libdynrpg.a file mostly only contains method stubs with an "asm" statement which calls the corresponding function in the RPG_RT.exe so the only "dynamic" process involved is loading the DLLs when the game starts. Everything else has no speed difference.
I don't think using C++ is hard, because I do not use any object-oriented "hard" stuff apart from the fact that there are a few inherited classes, but that's just for convenience (and the documentation even shows ALL members of a class, also inherited ones). All the "hard stuff" happens behind the scenes, I even created classes for one-based arrays so that people won't have to think too much but can just use the database ID of a condition (for example) as index to the RPG::Battler::conditions array.
It's mostly the syntax and stuff like how to use std::string which you have to learn if you used a different language before.
Also, it's NOT so easy to switch to a different language, because the headers are not just "normal" headers but they directly "integrate" with the RPG_RT.exe's code. For example, most game objects are references to pointers, assigned like this:
Some headers even use inline assembly. If all that works in another language, etc... great, but I doubt it at the moment.
That's why I picked C++.
EDIT: Here is a conversation you might also find useful.
Yes, dynamic linking is slower, but how would you do statically link to an existing EXE file (RPG_RT.exe)? :D
Also, in this case most of the code is actually statically linked. The libdynrpg.a file mostly only contains method stubs with an "asm" statement which calls the corresponding function in the RPG_RT.exe so the only "dynamic" process involved is loading the DLLs when the game starts. Everything else has no speed difference.
I don't think using C++ is hard, because I do not use any object-oriented "hard" stuff apart from the fact that there are a few inherited classes, but that's just for convenience (and the documentation even shows ALL members of a class, also inherited ones). All the "hard stuff" happens behind the scenes, I even created classes for one-based arrays so that people won't have to think too much but can just use the database ID of a condition (for example) as index to the RPG::Battler::conditions array.
It's mostly the syntax and stuff like how to use std::string which you have to learn if you used a different language before.
Also, it's NOT so easy to switch to a different language, because the headers are not just "normal" headers but they directly "integrate" with the RPG_RT.exe's code. For example, most game objects are references to pointers, assigned like this:
static RPG::NamedCatalogPtr
< RPG::Actor * > & RPG::actors = (**reinterpret_cast<RPG::NamedCatalogPtr<RPG::Actor *> **>(0x4CDDC8))
That's why I picked C++.
EDIT: Here is a conversation you might also find useful.
author=Large
So sorry to keep bothering you, you must be super busy, and deep in tits and asses after all the work you did with the SDK.
Say, I have a question: I see that you can get the attributes of Battlers with RPG::Battler::getDefense(), for example, but... can you SET it?
My idea is to have the defense attrib for one boss be modified (Doubled, tripled, halved, w/e) when a certain spell is cast (by him). After 2-3 turns, the Defense goes back to normal.
I couldn't find a setter method, so I was wondering... how can I accomplish that?
Thanks in advance!
author=Cherry
That's because the actual attribute value is calculated based on various factors: Basic settings (per level), equipment, conditions, adjustments one by "Change Ability" event commands...
Because of that, there is no actual DEF value, for example, only a method getDefense which calculates it. You can hover use the defenseDiff member (same for the other attributes). That's the difference from the default (default = basic stats + equipment + conditions). Please do not use "=" to change it (since this will override changes done by event commands like "Change Ability"), but only "+=" and "-=" to in-/decrease the attribute.
=== Is it okay if I publish this conversation? Others might have the same question. Next time, please ask in the thread!
Best regards,
Cherry
author=Large
You can use the question, no problem.
So I can just use RPG::Actor::defenseDiff += 30; and that will increase the defense of the actor?
author=Cherry
Exactly. Of course not the way you wrote it now (RPG::Actor::defenseDiff += 30) but by actually using a particular actor, likeRPG::actors[3]->defenseDiff += 30;
+++ DynRPG - The RM2k3 Plugin SDK +++
By the way, I never said a word about scripting. This is something else. Plugins are written in C++ and compiled to DLL files. No scripting (= code which is interpreted at runtime) involved.
+++ DynRPG - The RM2k3 Plugin SDK +++
There was an update, please download and patch again! See http://rpg-maker.cherrytree.at/dynrpg/changelog.html (there was also a small bug fixed)
I also added some info to the getting started section.
I also added some info to the getting started section.
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
Yes, no problem then.
There was an update, please download and patch again! See http://rpg-maker.cherrytree.at/dynrpg/changelog.html (there was also a small bug fixed)
I also added some info to the getting started section.
There was an update, please download and patch again! See http://rpg-maker.cherrytree.at/dynrpg/changelog.html (there was also a small bug fixed)
I also added some info to the getting started section.
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
Code::Blocks is an IDE as far as I know. I don't know which compiler you are using (in the "background"), but GCC is preferred. I do know that it doesn't work with MSVC++, and it certainly works with GCC - that's because
a) Different ASM syntax of different compilers
b) Other differences in optimization, memory layout, exception handling, etc. between compilers
This is important because the SDK works on a very "low level", directly interfacing with Delphi classes and methods, etc., where stuff like this matters.
a) Different ASM syntax of different compilers
b) Other differences in optimization, memory layout, exception handling, etc. between compilers
This is important because the SDK works on a very "low level", directly interfacing with Delphi classes and methods, etc., where stuff like this matters.
+++ DynRPG - The RM2k3 Plugin SDK +++
author=WolfCoder
You still have to be a cracker to be able to make anything useful with this hook toolkit and thus the task of adding new features falls upon people who bleed C/C++ and how is this any different from now?
Certainly not. You are comparing hacking around in (of course) undocumented assembly code with using a documented C++ library. Do you see the difference?
author=WolfCoder
You'll actually have a harder time implementing half of the above magik features than I will (or had, since I've already implemented many of those),
Yes, your engine is great. I actually was surprised that you got that far because many people had the same idea and failed. Great that you can do all this easier. And now you are here to make us do our things your way?
author=WolfCoder
hope you've got at least three years of C/C++ under your belt.
Again: Certainly not. By the way, this is the first project I did with C++ which has more than ~30 lines of code. Of course you have to be familiar with the general concepts of programming, but that's the same with Ruby.
author=WolfCoder
You need enough knowledge to basically just write your own engine to be able to use this hack kit
Did you take a look at the example plugin's source code? Seems like you didn't.
author=WolfCoder
and even then it reduces the stability of the underlying software rather than just writing a new engine where you go from an unstable state to a stable one.
Not to mention you're piling duct tape on top of 10 year old software.
If you're all gung ho about modifying or writing a new engine in C/C++ you are better off just getting VX or XP. It's much easier than C/C++ and those engines already have alpha and such. Yes, the author of 20XX basically told you to spend a night in Ruby/VX/XP to basically do the same thing. Heck, they even have pre-made Ruby kits with all the features you were looking for.
You'll have more fun that way.
I do not. Why are people there having an old car or motorcycle in the garage and spending hours on working on it? They could also just buy a new one which can everything they want, no need for do-it-yourself stuff. Well, it's just not as much fun (at least for people like me)!
See: One of my key interests (and also key qualities, I think) is finding creative solutions to problems which are considered unsolvable. This is what I do with the RPG Maker too. It's fun for me. Okay, and now I have a big knowledge base... but probably I could never give it to anyone else because nobody would understand nor would he be able to do anything useful with it before spending years with it too.
What I did now was "converting" this knowledge into a form which many more people can use. And if I am gone some day and there are still people who love the RM2k3 more than other RPG Makers, they might still benefit from that knowledge because somebody else may still create extensions (based on my research).
author=WolfCoder
edit:
I know most of you are going to ignore me and try it out anyways- go ahead. Experience will be a better teacher.
Nobody coerces anybody to use anything of the stuff I am publishing here. If you don't like it, I don't mind. And as long as at least one person has use for what I am doing, it was not for nothing. :-)
author=LockeZ
Well, this is easily the biggest announcement in the RPG Maker community since the release of RMXP, and Cherry spent years on it and is releasing it for free. So, yeah. Maybe it's a little harder to use than XP and VX scripting, but what's amazing is that it's backwards compatible with ten years' worth of RM2003 projects, instead of being a new engine.
To be honest, I started this project two weeks ago. But you are right, without the prior research, gathering of knowledge and experience over the past years, it would not have been possible.
author=heisenman
I understand WC point of view though, most 2k3 users stuck with it because they didn't care to learn rgss/2/3 for like ten years, I can't see people suddenly learning C++ and going all productive with it.
author=Jude
Neat, but beyond my skill level.
That's not what I am expecting. I am running a contest because I hope to find people who already know C++ and know the RM2k3 too. Most of the users won't benefit from the SDK itself but more from the plugins which are created.
author=hima
I wish Cherry would opensource this. I'd love to learn how he does all these stuffs!
Maybe later. It probably wouldn't help you much either, because most of it is zero percent documented and also in assembly language and patched directly into the RPG_RT.exe - that's the main reason why I didn't make the library and the patch open source.
author=hima
As for C/C++ problem, I guess one can always write a lua/squirrel/javascript plugin so that you can use that scripting language inside rm2k3. This way, hardcore programmers that require raw power can go for C/C++, but for something that need more flexibility than power, the programmers can go for a scripting language instead.
I wouldn't recommend a Lua/whatever plugin because I think the performance would be horrible. That's also why I cancelled CGSS.
author=Craze
if only this was possible
It is possible to catch comments and do something with them.
author=WIP
It's quite cool adding in hooks to 2K3. Unfortunately it's a totally academic project and really doesn't serve anything but an antiquated community.
And what's the problem with that? It's my business what I spend my time on and who it serves at the end. :-)
author=WIP
The community of RMlets can't even write their own Ruby scripts, let alone native code plugins. Nobody is going to write their own fucking plugins. They're going to wait for other people to write them. Since the barrier to entry is too high, not many plugins will end up getting made, and everyone will just use the same plugins that probably aren't great.
If nobody else does it, there will still be me creating plugins. :-) So this is not going to be a problem. By the way, I do know people who created most of their action battle system in C++ als plugin for Power Patch, which is far less powerful, slower and more complicated than using DynRPG, so...
author=WIP
LockeZ, WolfCoder owned your ass. C++ is fucking nothing like Ruby other than LOL THEY BOTH HAVE IF STATEMENTS. Totally different worlds and styles of languages.
I never started comparing these two, let alone claiming that this would be kind of an RGSS for 2k3.
@all: Thank you for your responses. To make this clear: This is not "every game maker can now create plugins". This is "every game maker can now benefit from even more powerful, easy to install extensions", "every C++ programmer can now create plugins if he wants" and "every C++ programmer who also uses RM2k3 for fun or whatever can now make his game even cooler". So if some of you think the whole thing is a bad idea, then they just should't use it. Period.
Best regards,
Cherry
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
Hand up as juror or as competitor?
If you mean "as juror": Great, I will pick the jurors later. If there are many, I might revise my "2 per forum" idea and increase it. I just want to get the same number from each forum.
If you mean "as juror": Great, I will pick the jurors later. If there are many, I might revise my "2 per forum" idea and increase it. I just want to get the same number from each forum.
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
[OVER][Contest] DynRPG Plugin Programming Contest - Win Amazon Gift Cards! - NEW: Pathfinding plugin submitted!
EDIT: This contest is now (finally) closed! Vote here: https://rpgmaker.net/forums/topics/24987/
Hello, everybody!
The first question will probably be: "What is DynRPG?" - A RM2k3 Plugin SDK. Presentation here: http://rpgmaker.net/forums/topics/10254/
Okay, great, now that this is settled, I'll tell you what this is all about:
DynRPG should be
a) promoted
b) tested
c) "equipped" with useful plugins
To give C++ programmers a small incentive, I'll now start this contest!
It's a try. I have no idea whether I even find enough plugin programmers for this...
Goal
Goal of this contest is to create a DynRPG plugin which is as useful as possible. It doesn't need to be too complex - most important is that many RM2k3 users think it's useful for them. Of course the source code should be published too. The latter should be sufficiently documented so that it can help other beginners to understand how to use DynRPG. Plus, the Rules and Guidelines should be paid attention to.
Timeframe
The timeframe isn't completely certain yet. We start with one month. If there are problems (maybe you find critical bugs which I have to fix first), we can extend the timeframe, of course.
Special: Cross-forum contest!
Yes, you read right. This contest is held in three forums:
- RMN (EN): http://rpgmaker.net/forums/topics/10255/
- Multimediaxis (DE): http://www.multimediaxis.de/threads/134260
- Oniromancie (FR): http://www.rpg-maker.fr/index.php?page=forum&id=19912
I will copy the submissions into the other forums.
Rules
- Everyone who knows C++ is invited to participate.
- Asking questions (of any kind) is welcome.
- The language of the source code, its comments and the documentation has to be English.
- "Copying" from other participants is also welcome, as long as the result won't be exactly the same.
- So: If you creates something, the best thing is to post it here without waiting for the end of the time! Of course you can also directly create a presentation thread (after telling me here).
- At the end of the contest there will be a public poll in all three forums at which the usefulness and usability will be rated. I will also reserve a last word regarding sticking to the guidlines and optimization of the code for myself. The poll is going to be open for one week. Additionally, there will be votes of six jurors (two per forum) (who should test the plugins more thoroughly), in case I find ones. Jurors, put your hands up!
Prizes
You can win:
1. Prize: € 20 / $ 25 Amazon Gift Card
2. Prize: € 15 / $ 20 Amazon Gift Card
3. Prize: € 5 / $ 7 Amazon Gift Card
Additionally, all participants will be mentioned in the next version of the documentation as "testers and plugin pioneers". If you have a website, I will also link to it.
I hope to get a lot of participation and as a result a lot of use for all RM2k3 users!
Best regards,
Cherry
Hello, everybody!
The first question will probably be: "What is DynRPG?" - A RM2k3 Plugin SDK. Presentation here: http://rpgmaker.net/forums/topics/10254/
Okay, great, now that this is settled, I'll tell you what this is all about:
DynRPG should be
a) promoted
b) tested
c) "equipped" with useful plugins
To give C++ programmers a small incentive, I'll now start this contest!
It's a try. I have no idea whether I even find enough plugin programmers for this...
Goal
Goal of this contest is to create a DynRPG plugin which is as useful as possible. It doesn't need to be too complex - most important is that many RM2k3 users think it's useful for them. Of course the source code should be published too. The latter should be sufficiently documented so that it can help other beginners to understand how to use DynRPG. Plus, the Rules and Guidelines should be paid attention to.
Timeframe
The timeframe isn't completely certain yet. We start with one month. If there are problems (maybe you find critical bugs which I have to fix first), we can extend the timeframe, of course.
Special: Cross-forum contest!
Yes, you read right. This contest is held in three forums:
- RMN (EN): http://rpgmaker.net/forums/topics/10255/
- Multimediaxis (DE): http://www.multimediaxis.de/threads/134260
- Oniromancie (FR): http://www.rpg-maker.fr/index.php?page=forum&id=19912
I will copy the submissions into the other forums.
Rules
- Everyone who knows C++ is invited to participate.
- Asking questions (of any kind) is welcome.
- The language of the source code, its comments and the documentation has to be English.
- "Copying" from other participants is also welcome, as long as the result won't be exactly the same.
- So: If you creates something, the best thing is to post it here without waiting for the end of the time! Of course you can also directly create a presentation thread (after telling me here).
- At the end of the contest there will be a public poll in all three forums at which the usefulness and usability will be rated. I will also reserve a last word regarding sticking to the guidlines and optimization of the code for myself. The poll is going to be open for one week. Additionally, there will be votes of six jurors (two per forum) (who should test the plugins more thoroughly), in case I find ones. Jurors, put your hands up!
Prizes
You can win:
1. Prize: € 20 / $ 25 Amazon Gift Card
2. Prize: € 15 / $ 20 Amazon Gift Card
3. Prize: € 5 / $ 7 Amazon Gift Card
Additionally, all participants will be mentioned in the next version of the documentation as "testers and plugin pioneers". If you have a website, I will also link to it.
I hope to get a lot of participation and as a result a lot of use for all RM2k3 users!
Best regards,
Cherry














