Diablo in JavaScript
mitallast.github.com
mitallast.github.com
But if you flip that statement on its head, the equivalent is "The web has finally caught up with what we could do on a 1997 desktop!"
There's something neat about "X in Y" for some technical novelty (like emulators) but I don't get the excitement in general.
There's a huge amount of value, as perceived by "users" of the services/applications/games, in not having to care about and install a specific client for each service/application/game.
That's why it's noteworthy when something that used to require a heavliy specialized client, such as a game, no longer does for delivering the same experience.
Of course, it's much harder to do a game in pure CSS, like this crazy thing http://jsdo.it/GeckoTang/4rXg
It's not cynicism I feel, it's dissatisfaction. I /want/ to use the web for powerful things, but the limitations of javascript make many of those things impractical. Hence my ambivalence towards "x in javascript"
Deleted comment
We have long had trouble agreeing on a standard for web-based native code. But that doesn't mean that it's a senseless request. The exalted status of Javascript is merely a convenient local optimum.
Most of the tech demo's we're seeing coming out of the JS crowd are from people who have only just started using the WebGL API (which is still experimental). I'm extremely excited to see the things that experienced OpenGL developers will be able to do as the API becomes more mainstream.
in order to make your statement, you have to ignore the state of a web browser running on a 1997 vintage desktop.
Look at it from the perspective of someone who just wants to use a computer for something a computer could do in 1997. Doing it in a browser today would still sometimes be a downgrade from doing it in a (well written) native application in 1997.
I am eager to seeing how much of a difference asm.js can make.
... but to agree with a sibling comment: wow-- you can just download the code in, like 10 min? And I can read/modify it it because it doesn't even have to be compiled to run?
These were both two very big limitations on my user experience in 1997...
I'm not saying that we should move back to having everything run on a mainframe, but I suppose that in response to the "so what" I was responding to I offer "wow, man: there is something way different going on in a port of a technology than there is in the original."
/postmodernity
I would class many of the other things you mention as incremental improvements of the rendering engine as a universal runtime. It's great that it's happening but it's not technically that exciting to me to see reimplementations of 16 year old games since we've had the flash runtime in the interim anyway.
You mean P2P connections? Oh we have that now in Firefox and Chrome. You mean video chats? Oh we have that. You mean thousands of libraries to create and develop videogames for the web? Oh we have that. You mean easily extensible browsers via plugins/extension? Oh we have that. I need you to be very specific about what we are lacking.
But that wasn't my point. My point was that just because the web allows you to do things that were possible on the desktop 10+ years ago doesn't make it interesting to me. And the fact that you can always add specific functionality to the runtime like video conferencing doesn't really address that.
I don't have to wait for browser vendors, I just start coding.
Not to mention it needed installation (Javascript just needs people to go to a specific page), and the speed, lag and buffering was horrible at the time.
That has nothing to do with the software and everything to do with the network, no?
Even on the same network, different conference apps have different characteristics. It depends on the compression and coded they use, how they handle changes in network performance, etc.
Plus the GUI and UX of that app was simply horrible.
http://en.wikipedia.org/wiki/File:CUcollaboration.gif
http://www.teknoblog.com/wp-content/uploads/2012/07/gmail-go...
I thought it was really neat, I don't know what all your hate is about. I also like that the source code is friendly looking and you could show it to somebody new to coding to inspire them.
The problem is that it uses stolen assets from another game.
That is 100% not ok, even for a tech demo.
(...there are plenty of free game assets out there, creative commons license; drawing attention to yourself by stealing someone elses art is douche behaviour)
I'm not going to stand up and tell someone its mean and unethical put some harsh criticism out about a project which is in itself unethically stealing art assets and associating itself with a brand it has nothing to do with.
If you're happy to accept this project and what it's doing, you should equally be happy to accept it's going to get some flack for it. You can't have it both ways (doing this is ok even tho its unethical AND but its unethical to criticise it and that's bad).
OT: Gamers tend not to have a lot in between hatred and love to begin with, and if you're at all familiar with the current Diablo community, well, Diablo 3 hasn't brought out the most civil side of the fans.
Also, to clarify, I found this while browsing through http://gistflow.com (specific gist: http://gistflow.com/posts/201-diablo-js)
And I know people will complain about how "we were doing this kind of stuff in the 90s", but I still think it's quite an accomplishment given that it's programmed at a much higher-level of abstraction than the original Diablo (which was C and some machine code).
But I still think it's stupid to have games in the browser. The browser does not take full advantage of the hardware - it shouldn't, it's made for content and information. Its priorities are security (sandbox) and accessibility.
So it's gonna be a while before we'll see games - that require lots of raw machine code processing - in the browser. Because in principle, if browsers give accessible raw processing power, they'll suffer on security. And it's proven really hard to have the best of the both worlds, otherwise today we would have mainstream cutting-edge graphic games available in the browser.
And we don't, we have 90s games.
Edit: I found it; It is using the event property offSetX instead of a cross-browser property; if the developer or someone else want so fix: http://stackoverflow.com/questions/11334452/event-offsetx-in... [Line 151 in diablo.js]
https://github.com/mitallast/diablo-js
The code's not commented very heavily, but it's pretty readable nonetheless.
The fact that browsers are still able to run my shitty code is kind of impressive.
But just sayin', it's nice to see this, but even in the "on the web" realm, it's not that big of a leap. It's more of an indication of how much network and processor speeds have advanced in the last 11 years than how much capability of web browser has.
What should do with it? :)
Edit: Yes, I did only test in Firefox and Chrome. According to the comments below, it appears to work for modern browsers except Firefox.
I can't understand this - in 2013, how on earth do you break mouse events in JavaScript? We've had events like onmousedown working reliably across browser implementations for a decade or more, what on earth is going on?
Firefox should just support offsetX as well, but they don't, for whatever reason.
Nothing else is implemented - and that much is probably obvious for people who played a hack'n slay before.
But thinking about it, it is interesting how games explain their shortcuts in the interface.
Even if the goal was to showcase what can be done in JavaScript now, it's a rudimentary isometric visualization of animated sprites with very simple game logic (not even basic path finding).
Just to make it clear, regarding the creator and the project:
* Is there something bad with him creating something? No, not at all. Cudos to him for making something! Especially for making it open source. Let's anyone peek at how he has done what he has. Sweet.
* Is there something bad with with how he is doing it? Yes, he is using copyrighted graphics he doesn't own the rights to use.
Regarding this as HN:
* Is this technically interesting? No, not even remotely. Throwing graphics on a canvas and point-and-click basic game logic is not interesting. Point out to me a basic mechanic or implementation that isn't trivial (overlay of minimap is the most interesting thing that comes to mind).
* Is this aesthetically interesting? It would be, if it was original art. Seeing as it is just "borrowed" sprites, the optimal goal would be a screenshot of Diablo 2.
* Is the title accurate? No, not even remotely (there is much more to Diablo than sprites).
* Is the project anywhere finished and presentable? Maybe this just personal preference, but I don't like seeing other people's pre-alpha demos.
tl;dr: Stop wasting people's time with technically uninteresting posts with misleading titles alluding to the contrary, to projects using assets they shouldn't.