EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::General Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=586)
-   -   Anyone interested in client development? (https://www.eqemulator.org/forums/showthread.php?t=33432)

PixelEngineer 05-02-2011 01:59 AM

Anyone interested in client development?
 
Before you all go running let me say a few things. This client, or at least as far as I will take it, will likely never have full network support for interaction with the EQEmu code. I am doing this to simply learn about coding, file formats, OpenGL, rendering, and my passion, engine development.

I am a few days into the project and things are looking good. The main development will focus on classic zones and work its way forward to support newer zones. If you are interested in helping and know C++, even if you are a beginner and want to help, please PM me.

The eventual goal, as I am very interested in engine development, is when I have EQ zones perfectly rendered, to add new stuff EQ never supported. Per pixel lighting, shadows, dynamic weather, realistic water. And let me state right here that no zone files are modified in any way and will never be. This is purely an educational and learning project and I figured a few of you might want to help.

The project will be open source as soon as I have the code base in a relatively stable manner. Also, if you are interested in helping you must obtain your own zonefiles as I will never distribute any.

Also, on a related note, is Windcatcher around at all? Have a few questions for him about the stubborn WLD format.

Thanks for your time!

Preview:

http://i.imgur.com/EmaS3.png
http://i.imgur.com/zaTek.png
http://i.imgur.com/0xHC8.png

Note: Texture masking/fog and light sources are not implemented yet. I have only been developing for about a week in my spare time. Also, the frame rate is a representation of the rendering of every polygon in the zone without culling.

KLS 05-02-2011 11:18 PM

I actually had a similar thing that worked for eqg v2 and v3 zones but I stopped working on it, I probably had about a 3rd of the zones rendering flawlessly before I got bored with it.

WC isn't really around much that I know of and actually EQ does support some of those things now but meh (not very well imo). One of the best resources for WLD is azone if you haven't already looked at it.

PixelEngineer 05-03-2011 12:09 AM

I have taken a peek at an old version of azone. From what I see, it is badly if at all commented. Might be helpful for some of the confusing fragments though. I will keep this thread updated with progress. In the process of loading these polygons into a BSP tree for super fast rendering.

Edit: Does anyone have a link to the last released version of the azone source? Thanks!

PixelEngineer 05-03-2011 01:53 AM

Found it! Thank you. This is fantastic.

Grebbin 05-08-2011 04:19 PM

As long as you are developing clients, develop one that works on a droid x! I think I'd cry from happiness. I've seen people can stream the video from their computer over wifi, but I'd love a true client running on my droid. :)

PixelEngineer 05-09-2011 05:11 PM

A phone based client is entirely possible although I am only able to develop for phones I have access too. My first order of business after I get the rendering engine polished up is porting to Mac and Linux. I would definitely consider phones as a viable platform after that.

Damilis 05-09-2011 07:05 PM

What techs are you using? Build systems? Sounds neat, but I'd like to hear a bit more of the specifics =D

PixelEngineer 05-09-2011 11:42 PM

Writing this in Visual Studio in C++ but using as few platform dependent things as possible. This thread wasn't meant to grab attention for the project release, just to see if anyone was interested in coding with me. But I am sure I will port the client to other systems. It is just a matter of free time and drive although I have plenty of the second.

Damilis 05-10-2011 07:20 AM

Well, I am trying to see how you are approaching the project. It sounds interesting to me, provided I know a bit more about it :)

I understand you're using MSVC++, so if you're planning cross platform, I suggest you switch to standard C/C++ asap :) (I do cross platform development for a living, and MAN is MSVC++ a PITA)

Are you rolling your own GFX engine or using a pre-existing one?

PixelEngineer 05-10-2011 05:05 PM

Quote:

Originally Posted by Damilis (Post 199683)
Well, I am trying to see how you are approaching the project. It sounds interesting to me, provided I know a bit more about it :)

I understand you're using MSVC++, so if you're planning cross platform, I suggest you switch to standard C/C++ asap :) (I do cross platform development for a living, and MAN is MSVC++ a PITA)

Are you rolling your own GFX engine or using a pre-existing one?

Making my own engine currently. That's the whole reason I am doing this. To learn and to have fun at the same time. Going to do a little bit of everything. A graphics engine, sound engine and some networking too. Trying to be well rounded before I start applying for internships/jobs.

Fridgecritter 05-16-2011 12:18 AM

I would love to see a Mac version. I actually played on EQmac server for a while, but it just wasn't the same. It would be nice to have a Mac client for eqemu for sure.

PixelEngineer 06-02-2011 04:17 AM

Just a quick update. I am continuing to work on this and iron out issues. If there is anyone who knows where Windcatcher is, please let me know or get in touch with me. I am trying to finalize everything on the rendering front and it has proved to be quite the challenge. Obtaining the (RLE encoded) PVS has proved extremely difficult so I have to go about doing this another way.

Here is a screenshot from today: http://i.imgur.com/JfLU6.png

Again if you would like to help PM me. And if you are hesitant, wait a few weeks. Development will get much more fun when it comes time to add features rather than fight with the cryptic WLD format.

Edit: Forgot to mention what was different. From the screenshot, it might not look like it but I fixed a number of texture bugs (that were offscreen in the first few screenshots), completely redid the way I render zone geometry and documented and did huge cleanups on nearly every WLD fragment. As soon as I get my line of sight issues fixed, I am taking on lighting (vertex and per-pixel) and am going to add things like shadows, something that was never in the original EverQuest.

pfyon 06-02-2011 08:42 AM

I'd love to get into client development as i think a customizable gui client would be invaluable to the project, but I'm afraid I don't have any experience with gui stuff.

PixelEngineer 06-02-2011 02:48 PM

Quote:

Originally Posted by pfyon (Post 200595)
I'd love to get into client development as i think a customizable gui client would be invaluable to the project, but I'm afraid I don't have any experience with gui stuff.

That's the point ;) . Learn as I go along. I mean, animation seems to me like it will be the most difficult but I'll figure it out when I get there.

PixelEngineer 06-11-2011 12:27 AM

A quick update: I have been able to extract the PVS and have implemented frustum culling for the zones. It's been difficult but I have learned a ton and it was a major hurdle trying to get all of the standard knowhow of graphics engines to work with the EQ format.

EQEmulator user Leere has been beyond helpful with providing help and other sources for the PVS and I thank him greatly.

Next up is polishing off the render side of the graphics engine with animated and masked textures. After that is lighting and some other crazy stuff I have in the works which will add a crazy new element to old zones.

I have gotten quite a few PM's from people which is why I continue to update this thread. Let me know if you're interested in the project or want to help develop. Also, as soon as the codebase is stable, it will be open source so anyone who wants to make a client won't have to do as much guesswork as I have had to do.

Cheers!


All times are GMT -4. The time now is 03:34 AM.

Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.