Talk:Plan for plotscripting plugins
The Mad Cacti: Incidently, I've been wondering about (hamsterspeak) scripted plugins for Custom lately, mostly just to complement my idea for data layers and other wonderfulness for the map editor. Also, it would be great if the engine was flexible enough that we/someone could maintain a standard script library for creating say, isometric adventure games where map objects obey simple physics and everything (liftable) can be picked up (and thrown off cliffs), such that using it would not be much harder than the builtin RPG system.
But this is about you, not me! I demand details!
Bob the Hamster: Hamsterspeak plugins for custom? I'm afraid I don't understand. Why would anyone in their right mind want to implement something in hamsterspeak when it could just as well be implemented in freebasic? Maybe I am missing the point?
Mike C.: Huh? TMC, you missed the mark completely. This is about plugins for Game, compiled DLLs/SOs that add new plotscripting commands. Let me write up the article, as I was too tired to do so last night.
Bob the Hamster: So if I understand correctly, the goal of this would be to provide a way to functionality coded in some other language without modifying the OHRRPGCE's sources? Is this just a way of getting network access code into the OHR without actually putting network access code into the OHR? :)
Mike C.: Actually, I wasn't thinking about that. Although, that would be awesome.
Bob the Hamster: I dunno. it feels like it is getting pretty far away from the original purpose of the OHR.
Mike C.: Wasn't the original purpose of the OHR to make a bit of money by selling it as shareware? ;)
The way I see it, this is a means to extend the OHR beyond it's default capabilities without having to go through the trouble of hacking the source itself. I don't see anything particularly wrong with that.
Bob the Hamster: Shareware was just the way things were done in 1997 :) The original purpose of the OHR was to have a tool for making RPG games without any need for programming. Obviously plotscripting takes us pretty far away from that already. I am not against extending the capabilities, but a plugin system like this means that the OHR would become a base for bundling natively compiled code in other languages and if you are doing that, why the heck would you need the OHR? Also, it means that RPG files could no longer be expected to remain cross-platform compatible, nor could they be considered to be "sandboxed"
The Mad Cacti: (I was suggesting something like a game editor-player, since there already are some games that let you edit a map in-game. Besides, hamsterspeak is forward compatible with future versions, source edits aren't (as I've encountered several times). But anyway it was a pretty whimsical thought)
And, yeah, I've also been thinking about ways to get out-of-scope features into the OHR without introducing blasphemous code :)
I think it would be better if (at least some) "whole new battle engines" were (battle-) scriptable or built into the OHR. Perhaps movies could also go into the OHR - after all, I've seen comments James made ~8 years ago about them being planned!
By the way, it's possible to do better than a C style API. You can use FB's native strings, arrays, types and classes from other languages - though I'm not sure if you could access them from a dynamic library (no?)
Also, providing a screen pointer has lots of potential problems: screen page, screen size, bit depth, palette, frame interpolation, and even more potential future features.