Jump to content

VNJS - A VNDS Interpreter in HTML5/Javascript


ThatPlayer

Recommended Posts

Really more of a proof of concept and my motivation to learn HTML5/Javascript

I've barely implemented any of the VNDS commands (Not sure why I haven't done delay yet) so the only thing that really works is the text showing and the background showing.
I'm using a unmodified Narcissu VNDS script setup with images that have been more optimized (Lower filesize).

Since I haven't touched audio yet, this should work on any browser that supports HTML5 Canvas/Text, so anything under shown at http://html5test.com...anvas-text.html
I've really only tested with Chrome, also doesn't work that well yet on smaller screens.

So I wouldn't recommend trying to play through Narcissu like this.

At http://vnjs.thatplayer.com/ - Only Narcissu 1 kinda works I think. No idea how well this will work on slower internets/devices.

Link to comment
Share on other sites

That looks good~

i wonder how it would perform if it's fully voiced and you have to stream the VNs from a server?

you would need commercial-grade bandwidth? could there be a business model there? (One very akin to mangafox or mangahere or onemanga model.)

hopefully some1 can pull something like this off in the future, and completely obliterate us. that would make me enormously happy!

Link to comment
Share on other sites

Well one of the last things I would implement might be caching, where you would load all the files for one part of the VN first and then play it with everything downloaded. I'm probably going to make this optional as people with fast enough internet can afford to stream as it goes. I've added support for music and sounds (Only in mp3 for now, gotta convert it to others but it'll work with Chrome) but my hosting isn't that reliable and is down again but you should be able to try it when it's back up.

Commercial grade bandwidth probably won't be that necessary; a CDN (Maybe CloudFlare or Amazon) would probably work as all the VNDS files are static. Now I wanna research on those :P . I'm not really sure how big most VNDS games are. Narcissu is the only one I have available and it's only 300 MB. It will probably be a bit more after I have it in different formats to work in different browsers. Even then it would be safe to say I would have to stream about 300 MB if someone played through the whole game which is over several hours so I don't expect to need that much bandwidth unless there's a lot of users.

I have no idea if there is a plausible business model. It might be possible to put ads or something in the game or just around the game but I don't really plan that far ahead. Was also thinking it might get more people to convert games to VNDS format to play. I was just going to release this as free unless you have any other ideas.

Link to comment
Share on other sites

Amazing! This would be the future of VN.

Not sure why the existing VN makers in Japan did not move to this direction. Maybe it would make them less money to put galgame in the cloud than on the disc? Or maybe Japan has lost itself for more than 20 years that it lost the interest for the latest technologies?

Link to comment
Share on other sites

The Japanese are being outcompeted by the West completely.

Their education system is bizarre, basically it is training Japanese people not to be optimistic entrepreuneurs who want to change the world. Instead they come out like robots, and whoever scores the highest gets to serve as one more spot at the conveyor belt of the big companies. No one questions inefficiencies because it is wrong to offend a superior, and also because that is what the people have become, "Who cares so long as I have my job?"

No where else in the world is this more evident than in Japan (it's pretty bad here in Australia, but not as bad as Japan).

I think when a society loses its appetite for innovation, that is when it slumps.

Of course Japan running Keynesian economics for the past decades (and never recovering since the crash in late 80s) has a lot to do with it.

Link to comment
Share on other sites

This system is indeed impressive, however I must "defend" the traditional model. Maybe not physical disc model but straight file DL.

I am probably one of very few anti-cloud people and I hope the idea will not completely rule the internet market.

I am against could music, could gaming, cloud movies, I think it is step back instead of forward, especially with today's imperfections. Giving control over the content to the companies instead of the users

Yes, as an idea it sounds really cool, you can access your stuff from everywhere, everytime. But it counts on people having 100% stable internet connection, it counts on people having fast internet connection, it counts on internet working as it is supposed to for that system, it counts on companies providing 100% working service. Where in reality it is much different. As a big Steam user, I have found myself unable to play my bought SINGLEPLAYER game, because "this game is currently unavailable, please try again" - I had the files on my computer and working internet connection, how was the game unavailable? And it is not could gaming, steam is just could DRM or how you want to call it. Yet there is lot of problems with Steam and it is THE most successful game distribution platform currently available. Yet with all their money, there are still problems with the service.

If you remember the Assassins Creed 2 incident, I had a pirated copy of the game and I could play, where as people who bought the game couldn't, because UBI servers were not working.

That is current situation, now imagine you have everything on cloud, my friend uses one of the cloud music services and almost writes poems about how awesome it is, yet when I talk to him, I find lot of things he cannot do there that I can do with torrented mp3 files or itunes files.

Firstly I can access my music even when my internet is down, doesn't happen often but it can happen. I can access my music when the cloud is down. I can move my files to devices not connected to internet, keyring mp3 players etc (TV for movies).

And what is even more important for me - I can have my own customization. On cloud services you depend on what the company offers you as a customization, take a look at youtube as it is known to anyone (not a cloud service but streaming one), you cannot customize anything there. You need scripts and addons and not even that will get you what you exactly want.

The customization is one of the most important aspects for me, I want to be able to edit the song, if it has too long intro I want to be able to delete it, if it is too loud or too quiet in comparison to the other songs in playlist, I want to be able to edit the volume. None of these things you can do with cloud music.

Now if I imagine cloud gaming (onlive someone?), you cannot play counter-strike there, in CS I play on servers under 20ms because every delay is felt, however with streaming it, the delay would be much higher. Of course you don't care about delay in visual novels, but what about another example - modability, do you not remember times of games being 100% modable, changing everything in the game as YOU like it. This feature in games lately very decreased and people don't like it, people still want to be able to inject FXAA/SMAA if they have enough powerful PC. Not only that, just look at how Diablo 3 ended up - DRM no mod game. No wonder people then go for Torchlight 2, which for an indie game sold sooo much copies before even releasing on consoles. With mods you can even add additional ultra extra difficulties (yes referring to touhou) which some steam games could use (AC ehm ehm).

Now how is this related to VNs? I mod VNs, I add english "mods" which are different files. Not only TL patches though, didn't you add side voices from playstation (or what was it) version of Little Busters to the PC one once they released the experimental patch? None of these things you can do on pure cloud.

What is next, clouded system? Clouded internet browser. I wouldn't want to waste hours spent customizing my firefox exactly to my likings.

If you ever played multiple MMOs, you might often find yourself saying "why isn't this interface feature here, why can't I sell all items I selected, why can't I chat with multiple people, why can't I set auto reply to chat messages when I am fighting with boss" - yes I played wow for a long time and I got used to lot of convenient addons, then you go to game like SWTOR and you have to PAY TO GET ADDITIONAL HOTKEY SLOTS FOR SPELLS!

giving power to one company is not good, even though the company is the developer, he has no right to tell you how exactly you consume its product, yes there has to be community rules against cheaters in MP games but why are there limits in SP games too. In some steam games you already cannot even use someone else's savegames.

Bakery has no right to tell you if you can fry their bread, if you can put butter on it, even if you want to put shit on it, they cannot do anything with it, because you just happen to like bread with shit, if you are not bothering other people, nobody should care. Just like in games unless you are cheating in multiplayer game, nobody should tell you what monitor you can use, if it is big one or small one, what mouse, if it is more acurate mouse or not, what FXAA options you want to use, what lens flares you want to use (someone modded battlefield 3 to look better and they threaten with bans to people who use it, because they want to have better experience, it is no wallhack, it just makes the grass more green, the game loses its blue tint I hated so much, it is more colorful more prettier game, yet they don't want you to use it).

I do not want to end up being told by other companies what I can and cannot do to enhance my enjoyment even more, if JAST/MG censors a game, Id rather pick a TL group that didn't, are you sure you will be able to do it on a COMMERCIAL cloud service?

I chose internet as my life, because there are no limits, I can do what I want to do whenever I want to do it. Not being told what I can and can't do, neither by Russia or America or anyone. You might have no idea but imagine that here before revolution, you could choose awesome entertainment, on TV: Russian movie or ... surprise Russian movie, and in movie theaters, there was also awesome picl, one week Russian movie, next week... wait for it... Russian movie. And TV has very close to the current cloud situation, you could watch what was being broadcasted as it was broadcasted, nothing else, controlled by government.

Well i'm not gonna go political again here, I already mentioned in few of my essay posts here xD

so I will just sum it up

TLDR: Cloud means taking power from the user and giving it to a single entity, whether it is company or government, in either case it is BAD. This being a fan based project is awesome, but having commercial cloud based service is not the right way to go, reasons can be found in the text above.

Link to comment
Share on other sites

Just wonder, what do you think would be the key difference between these two scenarios?

1. Watch the 新番組 every week on TV, and maybe, provide some feedbacks to its creators

VS

Wait for 3 months or longer until the anime is completed, buy the full set of BD, and watch them in a few days

2. Read VN from the cloud immediately after the VN writer added some new scenario texts, and maybe, provide some feedbacks to its creators

VS

Wait for half a year or longer until the vn is completed, buy the game disc, and play it in a few days

Link to comment
Share on other sites

Just wonder, what do you think would be the key difference between these two scenarios?

1. Watch the 新番組 every week on TV, and maybe, provide some feedbacks to its creators

VS

Wait for 3 months or longer until the anime is completed, buy the full set of BD, and watch them in a few days

2. Read VN from the cloud immediately after the VN writer added some new scenario texts, and maybe, provide some feedbacks to its creators

VS

Wait for half a year or longer until the vn is completed, buy the game disc, and play it in a few days

I don't know what you mean by key difference as those scenarios seem pretty similar to me, only that the second one is even more harsh as VNs are often time really story based, its like only getting few pages of a deep story book at a time, unbearable.

In both scenarios I take the second option, even now I wait for anime to finish airing a season (for some I wait for BD release) and then I watch it in short time. I am too bad at waiting for story parts, I don't know how people handle waiting for new EP every week, it would be just too painful for me, I usually watch anime in one session (I watch 12-25ep ones so it is possible).

With VNs it would be even harder for me, cutting in a wrong place would just ruin it for me.

And having public add feedback to writers is not that good idea imo, ive met many examples where a game was better and had more features in beta version than on release, but because of peoples complains of it being to complex, they changed it to worse.

I don't want to imagine how it would end up if people would be able influence a story of a VN, some might get better but I think many of them would get worse.

Link to comment
Share on other sites

  • 4 months later...

Half a year old thread bump!

Just pushed my new version of this onto my server. Biggest change is that it's a complete rewrite and I'm no longer using HTML5 Canvas which is a bit slower on mobile devices. Saving is now done! I've kinda hacked it together into the URL for now though eventually I'll probably add local storage from HTML5 saving or setup cloud saving on my server.

I've added a bunch of random VNDS games (Not using the ones that have converters yet because lazy).

I don't guarantee any of those games will work 100% (Except Adaigo). Most of them have mp3 sound and I'll have to get around to converting audio for different browsers, so I'll just suggest using chrome for now.

Please try it out and tell me what you think. I should put together a list of things for me to do (Good to stop me from procrastinating more), but it's 4 am

Image loading is a bit slow because I havn't implemented preload yet.

Only controls are still mouse left click or touch.

Please tell me if you encounter any bugs. Since the URL autoupdates as your 'save', feel free to share those.

Link for those too lazy to scroll up: http://vnjs.thatplayer.com/

Link to comment
Share on other sites

That looks good~

i wonder how it would perform if it's fully voiced and you have to stream the VNs from a server?

you would need commercial-grade bandwidth? could there be a business model there? (One very akin to mangafox or mangahere or onemanga model.)

hopefully some1 can pull something like this off in the future, and completely obliterate us. that would make me enormously happy!

You don't need to host everything; there are already plenty of sites that will host your media for free. Even the text! All your site needs to do is keep track of where everything is and embed the right things at the right time; you could even imagine doing some clever load-balancing/re-upload-upon-delete/replication to make it more reliable and possibly self-sustaining.
Link to comment
Share on other sites

tried to play saya no uta, it lags quite a bit also i found a lot of lines still in japanese

ever17 lags on image change

but otherwise it works (cant work out how to save though)

REtransInternational: too advanced for me

Link to comment
Share on other sites

tried to play saya no uta, it lags quite a bit also i found a lot of lines still in japanese

ever17 lags on image change

but otherwise it works (cant work out how to save though)

REtransInternational: too advanced for me

I'm not sure if the Saya no Uta is supposed to be like that because it's the monsters speaking? I never really played it and don't think I can.

Saving is done through the URL for now. When you play the address bar URL automatically updates to represent your current location:

},%22gameName%22:%22Niji%20no%20Kanata%20Ni%22}]http://vnjs.thatplayer.com/#{%22interpreter%22:{%22scriptName%22:%22opening.scr%22,%22variables%22:{%22selected%22:%221%22},%22lineNum%22:13,%22depth%22:0},%22sound%22:{},%22graphics%22:{%22textBox%22:%22My%20body%20is%20unusually%20large.%22,%22background%22:%22hospital_n2.jpg%22,%22sprites%22:[]},%22gameName%22:%22Niji%20no%20Kanata%20Ni%22}

Not the cleanest way to do it, but it'll work for now. Was more of me creating a save format to use later.

Link to comment
Share on other sites

  • 2 months later...

Another update after two months. I've played around with HTML5 Application Cache for offline caching, and the results are on http://vnjs.thatplayer.com/redshift.html

If you visit on Chrome or iPad Safari it'll automatically start caching the game and you'll be able to play it offline. Firefox will prompt you first, but will still work fine.

Unfortunately there's no way for me to do this dynamically in Javascript yet (Except on maybe Firefox) which is why I've only made it for one game for now. Because of this I'm also hesitant to build this in because you'd be caching OGGs or MP3s that your browser will not play.

I've made no progress indicator. On my iPad it'll show up as an activity indicator in the status bar at the top thing.

Also Red Shift is only 18 MB. I'll try a bigger game like Fate/Stay Night if I feel like it.

Be back in another two months with maybe more progress.

Link to comment
Share on other sites

  • 4 weeks later...

Another update: Image scaling. The game automatically resizes to fit your screen. It doesn't handle it as well as it could yet, but it does work pretty well on my phone and tablet now. Also added a fullscreen option if you press F on the keyboard. Eventually I'll add a menu or something, but I've kinda not had that much motivation to work on this.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...