Redeveloping RSC in WebGL?


Player avatar

Shinrael Send PM

Member

From: The Netherlands
Posts: 54

Hi there.

For the last couple of months I've delved into the abyss that is rscrevolution classic server/client development as I was curious as to how this all works on the inside. Please note: I'm not planning to create my own server or anything like that and I'm not trying to advertise any of that here. I simply wish to contribute what knowledge I have to RSCR itself.

First, some of my background: I'm a professional senior web application developer with a university degree in Computer Science. I have some knowledge of Java itself since we used it during programming courses, but the OOP fundamentals are my speciality, so it's easy for me to read Java code. I have nearly 20 years of experience with web-based scripting and languages like HTML, CSS, Javascript and PHP. I have in-depth knowledge of the Symfony framework and database design. The application that I've currently worked on for the last five years has been implemented in some of the major government institutes in my country, such as muncipalities and a few ministries.

In my spare time, I like to work on hobby projects and of course I like to play here on RSCR. I've noticed that development on the java-based client and server code has come to a halt in the last couple of years. I think this partly because people lose interest in RSC althogether, but also because I find that the java-based codebase is a labyrinth to most people. People with in-depth knowledge of how it works appear to abandon their projects and there's few people willing/able to continue their work. In my humble opinion, there are more modern languages and technologies available to recreate a game like this. Nowadays, we are no longer limited by dial-up internet and low spec pc hardware, so we should likely have more freedom when redeveloping RSC in a more modern development environment. Java and Flash are plagued by security issues and I foresee that things like HTML5 and WebGL have a much better chance at being the standard for webbased games and applications if they aren't already.

I have therefore come up with an ambitious plan: I want to attempt to redevelop RSC in WebGL/Three.js and possibly a server-side code base in something like NodeJS?

I realise this is a monstrous task, but bear with me. I think that RSC and RSCR specifically is an excellent candidate because:

  • The game doesn't need to be designed anymore. We know what it should look like. We have a working Java-based game after all.
  • The game's graphics and engine are complex but it should still be less complicated than the modern RS versions.
  • WebGL/Three.js are modern technologies that should allow playing RSC on any (modern) mobile device, without having to install things like Java.
  • We could have a webpage based "applet" again, without the need for expensive signed certificates.
  • Redeveloping the game allows for a clean and well-documented codebase and API.
  • We could develop more intuitive tools that allow for faster game content development.
  • Possibly doing this open source would reinvigorate the RSC development community and the playerbase itself.
  • We could fix a lot of the graphical glitches like the Z-fighting issues with some of the in-game objects.
  • We could also try to make the game compatible to VR-headsets. Wouldn't that be amazing? tongue

I've tried to explore some of the resources available in the rsc development scene and I have managed to get some useful stuff, like all of the item images and other game assets. The sprites seem easy to work with. My question is: is it possible to export the RSC models (like trees, rocks, etc.) to a format like OBJ?

For more info on three.js: have a look at the demo's here: https://threejs.org/

Again, I understand this is a very ambitious idea, and it could take years, but I like challenges like these and let's face it: the current Java codebase hasn't seen major progress either the last few years. The content development seems to progress very slowly. Some quests are still not developed. This is not meant as criticism towards the developer(s) here. I fully acknowledge the great efforts they put into RSCR and I realise that they are probably doing this also in their spare time. I'm simply thinking outside the box.

If you guys like the idea, I can try to begin development on some early proof-of-concept. Don't expect too much of it yet though. tongue
Any contribution you'd like to make is very much welcomed. Let's discuss it here.

Last edited by Shinrael (26 Sep 2016 12:44)

Player avatar

Fate Send PM

beta

From: Sweden
Posts: 858

Neither I or n0m have any expertise in NodeJS or WEBGL. It would be expensive unless you can create models and graphics yourself.

However you should talk with the right people maybe people outside the RSC scene and team up with other programmers who has knowledge in these languages. If you want this project to be "RSC" like, then you know the game by heart and can communicate with the other programmers and go this path.

Good luck with your project.


Done in one take, because in life there are no repeats.

Player avatar

Shinrael Send PM

Member

From: The Netherlands
Posts: 54

Thanks.

Fate said:

Neither I or n0m have any expertise in NodeJS or WEBGL. It would be expensive unless you can create models and graphics yourself.

Can't we somehow export or reverse-engineer these from the existing game data? I'm not asking for stuff from RSCR specifically. I've found some stuff on moparscape and I just need some directions. tongue

Last edited by Shinrael (26 Sep 2016 13:19)

Player avatar

Fate Send PM

beta

From: Sweden
Posts: 858

Shinrael said:

Thanks.

Fate said:

Neither I or n0m have any expertise in NodeJS or WEBGL. It would be expensive unless you can create models and graphics yourself.

Can't we somehow export or reverse-engineer these from the existing game data?

Sure but in my opinion i'd go for new graphics, landscape, models and then be done and dusted with the copyright. If you then want it to be like RSC because even though you go with 2D and the RSC graphics it wont have the same RSC feel, you could just make your own game and make it an adventure type.

You can still go for the three hit combat system, levling, skills etc etc..


Done in one take, because in life there are no repeats.

Player avatar

Shinrael Send PM

Member

From: The Netherlands
Posts: 54

Problem is, I'm not skilled enough as a 2d/3d artist to create all of these assets from scratch, so as you mentioned, I'd have to hire this expertise externally or buy models online. It's not necessarily my intention to create my own game or to make it into anything big or commercial. I simply want to recreate the rsc engine and use the existing assets and offer the code specifically to rscr or possibly the rsc private server scene in general. I'm guessing that if the tools are good enough, people will eventually add their own models and assets.

Player avatar

Nyx Send PM

subscriber

Posts: 1,077

Why wouldn't you just write a new game though? same stuff people like from RSC especially the PKing structure and do new models etc


Some kind words from a fan
[img]https://preview.ibb.co/dNCYi7/newforumsig.jpg[/img]

Player avatar

Shinrael Send PM

Member

From: The Netherlands
Posts: 54

I'd love to, but creating a new game from scratch would involve a lot more work and it'd be much longer before I'd be able to show a working concept. I'm a pretty good programmer, but I'm not the creative/artist type. I think that if we can recreate the engine using existing game assets and design, we could eventually replace everything with our own assets and it'd essentially be a new game. By using the current assets, I'd be able to produce a working concept much sooner and perhaps it'd be more successful in attracting people who could eventually make new assets for us that way.

Player avatar

Nyx Send PM

subscriber

Posts: 1,077

Some of the modern javascript game engines are very good now.


Some kind words from a fan
[img]https://preview.ibb.co/dNCYi7/newforumsig.jpg[/img]

Player avatar

Kevin Send PM

subscriber

Posts: 487

As Fate said, it would be simpler to just make your own game with the RSC base.

Player avatar

Oopsie Send PM

subscriber

Posts: 701

i'd lov 2 inspectah ur servah, do pots work in the wildy, yah?

Player avatar

zomara Send PM

Member

Posts: 73

Love the idea. Good luck smile

Player avatar

xxKDxx Send PM

subscriber

From: china
Posts: 239

I'd say give it a go! if you have a spare time, and i'm sure you'll find right minded people to work with!


K O D X / K L O J A

Player avatar

Cub Send PM

subscriber

Posts: 292

Many have tried taking RSC and translating it into other languages and etc. In fact what you see and play is just an interpretation on how classic is/was built. RSCR in my eyes is the closest thing I've seen to the original. I wish you good luck, the hardest thing about "recreating RSC" in my opinion would be the sprites/models. You need to have a very good graphic artist who knows the technical part of how RSC works with sprites. Its why you don't see new content that much on servers. It can take months just to get maybe two new equipables done. Also new NPCs are a bitch too.

See RSC has done us a little favor, currently armor works off of one set that gets recolored, same goes for weps & phats & h-ween masks, robes, wizards hats, and skirts (thats all i could think of) so creating a new COLOR TYPE* of armor and wep is easy since the graphics are already there. The hard part is creating new items and weps that require new item sprite, and new frames for human characters.

If you're just wanting to do a replica then everything is pretty much done for you (kind of) you just need to recode, but if you're wanting to add new things you have a journey in front of you.