
Ragnarok MMO open-source HTML5 client - mihai_ionic
https://github.com/vthibault/roBrowser#
======
possibilistic
I never played this game, but back in HS/college I recognized that it brought
one of the largest shares of traffic to my video game strategy guide wiki. The
RO guide underwent constant maintenence by fans, and was subject to extreme
organic growth despite no manual intervention on my part. The level of
curation, attention to detail, and the extent to which it was taken was
fascinating--and I didn't initiate any of it.

I was always impressed by the Ragnarok community.

Sadly, memory of those days was marred when a trusted friend that was running
sysops hijacked my domain name account and stole the site from under me when I
was overseas. But it was a good lesson in never trusting anyone and not to
under any circumstance reuse passwords. (Granted, I swear Godaddy's password
reset was an idempotent no-op back then... My account changes never seemed to
persist.)

~~~
dllthomas
_" idempotent no-op"_

Isn't that the only kind?

------
chao-
Some of my earliest lessons in "how not to write software" came from listening
to the ranting of a friend who worked on the original eAthena implementation
(i.e. back when it forked from the Japanese Athena project and gained the "e"
in its name). All of the fragile handoffs between the multiple server types
(character, map, login) and the client. Most notable were the mountains of
code, network and otherwise, that had to be written in knowingly buggy,
inefficient or incorrect manner simply to properly mimic the official server
functionality.

There was also one attempt to make an alternative client for the official
servers to deal with some of the lackluster interface issues (longstanding,
serious/obvious bugs from 2002 that lasted until 2009ish). From what I recall,
it was way too much work, and the core features were easier to deliver as a
sort of (eula-breaking) addon to the official client.

~~~
adamjs
I might be able to give some insight, I helped found the RO emulation
community back in 2003. Along with AppleGirl, I (AjS15822) made some of the
first English NPC scripts used in all Athena servers, participated in YARE,
contributed code to Athena, and ran several of the forums.

It's been a decade so my memory is a bit fuzzy, but here's what I remember
about that time:

We started with AEGIS (leaked Korean server files) on the asb-sakray board [1]
but it was notoriously hard to setup since it had major MSSQL and ODBC driver
dependencies (I wrote guides). We started work on an installer for Aegis but
realized we wanted to customize the server even more.

A few emulators started to take hold at this time (YARE probably the biggest)
but Gravity (creator of RO) threatened legal action and shut it down.

Enter "Athena"— we discovered a Japanese RO server emulation project on the
"Avethes" BBS that had the most complete packet mapping at the time. AppleGirl
did most of the first translation of the code (AppleMod) which spawned a ton
of other English emulation forks as the YARE developers jumped back on.

It was a really fun time for me— age 14, not much programming experience, in
the middle of this massive, open-source MMORPG emulation war. I learned so
much about C++, network programming, and server architecture during that time
(as did many others). All the different forks openly stole code and ideas from
each other so things moved very quickly.

The beautiful thing about writing code for RO private servers was the
immediate sense of gratification you got. I could implement a small change to
a skill, or a new NPC behavior, and then immediately log into the client and
see it in action (and then thousands of users would see it in action when we
committed the change).

We weren't concerned so much about code quality in the beginning since Athena
strived to be a server modder's paradise— if you wanted raw stability, you
went with Aegis instead. Stability came later once all the projects eventually
aligned under one flag (eAthena).

I left in 2005 to work on server emulators for Lineage II, and later got bored
of servers and jumped to client-side graphics programming, where I've been
happily working for the last seven years. (Funny enough, my latest project [2]
was used in Lineage II as well as hundreds of other MMOs and games, so I've
now written code for both emulators and official. :))

[1] [http://forum.asb-sakray.net/](http://forum.asb-sakray.net/)

[2] [http://www.awesomium.com/](http://www.awesomium.com/)

~~~
chao-
Thanks for the clarification and glad to see RO was a gateway into software
for so many people :) I even remember YARE, if only vaguely.

A friend of mine who had a stint in a game studio is convinced he should never
have to (re)write a UI in C++ ever again, now that "the web" has created such
a lingua franca in the form of HTML, CSS and JavaScript. As evidence of this
he often points to Awesomium and has spoken highly of it.

~~~
adamjs
Haha awesome, I would love to meet your friend. :D

------
viiralvx
Oh my Lord...This just took all the way back to my teen years, I played RO
from like . . . 12 years old all the way until I was 18/19ish. It was an
amazing game, I know I still log into my buddy's private server every now and
then to PvP a little bit and it's always a fun time!

~~~
kawsper
Just starting the demo, and hearing the music gave me chills. I have spent
countless hours in that game.

~~~
viiralvx
I don't know how such a minimalist and simple could be so addicting. War on
Emperium, PvP, and hours grinding cards. And even on low rates, just getting
lost in these various worlds, exploring every little map...so many memories.

------
jeremymcanally
I can't get the demo to connect to the server, but the screenshots are super
impressive.

The amazing part to me is that Ragnarok is still going. We used to play it in
high school along with Helbreath because they were free MMOs and we had no
money. :)

~~~
skeeterbug
iRO was not free. The only time it was free was during the beta IIRC. After
that there was a fee.

~~~
yelnatz
Hasn't it been free to play for years now?

They get their revenue from their shops, like how most private servers do it.

~~~
skeeterbug
It is free to play now. The comment I was replying to seemed to indicate it
was the earlier years of RO. Maybe I was mistaken.

------
toblender
I really wish I found this 3 days ago, spent almost all of Sunday trying to
get RO to run on my macbook without dual boot :(

Nice work, time to spam LoV!

------
aeturnum
Ragnarok has long been a center for OS development of one kind of another.
When I was younger I was part of a team of people trying to add the WoE
feature set to one of the server emulators. I wasn't very capable, but I
helped a little. I recall that it was made more difficult by the comments in
the source code being in japanese.

------
JonLim
Incredibly impressed.

I'm at work, and it's working superbly, with no noticeable lag or stuttering.
I... I should stop.

Great work!

------
hardwaresofton
This game was the first MMO I really got into.

In the back of my mind, I always wondered if a project like this could be done
(given that RO is MUCH less resource intensive than the quake engine, and
other html5 demos I've seen, etc)...

I am so happy to see this project exist, I love this.

------
leishulang
when will Starcraft brood war html5 that are capable of 2v2 online multiplayer
available?

~~~
slacka
The tools to decompile starcraft were released on github. The next step is to
recompile it to HTML5 instead of ARM. You can read about it here:
[http://pandoralive.info/?p=3089](http://pandoralive.info/?p=3089)

------
mhd
Hope that this is better code than the OS Ultima Online stuff I looked at
years ago. Which looked a lot like decompiled binaries, even the original
code…

~~~
byuu
Ultima Online was just a nightmare. They _constantly_ released major protocol
changes with each new patch, and those were pushed out on an almost weekly
basis.

It was still really fun though to play as a GM on your own little personal
server and melee guards.

Oh, I'd give the world to play that game again, pre-Trammel, with the active
user counts that existed back in the day. The only choice today is the ruined
mainline (WoW clone) servers, or ghost-town private (T2A) servers :(

------
keithxm23
This is awesome. Felt so nostalgic while going through the videos and
screenshots. What an amazing game! And great work Vincent and team!

------
aaron-lebo
Are they using assets from the original game (if so, are they legally
available), or is everything open source and original content?

~~~
andypants
It uses assets from the original game. Tou can download the desktop client and
assets for free from the official ragnarok website, but I don't know if it's
legally allowed to use the assets in this way. All the privately run servers
also use the original assets.

This web client automatically downloads the required assets though. When I
used the demo it just worked automatically. I didn't need to manually download
anything.

------
u124556
I wonder in how many years we'll be able to play WoW or GuildWars2 on our
browsers.

------
bundy
Welp, time to go recreate my Sniper and go MVPing.

Thanks for the post, definitely going to check it out!

------
dmead
the ragnarok beta got me re-interested in the old snes rpgs. good stuff.

------
abjorn
Now you can grind your life away from the comfort of your own browser.

------
mkr-hn
I saw this a few months ago. I never thought I would see it on HN.

------
d357r0y3r
Next up: open-source HTML Ragnarok Online bots.

~~~
copypasteweb
Meanwhile you can probably connect HTML client to already existing open-source
non-HTML bot [1] using its bot-as-a-proxy feature. Adding automation stuff
directly to HTML client shouldn't be hard, assuming network protocol handling
and state keeping already provided for you.

[1]
[https://en.wikipedia.org/wiki/Openkore](https://en.wikipedia.org/wiki/Openkore)

------
Kiro
Where is the actual JS code for the client?

~~~
vthibault
You can find it at
[https://github.com/vthibault/roBrowser/tree/master/](https://github.com/vthibault/roBrowser/tree/master/)
in the src folder.

------
pesto88
welp, time to make Second Impact before Paul finds out

------
gdiocarez
Yeah!

------
notastartup
게토레이드

------
mimog
Demo doesn't work. Not super impressed.

~~~
andypants
The game server seems to be down. It worked when I tried it yesterday, and it
plays pretty much exactly like the official client. It really is very
impressive!

