What would be cool options for a modern webtease editor?

All about the past, current and future webteases and the art of webteasing in general.
---
Post Reply
Martin1990
Explorer
Explorer
Posts: 27
Joined: Tue Dec 26, 2017 7:33 pm

What would be cool options for a modern webtease editor?

Post by Martin1990 »

Hello,

Since all interactive webteases on Milovana require Flash and since Flash has been deprecated, a new webtease player should be developed at some point.
I try to collect (cool) ideas for potential features for a new webtease player (and editor). Please post below if you can think of any interesting feature.

My ideas so far are:
  • In the moment it is difficult to add a metronome to a tease. In the future there could be a feature integrated in the editor to add a metronome
  • In the moment there is no practical way to implement a webtease 'with memory'. For example, it would be useful if the webtease could count the number of points earned during the tease. Therefore, a helpful option are variables which can the author may want to use.
  • There could be options for users with an account: For example a webtease could have a forced break of several hours or days
  • ...
User avatar
Shattered
Experimentor
Experimentor
Posts: 1238
Joined: Fri Jan 11, 2013 6:41 pm
I am a: Switch
Location: United Kingdom

Re: What would be cool options for a modern webtease editor?

Post by Shattered »

All I want are variables. Would save literal hundreds of pages in multiple of my teases :lol:
jsf
Curious Newbie
Curious Newbie
Posts: 2
Joined: Sat Feb 17, 2018 5:31 pm

Re: What would be cool options for a modern webtease editor?

Post by jsf »

things i would like to see in a new tease editor/format:
  • open file format for teases.
    • everyone one can can download teases and play them offline.
    • exchanging and creating teases may become easier
    • allows for 3rd party editors, so everyone can build editors to their liking, but still make them available to everyone on milovana
    • also creating generators for new lottery/labyrinth/snake&ladder/... teases become more comfortable
  • extensible format. so we can add new or experimental features later
    • so we hopefully won't get stuck again with a very limited set of features
  • in addition to variables: some form of persistent memory across multiple sessions or even some global state(accessible to all teases)
    • this might make replaying or returning to teases more interesting
    • a tease might save the last time you visited, how often you played the tease, what other teases you have played, etc.
    • a tease might save if you've been bad and another tease may throw in some extra punishment.. (the awesome tease creators will probably figure out how to make use of something like this)
polkadotwolf
Explorer At Heart
Explorer At Heart
Posts: 111
Joined: Wed Mar 15, 2017 7:16 pm

Re: What would be cool options for a modern webtease editor?

Post by polkadotwolf »

Instead of an editor, if web teases were written using just HTML and JavaScript (or a language that compiles to JavaScript e.g. Kotlin which I highly recommend), we could have:

- support for animated GIFS and video
- background audio i.e. audio that carries across scenes e.g. music/metronome for a slideshow segment
- embedded content from other sites e.g. youtube
- 'effects' e.g. image zooming, hypnosis spiral with partial transparency
- links to content outside the system e.g. a video posted on pornhub, etc.
- variables
- interactivity (the ability to send text/pictures etc to 'game mistress/master')
- 'memory' of where one left off or previous behavior across sessions i.e. awareness of how much time has passed
- outside the finite state box mini-games e.g. writing tasks, interactive puzzle
- portability and possibility to run offline (except for 'memory' aspect, most browsers can view files locally the same as from a webserver
- the ability to have some sort of extension/plugin mechanism to allow the system to grow with community contributions e.g. metronome, beat counter, countdown bars
- safety and security to run anonymous code (browsers are very well sandboxed)

It sounds daunting for content creators, but copy/pasting an example story and then altering would probably be a lot easier than many imagine. Sexscripts is an example framework that does this (API and examples) and even though content creation is technically 'programming', it is fairly easy to follow/copy-paste examples and change them. Sexscripts does not have the advantage of being sandboxed though, which would be a major advantage of HTML/JavaScript

Rather than an editor, probably what is needed in the beginning is an API and an example story people can copy/paste and build off of and a place (like milovana) to host the files or some other way to distribute them.

I image over time the system would evolve and once more mature a user friendly editor could be created to allow simple stories to be created with restrictions i.e. like Nyx, but with the ability to add GIFs and video for example.

My 2 cents anyways.
kerkersklave
Explorer At Heart
Explorer At Heart
Posts: 549
Joined: Sun Jul 06, 2014 2:11 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Slave

Re: What would be cool options for a modern webtease editor?

Post by kerkersklave »

I've recently implemented an HTML5 based viewer for the flashteases, and in doing so, I thought a bit about how I would desing a new flash tease format. These are my points:
  • HTML5 and Javascript are not suitable. They might change in the future and are hard to implement. Also they are hard to embed into a website safely if they come from users and they can be hard to convert to other formats.
  • A complicated editor is not needed or usefull. If you look and grafical programming editors, they are very complicated to build, and they are not really easy to use.
  • The format schould be easy to parse, not a hell of cornercases like the current format.
  • There needs to be some kind to deal with state (flags, numbers, ...)
  • There needs to be some kind of ways to build components that can be reused
What I came up with, was something like a simple script language, looking something like that:

Code: Select all

proc main() {
  yield SimplePage(text = "Do you want to edge 5 times?", img = "foo.png", buttons = List(
    Button(text = "Yes!") 
  ))
  yield StrokeSound(pattern = List(0.0, 0.5, 1.0, 2.0), repeat = Infinity)
  yield Timeout(120)
  await {
    on Button(...):
      edge(5)
      yield SimplePage(text = "You're done.", img = "foo.png")
    on Timeout(...):
      yield SimplePage(text = "You were too slow.", img = "foo.png")  
  }
  yield StrokingSound(repeat=0)
}

proc edge(count) {
  if(count > 0) {
    yield SimplePage(text = "Edge Now", img = "foo.png", buttons = List(
      Button(text = "Done!", action = {
        edge(count - 1)
      })
    ))
  }
}
Basically, it is a program that is yielding actions like "setting a page", "setting a stroking sound" and so on. And it can wait on actions with an await block. There are no global variables, but parameters that can be passed to procedures. There is a syntax to instanciate complex data structures, but no way to declare or implement them. There functionality is provided directly by the viewer. They can be decomposed using pattern matching.
There would not be a type system. I like type systems, but they take a lot of work to implement and are too complicated for the target audience. Styling of pages would be restricted to predifined layouts, no embedded html etc. This could be extended as needed but should be kept simple. Keeping it simple allows teases to be easily shown using different viewers on different devices.

This language would allow quite some advanced stuff, but a simple tease would still look simple. (Every page is one proc, yielding a few acions with on await block.)
polkadotwolf
Explorer At Heart
Explorer At Heart
Posts: 111
Joined: Wed Mar 15, 2017 7:16 pm

Re: What would be cool options for a modern webtease editor?

Post by polkadotwolf »

Why do you say HTML5/JavaScript are not suitable? I played around with creating a quick example and it seemed pretty simple. I wrote it in Kotlin and compiled to JavaScript. A 'story' basically looks like this:

Code: Select all

class SimpleStory(val api: IFSAPI) {
	fun start() {
		api.loadImage("img/start.gif",
				{ api.showImage(it) })
		api.showText("Intro Text")
		api.showOptions(arrayOf("option A", "option B"),
				{ x ->
					api.clearOptions()
					when (x) {
						1 -> A()
						2 -> B()
					}
				})
	}

	fun A() {
		api.loadImage("img/a.jpg",
				{ api.showImage(it) })
		api.showText(
				"""
			<p>show html text for A</p>
			"""
		)
		api.showOptions(arrayOf("option B", "End"),
				{ x ->
					api.clearOptions()
					when (x) {
						1 -> B()
						2 -> End()
					}
				})
	}

	fun B() {
		api.showText(
				"""
					<p>show html for B</p>
			"""
		)
		// ask for number
		api.showTextField("Enter a number", { str ->
			try {
				val num = str.toDouble()
				api.clearOptions()
				when {
					num < 4 -> B()
					else -> End()
				}
			} catch (e: Exception) {
				api.showText("Enter a number only. No text")
			}
		})
	}

	fun End() {
		api.showText(
				"""
			<p>The End</p>
			"""
		)
	}
}
The API interface looks like this so far:

Code: Select all

interface IFSAPI {
	fun loadImage(path: String, handler: (img: HTMLImageElement) -> Unit)
	fun loadVideo(path: String, handler: (vid: HTMLVideoElement) -> Unit)
	fun loadAudio(path: String, handler: (aud: HTMLAudioElement) -> Unit)
	fun createCanvas(): HTMLCanvasElement
	fun showImage(img: HTMLImageElement)
	fun showVideo(vid: HTMLVideoElement)
	fun showText(text: String)
	fun showCanvas(canvas: HTMLCanvasElement)
	fun overlayCanvas(canvas: HTMLCanvasElement)
	fun showOptions(options: Array<String>, handler: (choice: Int) -> Unit)
	fun clearOptions()
	fun startTimer(seconds: Int, visible: Boolean, handler: () -> Unit): Int
	fun showTextField(prompt: String, handler: (str: String) -> Unit)
	operator fun get(key: String): String?
	operator fun set(key: String, value: String)
	fun remove(key: String)
	val keys: List<String?>
}
To set it up and run it looks like this:

Code: Select all

fun main(args: Array<String>) {
	val visual = document.getElementById("visual") as HTMLElement
	val text = document.getElementById("text") as HTMLElement
	val options = document.getElementById("options") as HTMLElement
	val api = SimpleIFS(visual, text, options)
	val story = SimpleStory(api)
	story.start()
}
This was only the first attempt, but I think it's already simple enough to be usable by many and likely could be made much simpler after a bit of experience

Perhaps you are thinking of security dangers because a story running on the main site could look at site cookies and potentially get private information and/or steal login credentials. However, this can be easily solved by having a dedicated domain just for the stories and viewing on the main site inside an iframe or launching in a separate tab. Then it is completely isolated and can not access main website cookies, localsession data, etc. One could potentially steal information stored by other stories, but so what ... This is unlikely to be anything sensitive, and if it is, the user already voluntarily gave it up to an anonymous person.
Last edited by polkadotwolf on Sun May 20, 2018 7:36 pm, edited 3 times in total.
User avatar
SpiritualMigrant
Explorer
Explorer
Posts: 39
Joined: Wed Nov 29, 2017 6:03 pm

Re: What would be cool options for a modern webtease editor?

Post by SpiritualMigrant »

I asked the creator of Nyx, Seraphox, if we could indeed create a HTML version of this with maybe more options, and he said he had been working on it for a while and he already has a working prototype although bugged for the moment.
kerkersklave
Explorer At Heart
Explorer At Heart
Posts: 549
Joined: Sun Jul 06, 2014 2:11 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Slave

Re: What would be cool options for a modern webtease editor?

Post by kerkersklave »

polkadotwolf wrote: Sun May 20, 2018 6:23 pm Why do you say HTML5/JavaScript are not suitable? I played around with creating a quick example and it seemed pretty simple.
It would be perfectly suitable for a standalone application. But you cannot just embedded unchecked javascript code in a website. So you would have to validate this code somehow, for example make sure that it does only call a certain API.
But Javascript is already quite complicated to parse and has a lot of dynamic features that make it hard to analyze.
Also, as soon as you allow arbitrary HTML you basically require a HTML-Engine to show teases and you can only show them the way, they have been defined.
If you have something more structured and more domain specific you can quite easily port this to other technologies and devices.

HTML5 is of course the perfect technology to build the viewer for the website and maybe also for desktop/mobile. But I do not think it is a good format to store the content.
polkadotwolf
Explorer At Heart
Explorer At Heart
Posts: 111
Joined: Wed Mar 15, 2017 7:16 pm

Re: What would be cool options for a modern webtease editor?

Post by polkadotwolf »

kerkersklave wrote: Sun May 20, 2018 7:20 pm
polkadotwolf wrote: Sun May 20, 2018 6:23 pm Why do you say HTML5/JavaScript are not suitable? I played around with creating a quick example and it seemed pretty simple.
It would be perfectly suitable for a standalone application. But you cannot just embedded unchecked javascript code in a website. So you would have to validate this code somehow, for example make sure that it does only call a certain API.
But Javascript is already quite complicated to parse and has a lot of dynamic features that make it hard to analyze.
Also, as soon as you allow arbitrary HTML you basically require a HTML-Engine to show teases and you can only show them the way, they have been defined.
If you have something more structured and more domain specific you can quite easily port this to other technologies and devices.

HTML5 is of course the perfect technology to build the viewer for the website and maybe also for desktop/mobile. But I do not think it is a good format to store the content.
I edited my response above before I saw this. Basically it would not be 'embedded' JavaScript. It would be JavaScript running in it's own domain and viewed on the main site in an iframe or launched in a separate tab. This is perfectly isolated and secure. If one is really paranoid you could have a separate domain for every story e.g. 8346.sexystories.com, 4527.sexystories.com, etc, but that seems like overkill. However if one wanted to do that, unlimited virtual hosts are easily handled dynamically by the webserver to point to the same place, but from the browser perspective be viewed as a completely different site.
kerkersklave
Explorer At Heart
Explorer At Heart
Posts: 549
Joined: Sun Jul 06, 2014 2:11 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Slave

Re: What would be cool options for a modern webtease editor?

Post by kerkersklave »

Yes, that is possible. I do not really like it though, as it still like the idea of the content being easy to reuse.
There are for example importers for teasing software. The only way to use that content would be to show it using an embedded browser.
Also, I think only very view teases would profit. Most tease authors are not experienced programmers, adding a few features that allow a bit of abstraction would be usefull. But I do not really see the need to have the full power of HTML5.
I also see the idea of stuff like embedded videos a bit critical. They probably can not be hostet on milovana, as it is very expensive. So they have to be hosted somewhere else which makes it unrelyable. There are teases that refer to external videos, and many of those are gone. And also video sites often change their technology of embedding or their policy.
polkadotwolf
Explorer At Heart
Explorer At Heart
Posts: 111
Joined: Wed Mar 15, 2017 7:16 pm

Re: What would be cool options for a modern webtease editor?

Post by polkadotwolf »

Well I think if one had an HTML/JavaScript framework, it would be very easy to have more than one implementation. There could be a 'programmer' version and also a simple config file version (like Nyx).

I think you might be underestimating the capability of many authors, especially for Flash teases. For any author that has done codes/passwords in teases or figured out how to embed audio, these authors are most likely able to do programming as well since these are programming level tasks.
kerkersklave
Explorer At Heart
Explorer At Heart
Posts: 549
Joined: Sun Jul 06, 2014 2:11 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Slave

Re: What would be cool options for a modern webtease editor?

Post by kerkersklave »

Yes, one could build something simpler or more usable on top. Even use stuff like Kotlin or Scala to do it, hell even Rust or C++. But that is not the issue, the issue is portability and long time availability.

What will Javascript and HTML5 look like in 10 years? Nobody knows and there might be breaking changes, especially, if authors start using advanced or even experimental features. It is easy to write a viewer in 10 years for the current webteases (also it is already more complicated as it would need to be). But write one for HTML5+JS. Websites from 10-20 years ago can be completely unusable in current browsers, and if you want to use them, the best thing you can do, is to take an old browser and run it in a virtual machine.
HTML is really not a technology for content that you want to keep available without much maintenence for decades. (And Milovana is already over 10 years old).

I would therefore recommend something that is rather simple and covers the usecases that milovana needs and extend them one by one when the need arises.

I am well aware, that some tease authors do quite complicated things. I also believe, they are capable of some basic programming (I suggested a programming language afterall myself). But writing teases is mostly copy and paste and a lot of tedious work, its not really programming. So I do not think most tease authors would start to scratch the capabilities of HTML5.
They would not start writing interactive HTML5 games etc. except for some programmers.

On a side note: I kind of like the idea of a hosting platform for adult html5 apps/games, what is basically what you are suggesting. I think it is kind of a different project though.
polkadotwolf
Explorer At Heart
Explorer At Heart
Posts: 111
Joined: Wed Mar 15, 2017 7:16 pm

Re: What would be cool options for a modern webtease editor?

Post by polkadotwolf »

kerkersklave wrote: Sun May 20, 2018 8:23 pm Yes, one could build something simpler or more usable on top. Even use stuff like Kotlin or Scala to do it, hell even Rust or C++. But that is not the issue, the issue is portability and long time availability.
IMHO web technology actually changes very slowly and does it's best to remain backward compatible [can you give any examples of old websites that no longer works? I can't think of any I've run into]. If it didn't the internet would be pure chaos. For instance, this site was created in 2006 (I think, based on wayback machine) and has changed very little. It's running on some ancient PHP BBS probably created back in the very early 2000s and yet ... it still works pretty well.

Web browsers are the only technology right now that everyone has, that is portable, and that offers full "battle-tested" isolation/security to run anonymous code. Nothing else has that, that I know of.

Even if you write another GuideMe, TeaseMe, TeaseAI, SexScripts equivalent, it means that everyone that downloads it must have full trust in you, the author, a completely anonymous person. With the web this isn't necessary. Yes we must trust Microsoft, Mozilla, or Google, etc, but we already implicitly do.

I think you feel that what I'm proposing is too 'open', and would result in too much diversity and fragmentation. That is probably correct in the beginning, but I believe it would not take very long before the best 2-3 implementations would become the standard flavors almost everyone used. But, no matter how different the details between, they would all run just fine in any modern web browser. There is no need for stories themselves to be 'compatible' with each other. They don't interact or combine in anyway. As long as they use standard JS and HTML they will run just fine, just like the millions of websites out there written in completely different ways.
kerkersklave
Explorer At Heart
Explorer At Heart
Posts: 549
Joined: Sun Jul 06, 2014 2:11 pm
Gender: Male
Sexual Orientation: Open to new ideas!
I am a: Slave

Re: What would be cool options for a modern webtease editor?

Post by kerkersklave »

Well, some basic stuff is very compatible, but if you look at stuff from before the HTML5-Area, there is a lot of custom extensions. There are tons of buisness web-applications and webinterfaces of embedded devices, that do not work anymore. You usually won't find them on the public web, as they have been replaced or shut down. But if you worked with web-technologies about 20 years ago you know about that stuff.

With HTML5 compatiblity is better and up to now, no standard has been phased out. There have been a lot of experimental things in browser though that have come and went again. Also it is still a challenge sometime to build websites, that are compatible to all browsers. Not as long as you stick to the core framework, but as soon as you go to the edge, new CSS features, new Javascript APIs etc.

It works on this site, as it is quite basic HTML and CSS on the client side and build in a platform independed way 10 years ago. But it has, for example, no dedicated layout for mobile devices. Imagine you want to build something like that. You would typically change the layout completely for mobile devices, but you could not do that for html5-based webteases.

And yes, I think what you are proposing is too open with regard to what the authors can do.
Post Reply

Who is online

Users browsing this forum: No registered users and 45 guests