missing core functionality within CSC

Requests for new Custom Stories or discussion of your new Custom Story ideas.
Forum rules
Please follow all Eek! Forum rules.
Post Reply
Device666
Posts: 15
Joined: Wed Sep 12, 2018 5:30 am
Contact:

missing core functionality within CSC

Seriously needed making story scripts:
1. Nestable "Or" and "And" gates (especially handy when used in conjunction within "conditions" section)
2. "Multiply" and "Divide" options on values
3. For loop (now it can be done by running some trigger function at a frequency and start/stop it with a flag (variable))
4. Ability to create functions with custom local parameters
5. Read X coordinates of characters, movetargets, items
6. Read Y coordinates of characters, movetargets, items
7. Read Z coordinates of characters, movetargets, items

Fast calculations
* Read 2D Distance between characters and characters, items and movetargets
* Read 3D Distance between characters and characters, items and movetargets
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: missing core functionality within CTC

+1

I would also add ability to have parametes for the events/functions.

Think of possibily:

1) A single intimacy script that can work for all girls
2) Girl's name is parameter, so you can reuse intimacy, clothing, walking and pose commands.
3) For any girl specific handling have criteria that check for girl name and apply custom changes
Device666
Posts: 15
Joined: Wed Sep 12, 2018 5:30 am
Contact:

Re: missing core functionality within CTC

Yeah it would enable me to add functionality not yet implemented. Anyways, why not implementing an existing simple scripting engine. There are many small games that implement LUA not just for gui logic, in fact I know quite a few unity games that have implemented LUA. Ofcourse you may be aware that some novices will be daunted by it, but at one point users want to do more interesting stuff but hit limits of the current way so very soon. It's quite a deserving experience to be able to add yet unimplented functionality and to share some of eachothers scripts to reuse; to test experimental ideas which even may very well inspire the game developers to later add to the internal game code.
eekdon
Posts: 1546
Joined: Tue Feb 13, 2018 4:29 pm

Re: missing core functionality within CSC

#1 We are committed to and have already started planning for.

The rest we aren't so sure about implementing, at least not in the immediate future. Anything involving Vector3/coordinates is going to open up additional cans of worms, as using them right now can cause issues ranging from immediately and permanently broken pathing to extreme incidents of clipping to seemingly inexplicable cases where an intended behavior simply doesn't appear to execute (usually combining pathing, distance checks, and other internal functions that the CSC won't have access to or control over). I mean, I get it though. You can create some pretty enticing character positioning and eh...narrative scenery when combining warpto X Y Z, poses, and the more advanced console commands. Manipulating values and simplifying loops is probably more doable. Custom functions is highly debatable, although as someone who programs, it isn't like I don't see the appeal. We DO have plans to allow for execution of console commands from within the CSC so that may be a nice interim solution that will give some extra power to those that need it, albeit somewhat different from what you've requested.

So to shorten the above (and anything else I'd reply with) up, most of the concern is simply based upon the fact that right now we could not implement the majority of these and expect them to work in a way that would be satisfying, and putting them in place with usability and reliability in mind is, as with everything else, another scope adder on the dev timeline. We aren't exactly in a scope-creep-friendly mode at the moment. Eventually, maybe. I'd like to see an "easy" or "intermediate" mode for the CSC, and a section with some advanced options for "power users". It just may take a fair amount of time before we get there :|
Image
Device666
Posts: 15
Joined: Wed Sep 12, 2018 5:30 am
Contact:

Re: missing core functionality within CSC

Thanks for the explanantion erasmus. As someone who also programs (besides being a User Experience Designer for professions) I understand what you mean with not being scope creep friendly right now. This is perfectly understandable. What I probably will do is creating a webbased story editior which geneerates storyscripts. That way I can have my own scripting language, generating scripts for housparty. For example I can have a function with variablesin my own webbased editor

function multiiply (bar1, bar2){
//some code
}
var foo3 = foo(2,3)

which generates a storyscript where:

eventrigger is named _function_786342765_multiply
variable _localvar_786342765_bar1
variable _localvar_786342765_bar2
variable _globalvar_foo3


Right now I have some basic custom story template which i am "developing"with all kinds of functionality. I just started with implementing room detetction. Right now it's very simple . A loop at timed interval which updates variable Player:CurrentRoom which whenever I reach some coordinate will store the current rom. Howeverit also detects Stairs. With stairs you see It's a little more complex as I not just check some coordinate, but compare distances of several coordinates. I created some events. It's only for the player roght now. I am still improving it. And i have to add outside places as well, and events for onPlayerEnterOutside, onPlayerEnterInside, onPlayerEnterUpstairs, onPlayerEnterDownstairs. Once that script is finished for Player I can do regexp replace for other characters and that functionality is then finished. Check for yourself on my github https://github.com/Device666/CST

Because I am lazy this is also why i am creating a webbased editor with some other scripting language (php) generating customstory files...Then I can make classes for each character + player in php. I can have functionality within the editor that copy paste some script from one to the otheror partially. Then i can provide my own implementations of basic functionality like multiply, divide, etc. So i can have multiply in php, and have that php function generate some houseparty script that multiplies.

I can generate with php a lot of variables in the houseparty script. So if i treat these generated variables like a register, and loops with locking, then I can start implementimg higher abstractions and implement things like multiply, returning functions, etc from there. This way I dont have to wait on some functionality for you guys to implement while at the same time making it more easier to manage large story scripts. Is that ok with you guys?
Last edited by Device666 on Tue Oct 02, 2018 2:52 pm, edited 2 times in total.
eekdon
Posts: 1546
Joined: Tue Feb 13, 2018 4:29 pm

Re: missing core functionality within CSC

Yeah this is fine, you're essentially working within the bounds of what we provide publicly anyway from what it sounds like. Just let us know when you think it's a good time for us to take a closer look. Depending on the direction this goes (and it sounds like a very good one) we could also discuss seeing how, if at all, we can get your efforts and our tools to play nice together, extend upon one or the other, or otherwise integrate in general if such a thing is of interest to you as well. Thanks!!
Image
Device666
Posts: 15
Joined: Wed Sep 12, 2018 5:30 am
Contact:

Re: missing core functionality within CSC

erasmus wrote: Mon Oct 01, 2018 11:19 am Yeah this is fine, you're essentially working within the bounds of what we provide publicly anyway from what it sounds like.
Yes just plain usage of the fileformat, no deobfuscating bytecode decompiling or other reverse engineering tricks. Just story script generation for private use behind the security of authentication. Not even remotely competing with CSC or adding something bad to the community experience.
erasmus wrote: Mon Oct 01, 2018 11:19 am Just let us know when you think it's a good time for us to take a closer look.
No probs, then you will be the only second user to login :-) It's in a too crude shape now, just something like a part of a draft on my local webserver. I will present it when it is presentable :-)
erasmus wrote: Mon Oct 01, 2018 11:19 am Depending on the direction this goes (and it sounds like a very good one) we could also discuss seeing how, if at all, we can get your efforts and our tools to play nice together, extend upon one or the other, or otherwise integrate in general if such a thing is of interest to you as well. Thanks!!
I live at The Netherlands, but ofcourse cooperation sounds like a good plan. But first I will show you some of my ideas and code. In worst case we have wasted some of our time, best case we enjoy creating something cool in synergy
Last edited by Device666 on Tue Oct 02, 2018 3:00 pm, edited 5 times in total.
peter980
Posts: 1601
Joined: Thu Feb 15, 2018 1:50 am

Re: missing core functionality within CSC

The only issue I see in tool like this is that generation goes in one way.

You can't use character/story json files as import.

I mean, you could but it would unoptimized script in original form.
Device666
Posts: 15
Joined: Wed Sep 12, 2018 5:30 am
Contact:

Re: missing core functionality within CSC

yes optimized import is possible, but only with scripts generated by this tool. But anyways it is only private use for just me alone (dont want to compete with CSC), but the generated story i can share just like everyone else can share their custtom story on this site. The only real issue is coding against a possibly constant cnanging format (for example we had more json files, now if i am correctly the new version of houseparty only uses one json file for story. Or when new things are added) i wait updating my installed game for as long as the new csc comes out. For now I want to be able to generate csc scritpts and check them against my own generated scripts. Having a smart flexible generator and using a scheme/ a kind of documenttype definition for parsing and generation could make it a bit less painful. See it like a textbased macro like file generation tool, that uses insertion points in such a structured way that it creates script that can be imported optimized. However the file generated is ofcourse not neccessary optimized for the game, but that is obvious. But the latter wont be a big issue probably anyways, unless the story becomes so large (but that kind of story you wouldnt want to do by hand anyways)
Post Reply