Page 1 of 3

[RELEASE] Interactive Cock Hero Demos!

Posted: Wed Jun 12, 2019 10:10 pm
by Xity
Hey guys!

Since I've always liked story-based Cock Heros, and particularly the idea of being able to make choices as in a game, but the idea of skipping around in a video trying to find the right spot to jump to in the videos that do that can be annoying and break the immersion.

I know there are the RPG things which seem really cool which I should try but haven't gotten around to yet, and I'm not quite sure how that works, but it seems more on the game side than on the Cock Hero side.

Introducing...

INTERACTIVE COCK HEROS

A new way to make Cock Hero videos and have them be interactive! I have 3 Cock Heros, demoing the potential feastures of such a thing. Each of the demos takes maybe around 5-30 minutes to play.

They can all be downloaded from Mega here: https://mega.nz/#F!SzwChYwZ!h1q2_1xEyJvZX4kzUvCbzQ

The folder "cockherointeractive_api" is necessary for all 3 and must be located in the same directory as the folder containing the individual Cock Hero Demo. I recommend downloading and trying out all three, but particularly "Battle 1-on-1" and "Surrounded" since they demonstrate possibilities of this beyond just making choices of where to go next.

I hope to make a future project combining all of these aspects and more into a very interactive Cock Hero which will be very game-like, but not too far on the game side that it takes you out of 'porn-mode'. It's meant to make the interactions unobtrusive to the player.

Please check it out and let me know what y'all think.

It's all just videos and some html/javascript files, so it just plays in your browser and you can be fairly sure that it's not a virus :)

To play one, just open the index.html file in the folder of the one you want to play.

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Wed Jun 12, 2019 11:07 pm
by fragrantEmulsion
I haven't had a chance to fully test but it seems relatively promising. I had been working on something similar using the Unity game engine, but a problem with that is that users do not want to download executables. A web based approach could reach more users.

It has been a long time since I've developed a web-page but here are some things that I want to try to accomplish with this:

1) Video overlay and sync. It would be nice to be able to play a beat meter video over the regular video, and to be able to swap out that beat meter or swap out the video but keep the beat meter.

2) Dynamic content and user preferences. Allowing the user to de-select things they don't want to see, and keeping track of what they have seen recently. Keeping track of what the user likes the most to use it against them. Etc. This is more advanced and may not be possible in pure js. (Who am I kidding it's 2019 there is a js framework for everything).

3) I have more ideas but I have to go. I'll update this post as I think of them.

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Wed Jun 12, 2019 11:45 pm
by doremi
Very interesting and promissing, Xity! I'll check it out! :w00t: It's tough to find a multi-platform solution. There's always something that doesn't fit...

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 13, 2019 12:08 am
by Xity
fragrantEmulsion wrote: Wed Jun 12, 2019 11:07 pm A web based approach could reach more users.
My thinking exactly!
fragrantEmulsion wrote: Wed Jun 12, 2019 11:07 pm 1) Video overlay and sync. It would be nice to be able to play a beat meter video over the regular video, and to be able to swap out that beat meter or swap out the video but keep the beat meter.
I already have overlay capability but didn't really use it in the demos. Could definitely expand on it more, and that'll probably be one of the next big steps I'll make with it, along with generally making it more user friendly.
fragrantEmulsion wrote: Wed Jun 12, 2019 11:07 pm 2) Dynamic content and user preferences. Allowing the user to de-select things they don't want to see, and keeping track of what they have seen recently. Keeping track of what the user likes the most to use it against them. Etc. This is more advanced and may not be possible in pure js. (Who am I kidding it's 2019 there is a js framework for everything).
This seems very possible, it's just using some variables in js to track the stuff.
fragrantEmulsion wrote: Wed Jun 12, 2019 11:07 pm 3) I have more ideas but I have to go. I'll update this post as I think of them.
Please do! I'd love to hear more ways this can be used, and after I work on it more, I'll make a post on my 'API' (though not sure that's really the right term) and how to use it so anyone can make interactive stuff! [you already can by just stealing the current source code, but please, let me improve it first, otherwise you'll be confused by the better version when I release it :)]
doremi wrote: Wed Jun 12, 2019 11:45 pm Very interesting and promissing, Xity! I'll check it out! :w00t: It's tough to find a multi-platform solution. There's always something that doesn't fit...
Thanks! I think html is a perfect solution as it will likely work fairly well between platforms, and also is safer to download than .exe or whatever! Keep in mind these are just demos and not necessarily the best quality that they could be. I just threw the videos together as quick as I could to make the concept work as a demo. I will definitely release a post with a better version and how to use it once I've improved a bit. Then once it's good enough, my plan is to make a really cool Island-inspired CH but interactive!

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 13, 2019 2:03 am
by fragrantEmulsion
Xity wrote: Thu Jun 13, 2019 12:08 am Please do! I'd love to hear more ways this can be used, and after I work on it more, I'll make a post on my 'API' (though not sure that's really the right term) and how to use it so anyone can make interactive stuff! [you already can by just stealing the current source code, but please, let me improve it first, otherwise you'll be confused by the better version when I release it
Can you put it on a git repository?

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 13, 2019 2:50 am
by Xity
Sure, I can do that once I have a version I'm comfortable with others using

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 13, 2019 3:31 am
by high_octane
I had a similar idea a while ago except I was writing it in C with SDL2 (which I referenced somewhere in the wall of text of my first post on Milovana). I also had planned an isometric 2D board game with tiles that determined the type of round, content, and difficulty. If you reached the goal tile, you win. Going the HTML/JS route is probably a smarter move than what I was doing.

This is my idea for calculating the difficulty of a round:

Code: Select all

/**
 * nbeats: number of beats in the round
 * len:    length of the round in seconds (measured from the first beat to the last)
 * prefs:  content the user finds the most arousing (scale from -2.0 to +2.0, where - values are
 *                                                   less arousing and + values are more arousing)
 *
 * returns difficulty value (-inf to 0.4 = easiest, 0.5 to 0.9 = super easy, 1.0 to 1.4 = very easy,
 *                           1.5 to 1.9 = easy, 2.0 to 2.4 = medium, 2.5 to 2.9 = hard,
 *                           3.0 to 3.4 = very hard, 3.5 to 3.9 = super hard, 4.0 to inf = hardest)
 */
static inline double get_difficulty(size_t nbeats, double len, double prefs)
{
    return ((double)nbeats / len) + prefs;
}
The prefs implementation is a bit naive here but whatever.

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 13, 2019 4:08 am
by yshomatsu
I love the story driven CHs but using a kindle fire doesn't work well with stopping a video and skipping around so I've never had the opportunity to play them as intended. If you figure a way to do it that would be awesome!

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Sat Jun 15, 2019 9:15 pm
by smack
Hello all!
Im not an english speaker but I'll try my best)
Inspired by this thread I've tried to make some CH randomizer, and here is what I got after an half an hour and two glasses of Guinness :)

First: my addition to the chi_api.js
Spoiler: show

Code: Select all

CHI['randomvid'] = function(switchtoname,time) {
	var switchto = CHI.vids[switchtoname];
    var switchfrom = CHI.vids[CHI.currentvid];
	if (time) {
		switchto.currentTime = time;
	} else {
		switchto.currentTime = Math.max(0,switchto.currentTime-CHI.jumpback);
	}
	console.log('paused  ' + CHI.currentvid);
    switchfrom.pause();
	console.log('started ' + switchtoname);
    switchto.play();
    $(switchfrom).hide();
    $(switchto).show();
    CHI.currentvid = switchtoname;
}
Second: my index.html (based on one from Cock Hero 1-on-1
Spoiler: show

Code: Select all

<!DOCTYPE html>
<html lang="en" dir="ltr">
  <head>
    <meta charset="utf-8">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="../cockherointeractive_api/chi-style.css">
    <link rel="stylesheet" href="../cockherointeractive_api/chi-template.css">
    <title>Cock Hero</title>
  </head>
  <body>
    <div id="main" class="card">
      <div class="card-header">
        Cock Hero
      </div>
      <div id="vidplayer" class="chi-player">
        <div id="vidoverlay" class="chi-overlay"></div>
        <p class="chi-player-begin">Press <kbd>&lt;Space&gt;</kbd> to begin!</p>
        <p class="chi-player-end">Congrats! You won!</p>
      </div>
      <div>
        Use <kbd>F</kbd> key to toggle fullscreen.<br/>
        Use <kbd>&lt;Space&gt;</kbd> key or click to pause/resume the video.</p>
      </div>
    </div>
<script type="text/javascript" src="../cockherointeractive_api/chi_api.js"></script>
<script type="text/javascript" src="../cockherointeractive_api/chi_template.js"></script>
<script type="text/javascript">
CHI.setplayer(document.getElementById('vidplayer'));

CHI.addvid('championship','https://ev.phncdn.com/videos/201805/13/165903931/720P_1500K_165903931.mp4?validfrom=1560628639&validto=1560635839&rate=169k&burst=3800k&hash=xyooBXk9OuOsI1KO5NORA09AeAM%3D');
CHI.addvid('championship2','https://cv.phncdn.com/videos/201904/10/217564561/720P_1500K_217564561.mp4?JrENRqHwqajz50QGgyok9T4US3exdXiDv_B77xGofUQlnZNu_lm7NX37Yyh_GnGPiaMmEP4evyQnGiv5yC969BqoixA6CMTOFYRt0_PF7_A93ONkAaPW3z4tzWltGquCUDzCPVEDwE4nWt4BADXgUFJX8Dpbxc4F4odOeiojoH905M2YxafTlbV24NZajcff57yYI2Bwghjv');
CHI.addvid('revolution2','https://cv.phncdn.com/videos/201609/14/89485771/vl_720P_1298.0k_89485771.mp4?Y4UHJe6I-HwKWmiewSunJi-KajtH_4W0GwzK2n9DkBU9B5r5af50D4aInt9F_CpsjODagYGQ25UclHIumacl-IaUIJ61onuZHsBtIx07JdPa8iF4s3xnxZUufwjHMwUL6Ol7sLoLoxJRzXgicIB-fEVcwv-XKVv_j80fJOUmuFZrQ6PEK6mbO7u78vz2gqWurutJzw39AVYmyxbQ');
CHI.addvid('evolution','https://cv.phncdn.com/videos/201605/06/75934661/720P_1500K_75934661.mp4?CIfWi2tx7CS9OW_yWVf49QBKPyZ_PZEa42Ksfz3Ie4xgkvawjVqyYbIH8F0N-ApP19_jPIi_AABD7I57kBuWMe_45SYL0nV1UKTesu7KwB4ZzpMz-wbhw9XvFvVzylAbb0AXb5cCgkFBMiNJY9QqT8MqYATw3OORhWjK_a-LaMNLFivJwBR0Vv1VtN6hBgH3pWkW57tZ');
CHI.addvid('edm','https://cv.phncdn.com/videos/201502/18/45036941/190212_1308_720P_1500K_45036941.mp4?D8QAQgKH0bZs43wZSUkm_tUAhi9IUlEUsWtBlR2hrI_zV8i-msm9O7gyZ9jeggKDypCA0fTYQOmcp_jBd5B2tCuVCZwNukHAPd5I86tfKH5NBI-ZQX-Vq7N7MZEuH--s0wghOBUak1mePP2pca14QO1T3mPMnyFgPXGjkBVnh3z9Tu4VPAWrkpZYt8-V93QS1l8tD89acL0FqBZ7wO12bfpG');
CHI.addvid('edm2','https://cv.phncdn.com/videos/201605/22/77280321/720P_1500K_77280321.mp4?yugPJaqQwgzYcpCfQ6m7w7UVJ6UzOGzndZhN49TLhIDB31ru0BRzIiArzQ84rOZ8vFJV7JHOGIWx_dsmuwykJqDsr_RMts8d_HDrbxKXW8MpKc-IZgdHjnBCfGRJuq14QDdjqoR8Jv3AONDrfGV5iHsu7hvAU4_qGRKKJ3nydJ4WCcGHC6hsvL-036SfvK5FtjGUznPI');
CHI.addvid('fail','https://ev.phncdn.com/videos/201608/20/86428791/720P_1500K_86428791.mp4?validfrom=1560625114&validto=1560632314&rate=191k&burst=4200k&hash=yH9iOrDbN3EzqLBzyhaj1%2BFzbBY%3D');
CHI.addvid('satisfaction','https://cv.phncdn.com/videos/201712/23/146654742/720P_1500K_146654742.mp4?LT0QgO7YIybZFcSTKHBua4VgF2cxTTxYf8RjJ-3QAwzSMZLSHAC6tteKYIt--eaKxV0fqDthqfJlnJ4YYABfsq_yHMU95cLS5F2EVbIdIejX1AKMJgfNMA2wdZUa-l5NFvXsXkpUXPg1NxqcIGzHg5lalIuWxTFB4Fmk8dklL2Ky8LKIWx7SlEiJ8SLx0qTxztth1RWypSM');
CHI.addvid('osu','https://cv.phncdn.com/videos/201608/11/85454211/720P_1500K_85454211.mp4?ijwsn5MK-9ghofJOgDI0_jUXJavGpNu7-0EOC2xAvkZF0PI6Ez4GiA0AA0KJuTpCCEo6XqFxGC2gnnT370Dq4wE_cKAwaoFUQkLd5fzyfqLHbNIflYDeqjywx7mcbj81b-B0dKNOfFyL9NIZDWBjwTpZpyoXiaunc6SDPDqcu9AAg5UKPOcKXa6dud5QAVGzDlwGd4B4hA');
CHI.addvid('xp','https://dv.phncdn.com/videos/201701/01/100838972/720P_1500K_100838972.mp4?ttl=1560632376&ri=2764800&rs=1648&hash=f22ad921ff28d30bd6142a04fd8375d6');
CHI.addvid('maxmini2','https://cv.phncdn.com/videos/201701/11/101931332/720P_1500K_101931332.mp4?cOy5FOvgkPYRjGkGRP7p5folWsDhMkpPcqtv9Hc09nIBrzhfPAsXRwHByiUy-Ip4M-PFiUsMacyZtUtbcYK99ETG-PVFpfLSWRj0KhN9__YajaNyqhsa6AhjKVwlnryyCxPZzycAfzutPsgTN7rynDNKtlWPkkqNZYnJuhrmuripTIxnl9-PLH83YCuJCIZC8bq-zDEAwp0');
CHI.addvid('bangbook','https://vcdn-ca-17.spankbang.com/8/8/880387-480p.mp4?st=K3K7F02ys5yulNRbaN0Mdg&e=1560715348');
CHI.addvid('infinitedesire2','https://ev.phncdn.com/videos/201509/16/57475302/vl_720P_1378.0k_57475302.mp4?validfrom=1560625570&validto=1560632770&rate=242k&burst=3300k&hash=unIZvnBJ4EyzampcAz3tz8t2dMM%3D');
CHI.addvid('pinnaclebossfight','https://ev.phncdn.com/videos/201507/04/51909501/vl_720_1180k_51909501.mp4?validfrom=1560625585&validto=1560632785&rate=207k&burst=3300k&hash=Xt0gTUg8Q0x3xa1PYccrKScEwFc%3D');
CHI.addvid('gigaflux','https://ev.phncdn.com/videos/201710/14/136804672/720P_1500K_136804672.mp4?validfrom=1560625614&validto=1560632814&rate=204k&burst=9000k&hash=Ak3uLKRIPTnEJHmB6eRk5M0ESJ8%3D');

CHI.setjumpback(0.35);

vids = {
0: 'championship',
1: 'championship2',
2: 'revolution2',
3: 'evolution',
4: 'edm',
5: 'edm2',
6: 'fail',
7: 'satisfaction',
8: 'osu',
9: 'xp',
10: 'maxmini2',
11: 'bangbook',
12: 'infinitedesire2',
13: 'pinnaclebossfight',
14: 'gigaflux'
};

CHI.currentvid = 'championship';
shouldBreak = true;

function loop() {
	console.log('Looping...');
    var rand = Math.round(Math.random() * 50000) + 5000;
	console.log('Playing for ' + Math.round(rand / 1000) + ' seconds');
    setTimeout(function() {
			console.log('Next vid...');
			nextVid(Math.round(rand / 1000));
			if (!shouldBreak) {
				loop();
			} else {
				console.log('Loop stop');
			}
    }, rand);
}

i = 0;

document.addEventListener('keyup', function (ev) {
	if (ev.key == '1') {
        nextVid();
    }
	if (ev.key == '2') {
		CHI.switchvid(vids[i++]);
	}
	if (ev.key == '0') {
		shouldBreak = !shouldBreak;
		if (!shouldBreak) {
			console.log('Loop start');
			loop();
		}
	}
});

function nextVid(toend) {
	var vidNum = Math.round(Math.random() * (Object.keys(vids).length - 1));
	console.log('vidNum: ' + vidNum);
	var duration = CHI.vids[vids[vidNum]].duration;
	var time = Math.round(Math.random() * (duration - toend));
	console.log('time: ' + time + ' of ' + duration + ' (' + Math.round((100 * time) / duration) + '%)');
	CHI.randomvid(vids[vidNum], time);
}

</script>
  </body>
</html>
My changes are quite raw and have to be polished but I hope that the main idea is pretty clear: I want to play cock hero vids in random order, each one for random amount of time, starting each one from random point
The main problem is that PH links became expired after some short amount of time :(
Hope my changes would be interesting for some of you (may be even for the topic starter ;) ), and any ideas or comments are welcomed too

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Sun Jun 16, 2019 12:53 am
by Lanyx
This is great stuff. I look forward to seeing what some of our talented creators will do with this.

Also, thanks for the addition Smack. I tweaked it to point at my local copies. :)

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Sun Jun 16, 2019 5:49 am
by tmp_pmt
The main problem is that PH links became expired after some short amount of time :(
This is problem I was solving in my library presented here: https://milovana.com/forum/viewtopic.php?f=25&t=21785 There are good and bad news:

+ many sites allow to generate link for embed video and you can open it in iframe on your page - this never expires,
- not all sites allow you to start embed video from specific time (PH does not, xHamster does) - start time must be part of URL,
- not many sites allow you to play HD quality when using embed video (xHamster does)

There is another inconvenience: when you are running your app from server X (including local server) and clips are at server Y you encounter CORS restrictions. Simply, you can't control embed video player on distant server from code on your page. When you iframe embed video, it may start with some ads etc. In my library, player has first to skip ads manually and click button when video started to tell library, that video is playing.
If your clips are on the same server, there is no problem with CORS. Much feature rich app could be made as you could then control pausing, etc.

Btw, my library does render beatmeter on the fly (using songs and beatmeter definitions from Beatmeter Generator)! So you can turn any video into CH... It has many other features, like using speech synthesis, texts, etc.

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Sun Jun 16, 2019 3:43 pm
by fragrantEmulsion
tmp_pmt wrote: Sun Jun 16, 2019 5:49 am Btw, my library does render beatmeter on the fly (using songs and beatmeter definitions from Beatmeter Generator)! So you can turn any video into CH... It has many other features, like using speech synthesis, texts, etc.
It seems that your project is further along than the one in this post. Maybe ya'll should merge.

The .ts files in your project are confusing me; based on a little bit of googling, this is an angular thing and .ts files are like generic code that get compiled into javascript? Interesting. This has the advantage of not looking like javascript so I find it more legible. Javascript is a dirty language almost as bad as PHP.

Your beatmeter is constructed from the .json output of the java beatmeter generator. I suggest this be changed to interpret a raw .wav file for onset data. My reasoning is that anyone can make a .wav beatmeter from any program and it would not rely on another proprietary program. You wouldn't need to change the way things are currently handled, just figure out a way to turn a .wav into a .json with beat spawn times. Pl3b's aftereffects script I believe is written in javascript and does something like this via onset detection.

It isn't a big deal as I know how to use the java tool, but I am transitioning to using a DAW and would prefer to be able to use that instead of re-mapping the beats.

I haven't played with it too much, however I am concerned about the synchronicity of beats, music, and streaming video considering the differences in hardware that everyone has.

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Sun Jun 16, 2019 6:38 pm
by tmp_pmt
The .ts files in your project are confusing me; based on a little bit of googling, this is an angular thing and .ts files are like generic code that get compiled into javascript? Interesting. This has the advantage of not looking like javascript so I find it more legible. Javascript is a dirty language almost as bad as PHP.
.ts is for Typescript - it is Javascript with types. It pushes Javascript closer to typed languages like Java. .ts files are transliped into Javascript on compilation. Angular is not Typescript, but they use it.
Your beatmeter is constructed from the .json output of the java beatmeter generator. I suggest this be changed to interpret a raw .wav file for onset data. My reasoning is that anyone can make a .wav beatmeter from any program and it would not rely on another proprietary program. You wouldn't need to change the way things are currently handled, just figure out a way to turn a .wav into a .json with beat spawn times. Pl3b's aftereffects script I believe is written in javascript and does something like this via onset detection.
Unfortunately, this is not possible as you would miss other features. For example printing text in right moment is done by adding "event" into .json. The same is for speaking (voice synthesis) or playing sound.
Btw, there is beatmeter track for song and you can run parallel one defined for video clip. Reason is, that the same clip can be played with various songs, so events related to music (like saying: "faster") can be in .json for music, while others commenting video clip in clip's .json.
I haven't played with it too much, however I am concerned about the synchronicity of beats, music, and streaming video considering the differences in hardware that everyone has.
- beats are always synchronized with music
- some OS/browsers (like Ubuntu) have big latency in playing sounds (so what you see is shifted from what you hear). For this, library can take custom setting and play beat sound in advance. If you have seen demo in my original post, there is cog icon in top left corner and there you can adjust timing
- as player has click start button when video starts playing, there can be short delay when music+beats do not start at X time, but at X+short delay. But it is ok

I recommend to download it - it has manual with list of features and technical details as well as demo. Version to download is a little bit old. Library and example demo are both in the same project. I have already changed that separating both (btw, I took Mortimer's Amulet of Power and with a few steps I connected library to his RPGMaker game - he reprinted my PM here: https://milovana.com/forum/viewtopic.php?f=25&t=21796&start=30#p263638)

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Tue Jun 18, 2019 3:34 am
by Xity
I just downloaded and tried tmp_pmt's demo a little. I think my goal for this project is slightly different. My goal is to make a framework that is easy to use for people who want to make a professional-looking immersive interactive cock hero stories/games. I'm not saying tmp_pmt's thing is bad, because it's not, and I would like to eventually include some cool features he has, but for now, I think I'm aiming for simplicity and ease of use first, and maybe his is just complicated to me since I didn't write it :P lol, but anyway I think I'll continue proceeding on my own for now, since more options for creators can never hurt. If it turns out later that we want to collaborate, I'm sure we could figure things out at that point :)

Also, I hope this week to finish up and release a fully revamped version with cleaned up code, more features and improved ease of use.
fragrantEmulsion wrote: Sun Jun 16, 2019 3:43 pm
tmp_pmt wrote: Sun Jun 16, 2019 5:49 am Btw, my library does render beatmeter on the fly (using songs and beatmeter definitions from Beatmeter Generator)! So you can turn any video into CH... It has many other features, like using speech synthesis, texts, etc.
It seems that your project is further along than the one in this post. Maybe ya'll should merge.
This isn't quite what I'm intending this project to do at this moment. I'm more intending for the creator to make the videos the same way they normally would, but then use my cock hero interactive framework to glue them together with the desired logic/functionality.

It seems like tmp's project is more set up to be a Cock Hero Maker with some interactive features, at least from what I've seen of it, though the features it has could definitely be used to increase interactivity as well, which is why I'll try to eventually implement some of them in my project as well (though they are not priorities).

Re: [RELEASE] Interactive Cock Hero Demos!

Posted: Thu Jun 20, 2019 9:01 am
by 3xTripleXXX
If you’re looking for a non-javascript way to write javascript, then elm is a really cool option, especially if you’re already familiar with functional programming. It’s consistent, type safe, functional and compiles to javascript. I’ve run into a couple of quirks, but overall, it’s so much more pleasant to code in than javascript is, at least in my opinion. Main downside is maybe that there aren’t that many libraries for it yet, especially since it’s got a bit of a do-it-yourself ethos going on.