gasm stands for guide assembler. It translates teasing scripts into JavaScript which run in a modern web browser (everything but Internet Explorer) without the need of a web server. The JavaScript runtime library (RTL) allows dynamic generation of EStim signals.
That approach is light-weight and efficient. Furthermore it is ultra-felxible because JavaScript can be used without limitations. In particular most of the the functionality is implemented in JavaScript (including the EStim generator) and thus can easily extended.
The software that translates the tease script into JavaScript is written in Java and only depends on standard API.
The technical documentation can be found at the GitLab page where the software can also be downloaded.
There was major re-organization at begin of 2023, see this post.
Features
For playback only a browser is required, no need of a server
Fully functionally, easily extendible
Support of saving / restoring sessions
Maximum flexibility due to full access to the JavaScript layer. It is possible to write complex things like games.
Syntax checking (e.g. for non-existent files, labels)
Modularization allows to re-use parts and makes even huge teases extendable
estim01: An interactive demo which explains the parameters of the low level EStim API. You can change the parameters and feel what happens. (source code)
puppetshow: A video demo. Audio works in a similar way: 'V' has be be replaced by 'A', 'VS' by 'AS' and 'D V' by 'D A'.
EStimTest: A demo tease based on the sessions of "Brycies EStim Experience" which makes use of dynamical generated ESim signals, also see this post.
The last two demos have to be downloaded, unpacked and the .html file has to be opened in a browser (Ctrl+O).
This initial post will be used for project description an will be updated from time to time.
Last edited by mantrid on Sun Mar 24, 2024 6:02 pm, edited 10 times in total.
GAsm -- A guide assembler with EStim support to generate interactive teases that run in a browser.
When i try to open GServer.jar or GServer.sh it gives me a JNI Error:
jni_error.png (3.21 KiB) Viewed 12295 times
When opening GServer.sh the cmd line gets opened but closes very quickly after it so i added the line below to the end of the file to make this picture.
There was some major update early this year: Sound generation has been re-designed and implemented in JavaSscript. The old approach of script based estim files has been dropped (MPGenerator sofware) due to lack of acceptance. The only tease that used it was the test tease "EStimSurprise".
Thus, GServer (required to generate audio from script) became obsolete too.
The old software is still available. The spoiler contains a backup of the old documentation from the initial post of this thread
The software is a part of the MPGenerator project, written in Java and only depends on standard API. Its aim is to write EStim teases, but it also can used for other teases. The software consists in two parts:
gasm stands for guide assembler. It translates teasing scripts into JavaScript which run in a modern web browser (everything but Internet Explorer).
With gasm it is possible to do any thing that can be done with other tease software (and it should be possible to convert other tease formats to this format -- but I do not plan it for near future):
For playback only a browser is required (also support videos and audio)
Can be used offline
Classic EStim teases with fixed sound files
Maximum flexibility due to full access to the JavaScript layer. It is possible to write games.
Syntax checking (e.g. for non-existent files, labels) and ability to write huge teases that are still handy and extendable
Current state: Working but API for dynamic sound generation has not been implemented yet (that is more or less what gserver is intended for).
Download
In the repository you find source files as well as JAR files for gasm (GAsm.jar) and gserver (GServer.jar)
Example
The test tease from the MPgenerator lib has been ported to gasm script language. To run it in gserver, you just need EStimSurprise.zip
Unpack it to somewehere, copy GServer.jar to the same directory, double click on it (or start it from console in order to see what is going on) and open "127.0.0.1:7980" in a web browser. See the link to the gserver documentation for a detailed usage description.
To use it without gserver, you also need sound files which need to be unpacked to the same directory as the tease. Then, just open the html file in a web browser.
If something does not work as expected, open the JavaScript console.
Documentation / Getting started
Currently there are still many things that need to be documented. Links to the documentation for gasm and gserver can be found above.
In order to get started you should download the example and take a look into it. The HTML file is the starting file. It should be used as template for new teases. The tease scripts are the .gsc files (the .xml and .scr files are for GuideMe and can be ignored here). The .gjs files are the translated script files and contain JavaScript code.
During development it is easiest to use gserver because is has an integrated gasm. If the tease does not depend on gserver (uses fixed sound files), translate it with gasm as soon you publish it.
(The new documentation can be found in the initial post.)
GAsm -- A guide assembler with EStim support to generate interactive teases that run in a browser.
The project (see inital post) has been updated. The major change is a high-level EStim API.
A demo tease can be downloaded there: EStimTest. Download it, unpack the archive somewhere and open (CTRL+O) 'EstimTest.html' in a modern browser (everything but Microsoft IE).
The tease can be considered as an endless version of "Brycies EStim Experience" (sessions are extracted automatically from the GudeMe version) with dynamically and randomly generated EStim signals. Everything is highly configurable. Only the basic characteristics (pleasure / pleasure+pain / pain ) and an intensity boost are controlled by the sessions.
Those who are interested in the technical details (as starting point for own teases), should take a look into 'EStimTest.gsc' (the gasm script that glues everything together) and 'EStimTest.js' which implements the EStim functionality (see 'doc/index.html' for a description of that interface).
Minimal scamming is possible by uncommenting 'enableDebug=true;' in EStimTest.html. This allows to change the progress more directly ("P+5", "P-5" buttons and via setting page). Furthermore intensity and pain values are showed if debugging is enabled.
GAsm -- A guide assembler with EStim support to generate interactive teases that run in a browser.