Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 01/27/12 in Posts

  1. I'm currently working on a custom client and wanted to share some screenshots about the progress. Some of you might wonder why there is again another project like this one with the same goal as the others, and why not just join the others to speed up development? In fact, I thought about this opportunity. However, I'm still learning to work with virtual reality and I want to learn as much as possible. And that's why this projects main goal is not to be finished as fast as possible. But still, it looks like I'm at good pace. I still don't have a "good" name for this project, even though there's a proto-name. One of the other goals of this project is to provide a stable client that runs on both, unix and windows systems. It is being developed in C/C++ and Ogre3D, takes advantage of multithreading where it is appropriate, uses atlas textures to reduce batch count and some other fancy algorithms to improve performance. Even though the complete terrain is being loaded instantly, it takes some milliseconds to finish the objects. That's why I'm currently working on further algorithms, allowing caching and paging of objects. I will release a working demo in the style of RagCam as soon as the new algorithms are finished and working. Here's a list of things that are implemented so far: GND (Terrain) Lightning Shadowmaps Colormaps (with reduced colors to match the original client) Vertex diffuse color Walls Smooth Normals RSM (Objects) Smooth Normals (with smooth groups) Animations Transparency Two Sided Triangle Faces (with correct normal vectors for both sides) RSW (World) Water (with texture and wave animation) Objects Ambient and diffuse lightning Performance is always a very important part for me. A lot of things are optimized as good as possible. This project will stay closed-source providing plug-in functionality in the future. Most of the information that has been used in this project has been discovered through reverse engineering of the original client. Rendering a map is almost completely done using the same and some improved approaches done by the original client itself. The main focus after this will be the visual improvement of the maps themself, like BumpMapping, Cel Shading support, etc. blah blah. When this is done also, I will focus on implementing network functionality and a GUI. I have started in november and worked effectively 5-6 weeks on this project. I had to stop at the end of december and started to work again two days ago. Enough talked, here are some screenshots using OpenGL as renderer (the results in DirectX are the same): Vertex color mapping: Each tile can have a diffuse color. This color, however, is not being applied to all four corners of a tile, but only to the bottom left vertex and all vertices that share the same coordinate. Textures have been disabled in this image to show that diffuse colors are being applied correctly. The border of a map is also being rendered correctly when vertex diffuse colors are applied. Shadowmaps: Some devs are still wondering why their shadowmaps look a bit weird. The reason is plain simple: A lightmap consists (most of the time) of 8x8 tiles, where only the 7x7 pixels in the center are used. Nothing new. However, the tiles are combined into a large texture. If texture filtering is being applied, then the borders of the different textures interpolate into each other, fatal for colormaps when they have different colors. This is called texture bleeding. Because of this, Gravity added a padding of 1 pixel to each tile (resulting in 8x8, instead of 7x7) and filled them with colors that still look nice when they are interpolated. The image below shows the correct display of shadowmaps. Colormaps: They are the same as shadowmaps, but use RGB colors instead. When applied to the terrain, they look smooth. If you look into a dungeon, you will notice that colormaps are not smooth at all. In fact, they look like the colors were reduced. This process is also called posterization. The best result are done with 16 levels. The idea is basically to use float colors, multiply them with the amount of levels, convert the result to an integer (and so dropping the decimal part) and divide the result by the amount of levels. Done. This image displays correct colormaps. Notice the borders of the lightning. Prontera indoor: Transparency: I've used BrowEdit to compare my results and found an issue that was the same as in my project. Some models had wrong depth writing. Using the correct order, it is possible to render objects regardless of their transparency. You can try to open BrowEdit and compare dicastes01 with this image. Instancing: A lot of objects in a map reference the same model, so it makes common sense to combine them for reducing the batch count. This image shows pretty could FPS, even though all objects of yuno are rendered. Instancing in prontera: I would also like to show animations, but am too lazy to upload a video. I am not generating MipMaps yet, since this will be part 2 of this project. As you can see from the screenshots, rendering itself is almost complete. Only some minor issues that have to be done. If you want to see a screenshot of a specific map, don't hesitate to ask. I will upload one. I let you guess which of the posted screenshots are made on linux and which on windows.
    2 points
  2. I was actually going to be putting it into a development folder as a diff, not commiting directly.
    2 points
  3. BrowEdit Tutorial Videos Here is a list of free tutorial videos I made about a year ago that gives BrowEdit users a good grasp on using the BrowEdit Mapping Program. The tutorial videos teaches young BrowEdit users from the ground up of how to install BrowEdit, get familar with the interface and functions and finally actually producing a fully functional map you can integrate in a ragnarok server. I plan on expanding this list to cover a broader range of topics. Browedit Tutorial #1 - Getting Started Video Information: Downloading and setting up BrowEdit. Configuring BrowEdit to be usable & providing recommendations on BrowEdit revisions. - Browedit Tutorial #2 - Basics of Designing Video Information: Understanding the user inferface of BrowEdit & editing functions. Teaches navigational controls and introduces how to properly setup a map for editing. Part 1 - Part 2 - Part 3 - Browedit Tutorial #3 - Intermediate Level Terrain Editing Video Information: Teaches how to apply textures, build walls, making slopes and environmental terrain changes, and controlling water levels. Part 1 - Part 2 - Browedit Tutorial #4 - Intermediate Level Light Editing Video Information: Introduces how to implement lights to brighten and colorize a map. Gives recommended RGB combinations and lighti strength parameter settings in giving ideal light and shadow outputs. Part 1 - Part 2 - Browedit Tutorial #5 - Adding Effects Video Information: How to add effects to a map to fit the needs of the environment. Examples can be torches, flying bats, magic circles etc.. - Browedit Tutorial #6 - Adding Sounds Video Information: How to add ambient sounds to your map. This includes noises you hear in niflheim, prontera, geffen etc.. - Browedit Tutorial #7 - Making a Sky Map Video Information: Ever wanted to make a sky map? Well this tutorial will show you how to make a floating blue sky based map with cloud formations. - Browedit Tutorial #8 - Adding Custom Textures to BrowEdit Video Information: How to add your own custom textures to BrowEdit and using them in your custom map. - Browedit Tutorial #9 - Adding Custom BGM Music to a Map Video Information: How to add your own personal background music to a map as well as making sure the BGM file is compatible with the client. - Browedit Tutorial #10 - Adding a Custom Map to a Server Video Information: How to add your own personal map to a eAthena test server so you can test your own maps. - Browedit Tutorial #11 - Adding a Duplicate Model that Utilizes Custom Textures Video Information: Ever wanted to use a model in a map that doesn't come into conflict with another model. Perhaps for the sake of the maps theme? - Browedit Tutorial #12 - Quick Tips/Tricks & Useful Hotkey Info Video Information: Creating a new map can take a while. This tutorial will cover useful tips/tricks to reduce the development time of your map as well as avoiding long processes to complete a task. - Browedit Tutorial #13 - New Lightmaps Tutorial Video Information: This tutorial is a revamp of the previous lightmaps video tutorial. This particular tutorial is a more concise and easier to learn version of how to create lightmaps with ease in the areas of shadows/sun/colors/global lighting and light fixes. - Browedit Tutorial #14 - Making Slopes Video Information: This is a quick tutorial that explains how to create sloped terrain primarily based on ramps that can lead up to raised areas. It also shows how to make slopes on the edge of a map. - Browedit Tutorial #15 - Making Map Minimaps Video Information: Want to make a minimap that matches your coordinates perfectly whether it be a minimap with color or black/white gradient? Well this tutorial will cover just that! - Browedit Tutorial #16 - GAT Editing Video Information: Explains the main kinds of gats, how to place them, slope them, and what applications they are used in. - Browedit Tutorial #17 - 3ds Max Modeling [Acquiring Models] Video Information: A quick video covering several different sites you can get models for free that are supported by 3ds Max. - Browedit Tutorial #18 - 3ds Max Modeling [importing/Apply Textures to Model] Video Information: Using 3ds Max, you will be able to import models supported by 3ds Max, apply textures to them, and UV Unwrap the model to have it ready for RO. - Browedit Tutorial #19 - 3ds Max Modeling [Polygon Limit & Splitting Models] Video Information: RO has limits to how many polygons it can draw per model. This tutorial will explain what those limits are and how to split a model into parts. - Browedit Tutorial #20 - Exporting & Importing Lightmap Shadows for Editing Video Information: How to remove or add specific shadows on a map without having to redo all of the lightmaps through means of exporting & editing the shadow png file directly. - Browedit Tutorial #21 - Cleaning Up Shadows Along Walls & Ground Video Information: Didn't like the shadow drop across the edge of a map or lifted platform/wall? - Browedit Tutorial #22 - How to Create Transparent Objects Video Information: How to provide transparency in a model by means of TGA support. - NOTE: If you wish to see a certain topic covered in a future tutorial video, please make a request by leaving a comment in this thread!
    1 point
  4. Make sure you only use allowed characters in guild name (see char_athena.conf). Check server console for any errors/warnings.
    1 point
  5. First; you need to find your WAN IP address. Which http://www.whatismyip.com/ will give you what your WAN IP is. Second; if you have a router, you need to forward your mysql ports on your router to your LAN IP adress (please google this to find out what yours is). Third; you need to make sure your 'server' which is hosting rA & Mysql does not have a firewall blocking your mysql ports. If it is, allow for those ports to bypass your firewall(s) & anti-virus software. Forth; There is a good chance your 'free host' which your using for the control panel is not going to allow outside mysql connections. Which means, you need a new host (most likely paid hosting) that allows you to use outside mysql connections on their web servers. Fifth; Good luck, you'll need it.
    1 point
  6. This project isn't much better than Gravity's client if it stays closed-source IMO.
    1 point
  7. Orlox, reupload please lol. Megaupload is dead =/
    1 point
  8. I wanted a better explanation regarding it. People won't know basically what it means so they'll just put 10. Thus, with a better explanation and a breakdown about it (documented somewhere else like Wiki) will be good. Basically what we have there is telling us that by putting '10' there, these amount of players in a party will receive additional 40% more exp. Well, what happens if we want more? How would we calculate it? With a better exampl within the conf file itself would be good + an additional BREAKDOWN of it on the Wiki.
    1 point
  9. is there a mirror link?
    1 point
  10. http://rathena.org/board/topic/56317-decompiled-luas-for-2011-11-22aragexere-client/page__fromsearch__1
    1 point
  11. Saya bercadang akan membuat panduan untuk menambah addon CMS ke FluxCP.
    1 point
  12. increase the value for this set .@fcast,15;
    1 point
  13. This section is NOT a support section! Please follow this guideline...
    1 point
  14. I added a function to launch robrowser in your website and add your own settings: roBrowser.run({ width: 640, height: 480, popup: false, // if true run in a popup, if false run in your website in the current dom element BGM: true, sound: true, host: 'localhost:6900', // if no specify show two onglets "host-port" and "user-pass" allow_fullscreen: true, grf: 'http://grf.robrowser.fr/en/' // host where is the grf path }); The grf host is customizable, so you can add your own grf with your customs (required a php class to search in grf and convert some files (bmp->png and tga->png).) that will save me bandwidth (even if I will create different host with different ip to reduce usage). And as I said before, open-source ! I work also on a JAVA script to read local GRF files (in the player computer), the HTML5 FileSystem is a little buggy (for moment ?) with huge file.
    1 point
×
×
  • Create New...