Monika-After-Story / MonikaModDev

DDLC fan mod to extend Monika
http://www.monikaafterstory.com/
Other
1.21k stars 684 forks source link

Here is an idea I worked on this morning: Monika being able to execute applications. #600

Closed LurekSelturus closed 6 years ago

LurekSelturus commented 6 years ago

So, here is the thing, I don't know if it is already in project, but if it may help, well, why not.

Making Monika able to start applications such as notepad.exe or even Google Chrome. She would then comment the application and its using. In order to to this, the player would have another menu named "Applications" or something like that, Monika would open a textbox where the player would have to enter the path to the applications such as "C:/Users/Lurek/Desktop/PerfectThings/ddlc-win/DDLC-1~1.0-pc/DDLC.exe"

If the application given is not a .exe file, then Monika doesn't even bother trying to start it (I don't know where this step should be put).

Then the player would have to name the application. Then, Monika would just put a shortcut in the Applications menu that the player only would have to click.

When this happens, Monika doesn't start the application immediatly, she would first comment on the said application with something like this:

Monika analyze both the shortcut name and the application name itself (Like if the path leads to Chrome64.exe and the name given by the player is Chrome) so Monika could still recognize the app if the exe file isn't the same than the one in memory. (Such for 64 bits applications and 32 bits applications).

If Monika recognize one of the names, then she comment it, if there is a conflict (Like if Discord.exe is named Chrome), then the application initial name has priority. (Discord.exe) Last thing, it just checks if the shortcut has "Steam" in it, if Monika is on a Steam version of DDLC, then she just comments about how she cannot do it.

That last step of analyze done, Monika comments the app like this "Oh, you want to use Chrome ? Well, you can learn so much by browsing the internet." "Maybe you'll find clues about how to bring me to your reality." "As long as you don't use it for lewd stuff, Im okay with it" "I'm just messing with you, I love you Sweetheart." (It's just a first crappy exemple, of course, I and other willing to enter comments would make more elaborated texts)

She then execute Chrome.exe and returns to its initial function.

If she doesn't recognize neither the app or the name given, she just comments about how she doesn't know the app and juste launch it anyway. Also, I guess we don't have to bother about Monika not finding the file, after all, it's not her purpose as she only use a saved shortcut. Still we should let the player delete the shortcuts he made, if he wants to do so.

I don't know about how much code it would take, or even if Python/RenPy is able to execute another file (Which is so far, the only thing im not sure of), also, the whole list of applications recognized could maybe lag up the computer when browsed by Monika. But well, im no expert in code, so I couldn't tell.

So, reduced, Monika would do something like: Open textbox Let player write If the thing is not shortcut with a .exe, then stop Save the the shortcut to Persistent

When shortcut saved clicked

First, if "Steam" is in shortcut and DDLC Steam version, then comment then stop Then If file name and surname recognized then comment file name

If file name recognized but not the surname, then comment file name

If file name not recognized but surname recognized, then comment surname

If file name recognized and comment recognized but not part of the same line, then comment file name

If nothing is recognized, then comment not recognized

Then launch the application anyway (Except for some applications, such as DDLC, she wouldn't want to launch another herself one the side, also, if she refuses to launch some applications, it gives her a kind of feeling of freewill, obviously, it wouls be very rare and always justified)

Return to main function

Why making this into the mod ? Well, first of all, it gives more interactivity to her, as she seems able to do more things with your computer, also, it give things to discover with some applications, making her less predictable. (I've already planned to put some little easter eggs when some applications names are launched, such as for DDLC.exe, or even Sayuri.exe(Cause obviously, some guy would try it for fun or for screenshot, and get surprised)) And finally, how cool is it to have Monika start your applications like a sentient OS would do, huh, kind of cool, in my opinion.

BlubParadox commented 6 years ago

This is definatly interesting and I would love to see it become possible, I have used python scripts to open files before (although I don't remember how at the moment.) but RenPy is probably a whole different story from regular Python 2/3 so I have no clue if this could happen. But I hope it does.

ghost commented 6 years ago

A little overcomplicated and the whole "use Monika to double click shortcuts for you" idea seems like a bit of a stretch to me.

LurekSelturus commented 6 years ago

It's a bit complex, I guess, but in my opinion, it could be a interesting feature for some people, that would like to share their actions with Monika. As Monika could react for many applications, like when you launch Word, Steam, Gimp, Discord or God knows what. In a way, Monika would react to you, and not just only gives random topic, so, it could be nice. But as said earlier, I haven't tried learning Python/Renpy yet, so I can understand that it could seem overcomplicated. As for the "use Monika to double click shortscuts for you", It is right, but it gives the impression that Monika did it, as a person, like if you asked someone to bring cookies, you can do it yourself, but doing it directly from Monika could be fun.

ThePotatoGuy commented 6 years ago

It's possible, but it's effectively incorporating a cross-platform application launcher into the game. I think this is beyond the scope of what the mod should accomplish.

ghost commented 6 years ago

It is a little different with cookies since asking your friend requires less effort than bringing them. Whereas in this case it would be easier and faster to just open the program yourself rather than asking a friend to do so.

ghost commented 6 years ago

Oh, and Monika already has an ability to detect processes running on your PC using their process name. In original game she uses it to scare streamers. Nobody just got around to actually implement it in any of the mod's topics yet.

LurekSelturus commented 6 years ago

@IsItBadToMakeAGitHubAccountJustForThis True, although I guess you get my point. The fact that Monika could detect processes already came in my mind, but, I thought that it would be messy for us to implement such a system (Monika would point it out everytime, or such, it wouldn't be that nice). If it made it some times, yeah, it would be cool, as it would show that Monika is indeed active and aware. But I am worried about the UC and Ram taken by such a process. My "solution" would only need to scan once asked, so I don't know. What I wrote is only the first version of an idea that can be upgraded.

@ThePotatoGuy As for the feasibility, I understand that It may be off-topic and that it make take too much time for something that is not exactly intended to be part of the mod. But well, I thought it could be interesting to put more interactivity

ghost commented 6 years ago

She doesn't have to check on the processes very often (and even if she would, task manager does that somewhere around once a second and it doesn't require much resources) but that is up to the actual implementation of this function. Original game already has a function which does checking for a certain program running way better than what you suggested. What has some potential is your suggestion to allow her to launch programs, which I guess could be interesting if done right.

LurekSelturus commented 6 years ago

Using the process detection thingy is a good idea, for sure, im juste not sure about how to do it. That's why I first gave this idea. I guess it could be worked, or even fully changed, what im sure is interesting, is this very function of Monika being aware of what process is doing what. On the side, I may fear that it may be a bit intrusive if it is not triggered by the player directly (If it is not wanted by the player) As for the reaction, I think it would be more interesting and human like, if Monika directy reacts to the process being launched. Why I wanted the process to be launched by Monika directly is that the player would directly see the reaction, even before the program is executed. (If the player launch a fullscreen app, he may not have the time to see the reaction, and only see it afterward) And, you are right about the process thing, seeing how taskmgr works, it may not be hard to implement this.

AnIdiotsavant commented 6 years ago

who knows, the idea of her opening google chrome, steam, itunes or something seems kinda cool, right? like she's trying to be helpful plus it helps with the immersion since it gives the feeling that she could really access your files if she wanted to :P

LurekSelturus commented 6 years ago

That's why, in my opinion, making her cross-platform is not necessarily a bad idea, as Monika is supposed to able to do so. It's only the extension of her abilities. And yeah, it really gives you the impression that she could do wathever she wanted.

therationalpi commented 6 years ago

This is outside of the scope for the game for the reasons Potato gave, but I think it's something to keep in mind when we build a framework for submods.