New account registration is temporarily disabled.

KYUU'S PROFILE

Search

Filter

[DynRPG] RPGSS

author=Rave
If you try to render them in software, then yes, they are, but if they'd use hardware accelerated rendering for it then it wouldn't be so bad as gpu would take care of everything.

Yes, there should be no doubt that software rendering is no match for hardware accelerated rendering.

author=Rave
Also as some RGSS rewrite project has proven to me (don't remember its name so don't ask me) RGSS in XP is the main culprit for its lags (which can be also deduced from common sense as as you add more events, even empty ones game gets more laggy), after applying this patch map with tons of events run perfectly fine. So yeah, while 32bit graphics may add something to it, RGSS event processor is main culprit for lags in XP.

I just can't believe that the Ruby interpreter (even the old one used in RPG Maker XP) is so much slower at interpreting bytecode than the event code interpreter in RPG Maker 2003. I've seen Ruby (slightly) outperform vanilla Lua in some (older) benchmarks, so it can't be that slow. Maybe it has mainly to do with the way the RPG Maker XP programmers implemented event processing (i.e. the slowdown doesn't come directly from the Ruby interpreter)? You know, you can always write slow code in any system, no matter how fast it is. Most likely the dramatically improved performance in the later Ruby versions just compensates for the inefficient event processing, so to the outside it looks like the Ruby interpreter used in RPG Maker XP is much slower than the event code processor in RPG Maker 2003.

Having said this, it's no more than speculation. In a system of that complexity, it almost impossible to tell what exactly is the bottleneck just by applying common sense or even years of experience, until you profile the thing. Often it's very surprising what actually caused a slowdown.

Oh, and don't underestimate the impact of the graphics system. Especially with software rendering games will spend a large part of the time rendering graphics.

[DynRPG] RPGSS

Don't take it out of context. "very slow" compared to Lua(JIT), of course. This is especially true for math.

BTW: I'm not sure that the Ruby interpreter (if at all) is the single culprit for the RPG Maker XP being so much slower than the RPG Maker 2003. I believe that the new graphics capabilities at least add to it. 32 bit graphics are much more expensive than 8 bit graphics.

[DynRPG] RPGSS

New Release

rpgss-0.8.0.7z


Changes between 0.8.0 and 0.7.0
-------------------------------

* Added onSystemBackgroundDrawn callback.
* Added keyboard.getVirtualKeyCode.
* Added keyboard.getState.
* Added mouse.getState.
* Mouse position is now clipped to screen dimensions.
* Added Sound.pitch.
* Renamed Sound.repeat to Sound.loop to avoid collision with Lua's
"repeat" keyword.
* Added graphics.newSystemFontImage.
* Added option to graphics.writeImage to force a particular color as
the first palette entry in palletized images.
* Added game.frameRate.
* Added game.millisPerFrame.
* Added game.frameCounter.
* Added game.playTime.
* Added game.system.graphicFilename.
* Added game.menu.scene.
* Added game.menu.allowed.
* Added game.menu.saveAllowed.
* Added game.menu.teleportAllowed.
* Added game.menu.escapeAllowed.
* Added game.battle.layout.
* Added game.battle.atbMode.
* Added game.battle.speed.
* Added game.map.existsEvent.
* Added game.map.findEvent (replaces game.map.findEventById and
game.map.findEventByName).
* game.map.moveCamera now behaves as expected (positive offsets move toward
positive infinity, negative offsets move toward negative infinity).
* Renamed control mode and layer constants for brevity.
* Added Character:move.
* Renamed game.music.fadeOut to game.music.fade for consistency.
* Added a temporary workaround in game.screen.drawq that fixes the issue
that the TexturedQuad primitive ignores the source rect position.
* Moved screen drawing code into its own module for reasons of clarity
and improved maintainability.
* Anything rendered to the screen is now affected by the screen brightness
to avoid sticking out during transitions.
* Added bitmap versions of the system fonts msmincho and msgothic, as well
as initial versions of the system window skins.
* The # (length) operation now works on proxies returned by properties
like game.party, game.map.events, game.battle.enemies, etc.
* Refactored and restructured existing system scripts for improved
modularity and maintainability.
* Added class.lua (allows for solid object-oriented programming in Lua;
powered by Yonaba's 30log library).
* Added Cache.lua (allows caching of frequently used resources like images,
fonts and window skins).
* Added Timer.lua (keeps track of and provides an interface to query the
frame/time delta between updates).
* Added CallbackManager.lua (allows writing encapsulated extensions).
* Added InputManager.lua (allows listening/reacting to input events).
* Added AudioManager.lua (allows playback of BGM, BGS, ME and SE).
* Added GameClock.lua (keeps track of the total play time and optionally
displays it in the main menu).
* Added PathFinder.lua (adds powerful and feature-rich pathfinding tools;
powered by Yonaba's Jumper library).


A big step towards v1.0 and a solid framework!

The new callback manager allows now to write encapsulated extensions, i.e. it's possible to write plug & play extensions. A good example is the game clock extension.

With the addition of Character:move it's also possible now to do pathfinding! Here is a demo that shows how to:



Download

[DynRPG] RPGSS

Yeah, I know about CGSS. Too bad he discontinued it. As far as I examined, it would have allowed for a similar plugin infrastructure as in DynRPG. He said, he was concerned about execution speed, but I'm sure that over time it would have been possible to develop a solution to speed it up. Using LuaJIT (which is goddamn fast!) and doing most of the time-consuming part (currently mostly graphics algorithms) in C++, RPGSS has no problems speed-wise and there is still a lot of potential for optimization left. Since the event script interpreter of RPG Maker 2003 is very slow, it's even possible to speed up the game simply by moving performance-critical event code to Lua.

[DynRPG] RPGSS

If by "pictures" you mean that the displayed images appear above all other graphics (just like pictures in RPG Maker appear above everything else), then yeah. Using callbacks you can also draw on several other occasions, like when a character sprite is drawn, but unfortunately there is currently no onDrawPanorama callback, so you can't draw your own stuff below or above panoramas (yet).

[DynRPG] RPGSS

I'm sorry to disappoint you, but this is only a DynRPG plugin. It doesn't change the way the RPG Maker works, i.e. the RPG Maker still can only handle 8 bit images. What it does is: it adds the ability to run Lua scripts and inside the scripts you can load and display 24 bit images (and much, much more).

+++ DynRPG - The RM2k3 Plugin SDK +++

author=beefypotatoes
It compiles just fine, but when the drawText command occurs at runtime, I get memory read errors ("Access violation in module 'RPG_RT.exe' in with address 0040293E and offset 64EAF000 of type Read occured."). It appears that the method is ignoring the length of the string and just keeps reading memory. (Once, instead of crashing it actually output text, but it included the content of a bunch of other strings).

I'm using Code::Blocks 13.12, which comes with GCC 4.7.1. Also, here's a link to a simple project with the problem, in case anyone wants to look, download (this is the project the above code is from).


I tried it and got the same segfault. Then I recompiled the project linking to a version of libDynRPG.a I compiled myself and everything worked fine. So it seems that Image::drawText works just fine and the libDynRPG.a included in DynRPG 0.20 is the culprit. If you want I can send you my version of libDynRPG.a, but you will need to use a different compiler (http://sourceforge.net/projects/mingw/files/MinGW/Base/gcc/Version4/gcc-4.8.1-4), because I'm using DW2 exception handling.

[DynRPG] RPGSS

New Release

rpgss-0.7.0.7z


Changes between 0.7.0 and 0.6.0
-------------------------------

* Refactored scripts.
* Added generic boot.lua.
* Switched to Azura image I/O library.
* Added option to write palletized images.


It's possible now to write 8-bit color images.

+++ DynRPG - The RM2k3 Plugin SDK +++

@Cage:

The RPGSS plugin exposes most of the DynRPG API to script, so you could just write a few Lua functions that do exactly what you want and call them from event code whenever you need.

An example for such Lua function:

function get_partymember_hp_maxhp(partymember_id, var_hp, var_maxhp)
game.variables[var_hp] = game.party[partymember_id].hp
game.variables[var_maxhp] = game.party[partymember_id].maxHp
end


You can call this function then like this (event code comment):

@call get_partymember_hp_maxhp, 1, 10, 11

Which saves the HP and max HP for the first party member (the hero) into variables 10 and 11 respectively.

[DynRPG] RPGSS

Hm, could it be that instead of downloading dynrpg.rar your web browser shows its contents? In this case, instead of following the link, try to right-click it and choose "Save link as..." (or whatever it's called at your end).

Also, which version of DynRPG did you try to download? DynRPG 0.14a or DynRPG 0.20? For RPGSS you need at least DynRPG 0.20, which is currently only available as a test version.

If you still can't figure out how to download DynRPG, you can use the RPG_RT.exe (a fresh RM2k3 1.08 runtime, only patched with DynRPG 0.20) and dynloader.dll (needed by the patched RPG_RT) from one of my demos.
Pages: first 12 next last