Welcome Guest ( Log In | Register )

[ Big| Medium| Small] -



Post new topic Reply to topic  [ 13 posts ] 
    Amy
  Wed Nov 02, 2011 7:44 pm
User avatar
Staff

Big Dumb Guy
So I was thinking in the shower (as you do), about RPG Maker.

RGSS, specifically. It's a nicely packaged set of Ruby scripts, which are ran by a C made program.

Now let's say we rewrote all of the hidden scripts and pasted them into the scripts.rxdata file. Would it then not be feasible to create a ruby program to run this file, as game.exe does?

My thought is basically one of expandability and user choice. If we did have this scenario, then a different Bitmap class could be created for say, Gosu, or SFML, or any other graphics library you can think of. The game could be encrypted with any form of encryption.

If this is the case, couple of questions:

1. What are the default scripts? (Or, have I missed any?)

Bitmap
Sprite
Plane
Viewport
Tilemap
Window
Color
Table
Tone
RPG::*
Audio
Graphics

(Seems a lot..)

2. Is there a method in Ruby to print out... well, there is, but I can't get it to work... method forms:

to_print = ""
methods = Object.methods
for i in 0..methods.size
to_print += methods[i] + " " + Object.method[methods[i]].parameters.join(", ") + "\n"
end
print to_print

Should work... well, in my mind should work. It doesn't.

Anyway, would simply be useful (and necessary, really) for recreating the hidden scripts.


Top Top
Profile      
 

    Kingdom Ablaze
  Wed Nov 02, 2011 8:42 pm
Smile, you never know when you are on camera!
User avatar



Location: Usa
you know i have though about this often (Since i wrote my own bitmap, plane, and viewport classes) im interested in what people say. hence this post lol.

_________________
Image
Kingdom Ablaze Twitter: https://twitter.com/KingdomAblaze
Kingdom Ablaze Deviant Art: http://kingdomablaze.deviantart.com/
Kingdom Ablaze: Facebook: https://www.facebook.com/KingdomAblazeTradingCardGame


Top Top
Profile      
 

    Dahrkael
  Wed Nov 02, 2011 8:59 pm
VOC@LOID #01
User avatar
Member


Location: SPain :D
theres already a rewritten RGSS using Gosu http://www.libgosu.org/cgi-bin/mwf/topi ... l?pid=4015
Not sure if its full, i doubt it. Anyway gosu differs too much about the graphics and audio system so its not suitable for this project.

Theres also ARGSS, the miscalled RGSS3 from the brazillians and the ARC player from Blizzard and company. im sure theres more.

Go ahead!

_________________
You prefer 2D
Content Hidden

or 3D?
Content Hidden


Top Top
Profile      
 

    BlueScope
  Wed Nov 02, 2011 11:21 pm
The Third Man
User avatar



Location: Germany
All I can add is that there's a listing of the "hidden" scripts in the help file of each maker. It lists available methods and accessable variables, however obviously doesn't show any actual code.

_________________
Image

If you have a slightly positive memory of my Power Shift contest game,
you might be interested in this development screenshot...
More info about that soon!


Top Top
Profile      
 

    Amy
  Wed Nov 02, 2011 11:47 pm
User avatar
Staff

Big Dumb Guy
Oh that's great, thanks.


Top Top
Profile      
 

    ForeverZer0
  Thu Nov 03, 2011 12:52 am
ARC Developer
User avatar
Sponsor


Location: United tates
None of the above listed "scripts" are actually scripts. They are all C classes, which are interfaced with Ruby, meaning they allow Ruby to make calls that actually fire C code, not Ruby code. Ruby alone really isn't powerful enough, or in close enough contact with the OS to run a game, therefore this is how it needs to be done. Sure, you could use about 5000 Win32API calls to different graphic rendering libraries and audio drivers, but Ruby cannot do these things on its own with the type of efficiency that is required.

_________________
Use DropBox to upload your files. Much simpler than other upload sites, you can simply place a folder on your desktop that will sync with your DropBox account. ;)

Looking for a more powerful RMXP? Check out Image

My complete script list on Pastebin


Top Top
Profile      
 

    Yeyinde
  Thu Nov 03, 2011 3:20 am
Rubber Shark
User avatar
Sponsor


Location: Beautiful British Columbia
I made a Gosu equivalent to the Input module a while ago. It's mostly self-contained, with two methods that just have to be called from the main Gosu Window instance.

Input module:
Expand to see the code.


Gosu Window implementation:
Expand to see the code.

_________________
Squeak!


Top Top
Profile      
 

    e
  Thu Nov 03, 2011 11:41 pm
shittybutt
User avatar



Location: Berlin
It's slightly different than that. As mentioned above, all these classes are written in C and compiled into the DLL with their respective Ruby interfaces, usually for performance reasons (notably the graphics stuff). You could do the equivalent with Gosu, since it's a C++ lib with a Ruby interface; if well programmed, it would probably be faster, to be honest.


Top Top
Profile      
 

    Zeriab
  Sat Nov 05, 2011 3:30 pm
Hugging Lion
User avatar
Sponsor

The RPG::* modules and classes does seem to be only written in RGSS. You can see their code in the help file, yes their functional code, not just the signature. (There is at least one error, so be careful about using it)
I think that the classes and modules who don't have their code shown in the help file are written in C with the only Ruby code being a simple wrapper. I don't actually know this, I'm just guessing.

*hugs*

_________________
Image
Image
Image
Image
Image


Top Top
Profile      
 

    Kingdom Ablaze
  Sat Nov 05, 2011 3:46 pm
Smile, you never know when you are on camera!
User avatar



Location: Usa
I agree with zeriab, ive always heard that. I have rewritten RPG::Cache recently and had no isssues what so ever. granted i was doing simple stuff like:

Expand to see the code.

_________________
Image
Kingdom Ablaze Twitter: https://twitter.com/KingdomAblaze
Kingdom Ablaze Deviant Art: http://kingdomablaze.deviantart.com/
Kingdom Ablaze: Facebook: https://www.facebook.com/KingdomAblazeTradingCardGame


Top Top
Profile      
 

    e
  Sat Nov 05, 2011 8:08 pm
shittybutt
User avatar



Location: Berlin
Caching is actually easy; all it does is grab and keep a reference to a unique location in memory where the resource is stored, so that it will never be garbage collected (i.e. as long as there exists a reference to an object, it will not be purged). That's not very intensive in terms of CPU cycles. The Bitmap and Graphics portion are definitely, and perhaps even others I can't remember (i.e. accurate, high quality audio might be one of these)


Top Top
Profile      
 

    Kingdom Ablaze
  Sat Nov 05, 2011 8:15 pm
Smile, you never know when you are on camera!
User avatar



Location: Usa
i use a custom file format instead of bitmap, thats why i had to change the cache

_________________
Image
Kingdom Ablaze Twitter: https://twitter.com/KingdomAblaze
Kingdom Ablaze Deviant Art: http://kingdomablaze.deviantart.com/
Kingdom Ablaze: Facebook: https://www.facebook.com/KingdomAblazeTradingCardGame


Top Top
Profile      
 

    Dahrkael
  Sat Nov 05, 2011 9:31 pm
VOC@LOID #01
User avatar
Member


Location: SPain :D
you have the cache module in the help file
Expand to see the code.


Everything in the RPG:: module is pure ruby, the rest (Helpfile->Built-in Classes) is hardcoded in C.

_________________
You prefer 2D
Content Hidden

or 3D?
Content Hidden


Top Top
Profile      
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 13 posts ] 


Who is online

Users browsing this forum: No users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

We are an independent, not-for-profit game making community.
Homepage
Board Index
About Us
Downloadable Games
Free Browser Games
Games in Development
RPG Maker Support
Game Maker Support
Construct 2 Support
HBGames the eZine
Advanced RPG Maker
Site Announcements
Powered by phpBB © phpBB Group