Balrogic

Veteran
Veteran
Joined
Dec 19, 2014
Messages
40
Reaction score
17
First Language
English
Primarily Uses
I've submitted my solution over at HimeWorks. Really enjoyed that challenge, I hope it isn't long until the next one. Mine is 100% scripting, the only event conditions I used were script calls and a handful of ordinary transfer events that use a self-switch to prevent multiple registration of the same teleport destination.

The script ought to be fairly self-explanatory if anyone's interested.

http://pastebin.com/AzwyVmC1
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,860
First Language
English
I've submitted my solution over at HimeWorks. Really enjoyed that challenge, I hope it isn't long until the next one. Mine is 100% scripting, the only event conditions I used were script calls and a handful of ordinary transfer events that use a self-switch to prevent multiple registration of the same teleport destination.


The script ought to be fairly self-explanatory if anyone's interested.


http://pastebin.com/AzwyVmC1
I tried the demo and it's pretty smooth. Even has transfer effects.


I was curious to see how someone would approach the choice selection using pure scripting, since I'm mainly focused on how to do as much as possible using events.


A good point is the fact that it piggybacks on existing functionality, so if someone's customized how their choice window looks, they don't have to worry too much about consistency (as opposed to providing your own choice window, which may need to be modified)


Looking at the teleport method, it also shows something else: any event can be written as a script. Because, well, that's how events work.


This also suggests that you could potentially make a more efficient interpreter by first pre-processing the event commands into the equivalent ruby script, and then when an event is executed, run the proc. Rather than using an interpreter to interpret another language, just use the ruby interpreter directly.
 

Balrogic

Veteran
Veteran
Joined
Dec 19, 2014
Messages
40
Reaction score
17
First Language
English
Primarily Uses
That's not even the best part... I think if I do a little (okay, probably a lot at my level of experience) research I can fully automate the process. Automate the case generation, automate the method generation, automate the destination lists, set up an approach for handling really big lists by selections of range values and ultimately craft something that runs off a couple script calls with zero manual configuration. All the user would have to do is insert script calls to tag any area they want to add to the teleportation matrix. By entry or by just running a script call in an event to set that specific location as a drop-off point.

I almost gave up partway through making that demo. I hit a roadblock I didn't know how to get around. Started thinking of coding a framework to dynamically inject new items into RPG::EventCommand lists by event and map and the thought was so depressing that I kept trying to go back to the original approach before I even started with the "real solution" to it.
 

Ralpf

Veteran
Veteran
Joined
Jun 5, 2014
Messages
590
Reaction score
153
First Language
English
That's not even the best part... I think if I do a little (okay, probably a lot at my level of experience) research I can fully automate the process. Automate the case generation, automate the method generation, automate the destination lists, set up an approach for handling really big lists by selections of range values and ultimately craft something that runs off a couple script calls with zero manual configuration. All the user would have to do is insert script calls to tag any area they want to add to the teleportation matrix. By entry or by just running a script call in an event to set that specific location as a drop-off point.

I almost gave up partway through making that demo. I hit a roadblock I didn't know how to get around. Started thinking of coding a framework to dynamically inject new items into RPG::EventCommand lists by event and map and the thought was so depressing that I kept trying to go back to the original approach before I even started with the "real solution" to it.
I feel you, felt the same way eventing a farming system, I had something that worked but I didn't want to have to deal with the myriad of switches and variables involved (It was something on the order of 1000-1500 switches and variables). Took forever until I managed to subvert my original approach, managed it with 50 variables and 100 switches, and only 1 parallel processes instead of 46-ish.

@everyone In scripting or eventing (really, anything) if you hit a problem that you can't solve, maybe you are approaching it from the wrong direction to begin with, the simplest solution may be alluding you because it wasn't your first thought. I don't really know a way around that (I feel it's simply human nature, much like even the best writers need a proof-reader, it's hard to find flaws in your own work), but maybe try to look at something else similar you or someone else has done, or move on and try to do something else, anything to get your mind off that track.

Also, I need to learn Ruby, I'm far from an expert but I have experience with Java and C# so I think I have a little bit of a leg up over a complete novice. Some of these systems are simply better to script, even if they can be evented (Not that knowing how to event them isn't worth while).
 
Last edited by a moderator:

Balrogic

Veteran
Veteran
Joined
Dec 19, 2014
Messages
40
Reaction score
17
First Language
English
Primarily Uses
I feel you, felt the same way eventing a farming system, I had something that worked but I didn't want to have to deal with the myriad of switches and variables involved (It was something on the order of 1000-1500 switches and variables). Took forever until I managed to subvert my original approach, managed it with 50 variables and 100 switches, and only 1 parallel processes instead of 46-ish.

@everyone In scripting or eventing (really, anything) if you hit a problem that you can't solve, maybe you are approaching it from the wrong direction to begin with, the simplest solution may be alluding you because it wasn't your first thought. I don't really know a way around that (I feel it's simply human nature, much like even the best writers need a proof-reader, it's hard to find flaws in your own work), but maybe try to look at something else similar you or someone else has done, or move on and try to do something else, anything to get your mind off that track.

Also, I need to learn Ruby, I'm far from an expert but I have experience with Java and C# so I think I have a little bit of a leg up over a complete novice. Some of these systems are simply better to script, even if they can be evented (Not that knowing how to event them isn't worth while).
So, hit up Code Academy or a few other tutorial resources. You should definitely pay attention to the Ruby style guide as it never hurts to use accepted best practices for a language. I certainly won't be shy about learning new language specific style when I eventually add C++, Python or Java to my list of languages. I didn't even start Ruby until the end of August this year and it's my first programming language. Before that I only had experience making simple game modifications and the occasional memory state based hack on single player games though I did pull off some really outlandish stuff. If I play your game and want to dual-wield radishes and wear a garbage can helmet there's no stopping me. Okay, well, some stopping me. Very rarely people will include obtuse anti-tampering mechanisms that constantly reassign the location of memory addresses as their game runs. I start losing interest if I need to disassemble a program just to do one or two really stupid things I can do through normal gameplay as-is.
 

Tsukihime

Veteran
Veteran
Joined
Jun 30, 2012
Messages
8,564
Reaction score
3,860
First Language
English
A couple of the demos that were created were really impressive. It was like playing a game by itself.


I'm thinking of what can be done to share them. Maybe they can be officially hosted as "demos" to show how certain things can be accomplished.
 
Last edited by a moderator:

Latest Threads

Latest Profile Posts

Tarzanthecat wrote on hiddenone's profile.
THANK YOU SO MUCH HIDDENONE ADSKFSJDFSKDF
Another unscheduled stream for Lightestone~ this time because we hit affiliate! Aaaahh- So other than the game we're also going to work on emotes/badges/etc!

www.twitch.tv/riazey
Is it necroposting if I ask for more info in my own months old thread? All the information in the thread is relevant
JRPG TextBox HTML - Part 2:

Forum statistics

Threads
108,972
Messages
1,040,947
Members
141,428
Latest member
Lark_Larkington
Top