Jump to content

Custom Ragnarok Online Client


Shinryo

Recommended Posts


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  737
  • Reputation:   216
  • Joined:  11/29/11
  • Last Seen:  

Oh wow this project look awesome. crossplateform is really important for me too.

A bit sad about the closed part but it's ok with all you planned, just hoping setting up all those hooks won't prevent you focus on the main stuff.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  61
  • Reputation:   153
  • Joined:  11/10/11
  • Last Seen:  

I've spent some time to improve resource loading. There's no caching done yet, but I'm still pretty satisfied with the current performance. Should be increased even further as soon as the caching is done. Here's a small

video that shows how the rendering is actually done:

The objects in this video are rendered based on the distance from characters position. I've set an initial position at the origin.

Take note that I have forgotten to enable object lightning and noticed this only after I have finished rendering the video, lol...

Edited by Shinryo
  • Upvote 4
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  138
  • Topics Per Day:  0.03
  • Content Count:  835
  • Reputation:   25
  • Joined:  11/22/11
  • Last Seen:  

can't wait for this release... :(

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  6
  • Reputation:   1
  • Joined:  01/31/12
  • Last Seen:  

Nice project, Shinryo.

Keep going : )

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  16
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   4
  • Joined:  02/06/12
  • Last Seen:  

very nice, i wish you all the best for our project.

i like it.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  29
  • Reputation:   19
  • Joined:  11/22/11
  • Last Seen:  

Mind to explain your opinion?

Outside of the obvious problems of extensibility being subpar. No matter how amazing your plugin system is, it will ALWAYS be inferior to what it'd be as open source.

1) Let's say there's a huge bug. Everyone will have to either rely on you (instead of Gravity) to fix it or try to find it in ida (or anything similar for disassembly debugging, I'll just say ida) instead of something much more sane like visual studio or c::b where you can see the original code/data structures/etc, on top of being much MUCH more accessible for most people. Considering Gravity's client is much much older software, any bugs are much more likely to have been found and fixed (or ignored, sadly). With your client, you won't be able to catch up to that status for years. Or worse, with your plugin thing people are going to have to ship 10 hojillion plugins to fix bugs that aren't fixed yet. Then maybe they're fixed but users still have those plugins and the client becomes unstable. Oh no!

2) Let's say there's an exploit of some sort. Everyone will have to rely on you to fix it........ or try to find a solution in ida instead of something more sane like visual studio! With Gravity's client this is the same case, but people at least have had years of work put into modifying it and will have at least some familiarity with what they should be doing. With yours, none of those people know anything about your client. So they're going to stick to fixing bugs with Gravity's client. Easier that way when you've got years of experience there.

3) let's say there's bad code somewhere. who knows where, but something clogs up too much memory or cpu time. there's an issue somewhere, and someone wants to improve it. well, unfortunately they would have to do so via ida. Or that "amazing" plugin system where they have no idea if what they're doing will be stable or not..

4) let's say you die in a horrific accident (though let's hope not, be safe!) while the client is closed source. that's it. game over. client development stops there. we are then back to where we are now, with no custom ro client worth a damn. y

in general all of these problems just come down to the project dying with you alone.

The points in your list can be easily implemented with the help of a plugin system.

And infinitely easier and more expandable in an open-source implementation. /no1 You wouldn't have to worry about creating this system (for this project at least) and you would actually have people who can help you with development.

Those which focus to implement the ideas (Gepard is) talking about and those that will use this ideas and indeed make money from the work of others (most likely how it is with eAthena/rAthena). I don't see the point why the second faction shall gain all the money without doing anything.

Not really sure where you're coming from here... you're worried that people won't follow, say, the GPL?

In my opinion, plugin system is just a veil to hide the bad "closed source" thing, nothing else.

yep

You have the chance to release one of the most important projects for private server development (one that is at its best if open source, and at its worst if not) but you're going to give us nothing but an alternative to Gravity's. Maybe it gets slightly better performance, who knows. In my experience at this point in time it's really only relevant for huge GvGs, which don't exist on most servers anymore (and the performance issues are gone upon an @refresh anyways, heh).

Edited by mrjnumber1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  5
  • Topics Per Day:  0.00
  • Content Count:  80
  • Reputation:   14
  • Joined:  01/16/12
  • Last Seen:  

Relax if he doesn't want to share it, he doesn't have to, stop crying... :P

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  61
  • Reputation:   153
  • Joined:  11/10/11
  • Last Seen:  

@mrjnumber1:

You obviously look only onto one side of a medal, and it's probably the one that gives you the most advantage. Almost all your points are related to exactly the same thing. Even if there shall be a huge bug, I doubt that most of the people out there would share the knowledge about the existence of such a bug as long as there is no "real team" behind this project. Fixing a bug and keeping it to the own server gives an advantage after all. That's what most (not all) people would do. Keeping the critical parts closed source will force everyone to at least drop a note if they seriously shall use my implementation. However, you basically say that open source would be much better, 'cause everyone could fix and improve everything on their own. So where shall this fixes and improvements go to? This is just a hobby project to learn more about virtual reality. I'm not Linus Torvalds with a team behind this project that maintains the core. It's just a project for personal use, giving the possibility for others to use this client and add custom implementations. I won't force anyone to use it after all. As you might already noticed by now, it really makes no sense to release such project as open source as long as there is no team behind it.

Summary: IF there shall be a huge bug, IF there shall be an exploit and IF there shall be bad code that hurts the performance, then there are two options:

1) Drop me a note and I will fix those bugs as soon as possible. In the end, I'm the one who wrote the code and therefore the one who knows how to fix the bug as fast as possible. People that focus on adding customizations (while open sourced) will never know how the core really works as long as they never work on the core itself. And if you think that an open source project would give them the access to the core so that they could work on it: don't you think it would be much better when they drop me a PN asking to join the project, instead of creating just another clone? It is no coincindence that the other client projects died so easily. I wonder how that could happen, they were open source after all?

2) I lose interest or don't do anything for a long time on this project. So what? If that happen, I will make sure to release the source anyway, so that's not much of a problem.

If I should have a stable base client and a decent team that works on this project, then the source might get released. As long as this is not the case, this project will stay closed source.

Edited by Shinryo
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  392
  • Reputation:   285
  • Joined:  12/19/11
  • Last Seen:  

Fixing a bug and keeping it to the own server gives an advantage after all. That's what most (not all) people would do.

There is no way to keep a fix for yourself, release binaries to players and follow GPL at the same time. But I guess you don't feel like fighting with some morons over GPL.

don't you think it would be much better when they drop me a PN asking to join the project,
If I should have a stable base client and a decent team that works on this project,

Does it mean that you're looking for team members?

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  14
  • Topics Per Day:  0.00
  • Content Count:  351
  • Reputation:   52
  • Joined:  11/15/11
  • Last Seen:  

The project and that video are just awesomeness in 2 posts.

The loading of objects is really cool, a lot better than the way it is now, gives it a better game feel to it.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  112
  • Reputation:   89
  • Joined:  11/12/11
  • Last Seen:  

I would write a plugin or three if this client does get finished.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  19
  • Topics Per Day:  0.00
  • Content Count:  192
  • Reputation:   43
  • Joined:  12/13/11
  • Last Seen:  

Not open source, not interested ;)

It's simple as that.

But before everyone starts to discuss about open source or not:

1.0 Only rendering is done yet, this project is not even close to be finished, so be patient.

2.0 Another coder who's working on his own instead of supporting existing projects. (as always, no offense)

2.1 I know it's a learning process for him, but that makes the project even less interesting.

3.0 It's the coders ultimate decision to release it or not.

My personal conclusion:

This project shouldn't to be too appealing to the community.

Atleast not as of yet.

But i guess that's just my point of view...

Maybe you're going to surprise me with a nice client Shinryo.

Who knows ^^

Edited by Everade
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  91
  • Reputation:   25
  • Joined:  11/28/11
  • Last Seen:  

This should be a discussion thread about the development of the client, not about whether open source is better than closed source or not. If you want to discuss that, take it to the offtopic area.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  392
  • Reputation:   285
  • Joined:  12/19/11
  • Last Seen:  

It's not a discussion about whether open source is better or not, but about whether this project should/could be open sourced.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  4
  • Topics Per Day:  0.00
  • Content Count:  104
  • Reputation:   30
  • Joined:  11/11/11
  • Last Seen:  

All GRF patchers are closed source. Yet every server uses one of them.

Aw.. not all, but okay xD

I guess some people could argue that patchers serves specific purpose (patching GRF), there is a certain limit of feature before it gets out of hand. I don't know anyone would want make a game built into patcher or .. I don't know.. a httpd? But client does have many potentials.

I don't mind whichever the choice Shinryo going to make. If it became open source, cool I can read the code and learn something ;) , if not oh well.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  71
  • Topics Per Day:  0.02
  • Content Count:  328
  • Reputation:   13
  • Joined:  11/27/11
  • Last Seen:  

I think we should support this project. The fact is that the new client dates now that we diff is not good as the client date that were using before. And today's client gives us inconvenience.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  1
  • Topics Per Day:  0.00
  • Content Count:  4
  • Reputation:   1
  • Joined:  01/09/12
  • Last Seen:  

epic

epic

epic

epic woooooork

i love it

if you finish that how this will work?

Link to comment
Share on other sites

  • 2 weeks later...

  • Group:  Members
  • Topic Count:  22
  • Topics Per Day:  0.00
  • Content Count:  392
  • Reputation:   285
  • Joined:  12/19/11
  • Last Seen:  

Leaving source discussion aside, I'd like to ask if you're going to mimic Gravity's client behavior strictly? From what you explained so far, I understood that graphics flaws and imperfections will be fixed. How about other unfeatures, like hardcoded sprite ranges?

  • Upvote 1
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  2
  • Topics Per Day:  0.00
  • Content Count:  20
  • Reputation:   3
  • Joined:  02/21/12
  • Last Seen:  

Sounds promising! Best of luck with this project, I hope you finish and it comes out great.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  50
  • Topics Per Day:  0.01
  • Content Count:  308
  • Reputation:   3
  • Joined:  12/18/11
  • Last Seen:  

Posted · Hidden by Maki, March 25, 2012 - Deleted as requested - Maki
Hidden by Maki, March 25, 2012 - Deleted as requested - Maki

in my opinion shinryo should focus also in shins diff patcher because its a little difference from old client into the new client

judas has a code that can be used to work the new client in the latest rathena svn.

here is the code of supportmii.bat


@echo off
tasklist|find /i /c "Supportmii.exe" > nul
set INSTANCE=%errorlevel%
if "%INSTANCE%"=="0" goto already
start Supportmii.exe 1sak1 /account:sci.xml %1 





::TESTING
:: «%1» is the name and path of the file you want to run.
::goto end
:already
::echo. & echo  Client is already running somewhere.
::echo. & echo  Tap spacebar to conclude this batch file.
::pause>nul
:end
::set INSTANCE=
::exit

Link to comment
  • 3 weeks later...

  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  61
  • Reputation:   153
  • Joined:  11/10/11
  • Last Seen:  

Just a quick drop:

I'm still working on this project and have used my recently free time to focus on the rendering part and improve it further (since this is one of the main goals). Here are some high resolution screenshots from the current real-time rendering. Take note that I have disabled shadows on objects, since I have written a new concept for calculating the normals and haven't implemented it yet. Will follow soon. These screens have been made with OpenGL as rendering system.

Izlude:

http://img3.picload....nshot031120.png

Prontera:

http://img3.picload....nshot031120.png

Hugel:

http://img2.picload....nshot031120.png

Comodo:

http://img2.picload....nshot031120.png

Yuno:

http://img3.picload....nshot031120.png

Prontera Field:

http://img2.picload....nshot031120.png

Rachel:

http://img3.picload....nshot031120.png

Prontera Guild Castle:

http://img4.picload....nshot031120.png

Payon Dungeon:

http://img2.picload....nshot031120.png

WoE 2.0 Castle:

http://img3.picload....nshot031120.png

Dicastes:

http://img2.picload....nshot031120.png

@Gepard:

Right now, it seems like the source will be released after I graduate from school (this will be somewhere around september). I will try to build up a community which focuses on those stuff you have mentioned. You can implement this behaviour yourself if needed. The reason why it will go open source is because I have already lost most of my intereset in ragnarok. I have promised that I will release the source if this shall happen (Tera Online is the culprit..!).

Edited by Shinryo
  • Upvote 2
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  28
  • Topics Per Day:  0.01
  • Content Count:  562
  • Reputation:   152
  • Joined:  02/21/12
  • Last Seen:  

Very nice pictures. Looking forward to this project.

Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  6
  • Topics Per Day:  0.00
  • Content Count:  61
  • Reputation:   153
  • Joined:  11/10/11
  • Last Seen:  

Thanks!

I've spent some time today to fix a problem related to opacity. Every 3D artist or programmer dreams about order independent transparency. Sadly, 'til now there's no real efficient solution for real-time rendering in games and I had to find another solution that is order dependent and still works with mipmaps. Here are two screenshots.

Before: http://img4.picload.org/image/rlgcgip/screenshot031320.png

After: http://img2.picload.org/image/rlgcgpr/screenshot031320.png

It seems like there's no map with opacity artifacts anymore and I'm pretty satisfied with the result.

  • Upvote 6
Link to comment
Share on other sites


  • Group:  Members
  • Topic Count:  70
  • Topics Per Day:  0.02
  • Content Count:  1245
  • Reputation:   392
  • Joined:  11/19/11
  • Last Seen:  

Pretty cool. Looking forward to seeing more updates in the near future. =D

Edited by Syouji
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...