Hey, I'm Henko from Hungary, Europe. I'm studying Computer Engineering at the Budapest University of Technology. Two years ago I started working on this project and met Nevelis, so we are working on creating this Custom Ragnarok Client together. Here is the short story of it. So the RagnaXNA project was started about two years ago in september. It started as university school project for XNA Game Development class. I really like Ragnarok Online, the graphics, the world, the music, etc. So I thought I'll try to read some binary Ragnarok files and try to draw something easy from it. So eventually I started with GND rendering. It took me about a month to render the basic ground mesh. I was very happy with the results, so it made me go on. When I started looking for more information about the topic, I found Nevelis, a guy from New Zealand, who was working on NEdit. It was also written in C# and XNA, but he stopped doing it for some reason. I found these on the eAthena forum, so I thought I'll write a message for him, so we could talk about his work. Well, everything went incredibly easy. I wrote a message for him, and after 10 minutes we started talking on gtalk. That's where it all began. He told me he discontinued his project because of lack of time and problems he faced. NEdit could also render ground meshes, so we were nearly at the same point. Then after lots of discussion, he told me he wants to join me and create a full featured Ragnarok client together. We agreed to continue my project as it was also for my school class. Well of course we didn't just start writing a Ragnarok client, but the first step was to create a neat map viewer tool, so we could open any maps from the grf and drag them around, etc. It took about half a year to achieve this because of the incredibly stupid binary file formats the Gravity used. For example it was enormusly difficult to position the meshes with the right transformation. And we also worked very hard on the optimizations, so that it could run smoothly on older computers too. I have implemented lots of tricky algorithms to make the graphics super fast and smooth, and we also made resource loading extremely fast, so that changing between maps is instant. After finishing the map viewer, we started working on block rendering. It was a hard one. We needed to find a correct way to render the 2D sprites into the 3D space. It was several months again until I came up with an idea of a custom vertex shader for the sprites. Then we started working on networking. It took a long time to make all those packets work. The client was a bit of a rush. We combined everything into one big project, so it's quite a mess now, the game logic needs some redesign in the near future. You can watch a youtube video about the current status of the client, so I'm not going to write more details here. This is where we are today. We are finishing the client and will customize it the way we like. We are also planning to create a map editor branching from the map viewer in the future. It's too early to say anything about the release date. One thing is sure, currently we are working on it as a closed source project. It may change some day, but thats the way it is now. If you are interesting or you have ideas to share, please feel free to contact us. |