
Dune II ported to the Web with Emscripten - experiment0
http://play-dune.com/#
======
PostOnce
Emscripten is fantastic. <https://github.com/kripken/emscripten>

LLVM -> JavaScript. The possibilities are many, wish I had more time to play
with this kind of stuff.

I believe it's how <http://repl.it> and similar sites work.

Tangentially, aside from porting games, <http://luatut.com/crash_course.html>
is one of the better uses [of Emscripten] I've seen. Press Escape and a
console drops down. Handy way to learn a language.

~~~
zodiac
repl.it uses biwascheme, a scheme interpreter written in javascript

~~~
dbaupp
They also use Empythoned (CPython compiled with Emscripten,
<https://github.com/replit/empythoned>) and Emscripted-Ruby (Ruby compiled
with Emscripten, <https://github.com/replit/emscripted-ruby>) and a version of
Lua compiled with Emscripted
(<https://github.com/replit/jsrepl/tree/master/extern/lua>), among others.

------
thristian
I'm sure this site will be taken offline for copyright infringement almost
immediately, but it really is a decent recreation of the original. It's also
historically significant: Dune II is to the real-time strategy genre what
Wolfenstein 3D is to the first-person-shooter: not necessary the very first
example ever, but the first to achieve notable popularity, and the progenitor
of most of the following examples.

~~~
tapertaper
Maybe a silly question: do copyrights for games (art or whatever) ever expire?

~~~
tptacek
Yes, but not for a long time.

~~~
astrodust
By "long time" you mean "as long as large copyright holders lobby to keep
extending the window" which could mean "never" in practice.

~~~
tptacek
Why don't we just settle on "so long as to make expiry irrelevant for video
games".

~~~
astrodust
I don't know what you're complaining about. Pong will be public domain in
2092.

------
cskau
For anyone interested in playing Dune II natively I highly recommend Dune
Legacy[0] - an open source implementation which I personally found much better
than OpenDUNE, which the link is based on.

[0]
[http://sourceforge.net/apps/mediawiki/dunelegacy/index.php?t...](http://sourceforge.net/apps/mediawiki/dunelegacy/index.php?title=Main_Page)

~~~
buddycasino
Nice! It fixes most annoyances of the original Dune II, e.g. you can use your
right mouse button to order units to move somewhere, and there is finally a
production queue.

------
jweir
Oh wow, this takes me back.

My first job was at Virgin Games as an artist. I got a beta version of Dune
II, and played it obsessively.

The artwork Westwood Studios created was very inspiring - their artists were
very good and developed some wonder palettes.

------
IgorPartola
Funny, I've been replaying Dune 2 over the past week and a half. Despite the
controls being somewhat clunky (no selecting multiple units, your units won't
defend themselves in a lot of cases, etc.) this game has _character_ and
_charm_ , not to mention hours and hours of gameplay. I have been hoping that
games like this, King's Bounty, Settlers, XCom, and others from that era would
show up for mobile platforms. A lot of them would work really well on a
touchscreen device.

~~~
xyzzyb
iDos is great for this. Playing Ultima V on my iPad is fantastic.

------
buster
Just awesome. Dune II was a big part of my childhood. :)

~~~
Tharkun
Same here. I spent countless hours playing this in 1992, back when I was tiny
and my English skillz were severely lacking. Words like "siege tank" were
beyond me, so the siege tank was nicknamed after my fat aunt, the MVC after my
handy uncle etc.

Brings back memories.

~~~
spiritplumber
Haha, us too. It got to where me and my friends who played it would call
someone a harvester if they kept getting lost IRL due to their stupidity

------
SeppoErviala
We've come a long way: <https://dl.dropbox.com/u/9414611/dune-II.jpg>

------
jasonkester
Awesome. I'm not so excited about the tiny 320x200 viewport though. Why not
zoom it to fit the browser window?

Strangely, they seem to have managed to disable the browser's built-in
zooming.

So yeah, fun, but squinty.

~~~
ghshephard
If you are on an OS X system, just use Ctrl+touchpad two-finger scroll to zoom
in/out (presuming you've enabled that)

------
gus_massa
I played this game a lot a few years ago :).

It amazing/annoying how different the UI is from the modern games. For example
to move a unit you must click the "move" button and the click the place where
you want to go. There are a million of details that make modern games easier
to play.

~~~
SeppoErviala
In the DOS version you could also use 'm' on the keyboard

~~~
hiddenfeatures
Also possible in the online version

------
prawn
Can you still save and reload until the Death Hand actually hits something
useful?

------
danvideo
Anyone else having trouble getting it running? I'm on a very fast internet
connection and it's been 2-3 minutes of black screen already.

~~~
SeanDav
Doesn't run on Firefox for me, but does on Chrome. (Man I hate saying that as
I am a Firefox fanboy)

~~~
mercurial
Works with Firefox 16.0.2, unfortunately on Windows.

------
timtadh
The download is pretty massive, it is 6235641 bytes. Which is slow even on the
multihomed fiber connection I am on. Still pretty neat.

~~~
hatu
That's only 6MB, I think the server is just getting hit pretty bad from all
the traffic

------
zemanel
played a lot of Dune II in programming class back in the days. Also got caught
a couple of times. Learned two thing you can't teach in a class room, culture
and how to slack like a pro

------
myth_drannon
small bug : you can attack and kill your own units :)

~~~
debacle
That's not a bug.

------
yread
it seems to have some bugs. I lost a unit in the first level (I know, I know)
and tile graphics went bonkers

------
SeppoErviala
No sound effects :(

~~~
axusgrad
The music brings back memories, though :)

------
Nordvind
FYI, there is a post from the author, describing some game designs and listing
existing bugs (unfortunately, Russian only) -
<http://habrahabr.ru/post/159501/>

In short, he says that sync model used in OpenDune ran very badly in JS, so he
had to replace it with async model (thus introducing some bugs).

He also lists hotkeys:

 _A_ ttack, _M_ ove, _H_ arvest, _R_ etreat, _G_ uard, _T_ ab, _B_ uild

