Go Back   EQEmulator Home > EQEmulator Forums > General > General::General Discussion

General::General Discussion General discussion about EverQuest(tm), EQEMu, and related topics.
Do not post support topics here.

Reply
 
Thread Tools Display Modes
  #1  
Old 05-02-2011, 01:59 AM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default 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:





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.
Reply With Quote
  #2  
Old 05-02-2011, 11:18 PM
KLS
Administrator
 
Join Date: Sep 2006
Posts: 1,348
Default

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.
Reply With Quote
  #3  
Old 05-03-2011, 12:09 AM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

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!
Reply With Quote
  #4  
Old 05-03-2011, 01:53 AM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

Found it! Thank you. This is fantastic.
Reply With Quote
  #5  
Old 05-08-2011, 04:19 PM
Grebbin
Sarnak
 
Join Date: Apr 2011
Posts: 32
Default

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.
Reply With Quote
  #6  
Old 05-09-2011, 05:11 PM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

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.
Reply With Quote
  #7  
Old 05-09-2011, 07:05 PM
Damilis's Avatar
Damilis
Hill Giant
 
Join Date: Dec 2002
Location: Nottingham!!
Posts: 217
Default

What techs are you using? Build systems? Sounds neat, but I'd like to hear a bit more of the specifics =D
__________________
GM/ServerOP - Shadows of Norrath
Reply With Quote
  #8  
Old 05-09-2011, 11:42 PM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

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.
Reply With Quote
  #9  
Old 05-10-2011, 07:20 AM
Damilis's Avatar
Damilis
Hill Giant
 
Join Date: Dec 2002
Location: Nottingham!!
Posts: 217
Default

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?
__________________
GM/ServerOP - Shadows of Norrath
Reply With Quote
  #10  
Old 05-10-2011, 05:05 PM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

Quote:
Originally Posted by Damilis View Post
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.
Reply With Quote
  #11  
Old 05-16-2011, 12:18 AM
Fridgecritter
Hill Giant
 
Join Date: Feb 2008
Posts: 189
Default

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.
Reply With Quote
  #12  
Old 06-02-2011, 04:17 AM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

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:

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.
Reply With Quote
  #13  
Old 06-02-2011, 08:42 AM
pfyon's Avatar
pfyon
Discordant
 
Join Date: Mar 2009
Location: Ottawa
Posts: 495
Default

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.
Reply With Quote
  #14  
Old 06-02-2011, 02:48 PM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

Quote:
Originally Posted by pfyon View Post
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.
Reply With Quote
  #15  
Old 06-11-2011, 12:27 AM
PixelEngineer
Sarnak
 
Join Date: May 2011
Posts: 96
Default

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!
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 01:57 PM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3