Client 2.0

Sytner

Administrator
Staff member
Administrator
Joined
Sep 18, 2010
Messages
426
testpilot123 said:
I just stumbled on this project, it looks amazing! Any update on it?
Well it's always being worked on to some degree as a side-effect of developing the editors. Whether this can ever become a real client who knows, there are a few people interested in helping the development if it ever seems feasible. I have almost all the graphical elements of the client implemented now (just missing the UI I think).
 

Virtul

New Member
Joined
Oct 7, 2010
Messages
9
Great work, Sytner!
Which techonolgies did you use? Is it a game engine or just a renderer?
Do you have any plans on this? Create a project with a team or was it just showcase for a learning purpose?
 

shadowndacorner

New Member
Joined
Oct 27, 2015
Messages
2
Been lurking here for awhile, signed up for this. If you're really serious about making this a fully fledged, modern client, you should look into implementing physically based shading and potentially a real time gi technique, several of which (such as light propagation volumes and radiance hints, the latter of which tends to yield superior results) are relatively simple to implement and work wonders for realism.

There are papers scattered throughout the net for PBS, but a great resource may be to look through the UE4 or Unity 5 shader code to get a feel for how they're doing things, especially since you said you're already using a deferred renderer (I would hope deferred shading rather than light prepass since, in my experience, the former tends to be more efficient especially with modern gpus).

As for GI, there are a number of papers here talking about various techniques http://graphics.cs.aueb.gr/graphics/research_illumination.html , many of which include code. If you do end up wanting to implement radiance hints, a good example of it being used effectively is the open source Tesseract game/engine. I haven't personally dug through the code, but it uses a deferred renderer + radiance hints for GI and looks pretty damn nice. More on that here http://tesseract.gg

Also, screen space reflections, which there are plenty of resources around (including a bunch of source code) to get working.

All in all, you've done great work so far - color me impressed. But you could go even further :p I second the motion for making this into a community project.
 

Sytner

Administrator
Staff member
Administrator
Joined
Sep 18, 2010
Messages
426
Virtul said:
Great work, Sytner!
Which techonolgies did you use? Is it a game engine or just a renderer?
Do you have any plans on this? Create a project with a team or was it just showcase for a learning purpose?
I wrote up some of the papers I referenced/implemented here: http://www.modthegalaxy.com/forums/thread-client-2-0?pid=6399#pid6399

It's my own code that's based off of DX11 (soon to be 12). I would hesitate to call it a game engine as it is lacking many of the components I would say are necessary: physics, networking, UI etc. The whole thing was a side project while developing the world editor.

There were some vague plans to take it further at some point in the future and a few qualified people have come forward with offers of help to implement things like networking. Currently my free time is so small though that even finishing the editors is a struggle much less doing this.
 

Sytner

Administrator
Staff member
Administrator
Joined
Sep 18, 2010
Messages
426
shadowndacorner said:
Been lurking here for awhile, signed up for this. If you're really serious about making this a fully fledged, modern client, you should look into implementing physically based shading and potentially a real time gi technique, several of which (such as light propagation volumes and radiance hints, the latter of which tends to yield superior results) are relatively simple to implement and work wonders for realism.

There are papers scattered throughout the net for PBS, but a great resource may be to look through the UE4 or Unity 5 shader code to get a feel for how they're doing things, especially since you said you're already using a deferred renderer (I would hope deferred shading rather than light prepass since, in my experience, the former tends to be more efficient especially with modern gpus).

As for GI, there are a number of papers here talking about various techniques http://graphics.cs.aueb.gr/graphics/research_illumination.html , many of which include code. If you do end up wanting to implement radiance hints, a good example of it being used effectively is the open source Tesseract game/engine. I haven't personally dug through the code, but it uses a deferred renderer + radiance hints for GI and looks pretty damn nice. More on that here http://tesseract.gg

Also, screen space reflections, which there are plenty of resources around (including a bunch of source code) to get working.

All in all, you've done great work so far - color me impressed. But you could go even further :p I second the motion for making this into a community project.
Thanks for the interest and input! I have a few physically based techniques implemented - my supervisor does research in PBR for film so he got me interested a while back - some are noted in the post I linked above. I agree that doing some form of GI would be a good next step although there are a lot of lower level things to sort out too if I was ever going to take this forward as a serious project. Unfortunately I'm not working in this industry at the moment so finding the time and keeping up my knowledge level is going to be tricky.
 

shadowndacorner

New Member
Joined
Oct 27, 2015
Messages
2
Sytner said:
I'm not working in this industry at the moment so finding the time and keeping up my knowledge level is going to be tricky.
That's why you should open source it :p Maybe throw it on a public GitHub repo that way anyone can contribute.
 

ilikenwf

Member
Joined
Jul 30, 2014
Messages
45
If he doesn't want to open it up another option would be to vet and add some guys that can work on it and report to him.

While I'd prefer open source for any given software I understand his hesitation to do that, so maybe he could pull some people like you shadowndacorner and some others like Timbab and Obique into the fold to help work on it, allowing him to just do code review.
 

OSuKaRu52

New Member
Joined
Nov 3, 2015
Messages
2
A-mazing. just amazing. I want to try it. Great work.

Just as suggestion. Added to the global ilumination and the shadows, SSAO will be nice. just saying. I wish i could do it myself.
 

LegendaryOne

New Member
Joined
Oct 2, 2015
Messages
1
I'd like to see the client be able to remember the locations of structures for distant viewing, only getting updates when within proper range per the server.
 

Archlyte

New Member
Joined
Jan 17, 2016
Messages
14
Almost cruel to show us this and not have it come to fruition. SWG as it looks in my dreams.
 

ilikenwf

Member
Joined
Jul 30, 2014
Messages
45
Sytner said:
testpilot123 said:
I just stumbled on this project, it looks amazing! Any update on it?
Well it's always being worked on to some degree as a side-effect of developing the editors. Whether this can ever become a real client who knows, there are a few people interested in helping the development if it ever seems feasible. I have almost all the graphical elements of the client implemented now (just missing the UI I think).

I think they used GTK for the ingame window toolkit, and then mozilla for the ingame browser...
 

Archlyte

New Member
Joined
Jan 17, 2016
Messages
14
Hey would this client allow for anchoring new clothing/armor/hairstyles to the skeleton? Also would it allow for vertical movement Syntner?
 

Timbab

Administrator
Staff member
Administrator
Moderator
Joined
Oct 6, 2010
Messages
1,057
Location
Magna Germania
Archlyte said:
Hey would this client allow for anchoring new clothing/armor/hairstyles to the skeleton?
That doesn't require a new client, it just requires someone to do proper plugins for 3ds Max/Maya/Blender/Modo, etc. We'd do it now, but we're both buried to our necks in work.
 

Archlyte

New Member
Joined
Jan 17, 2016
Messages
14
Timbab said:
Archlyte said:
Hey would this client allow for anchoring new clothing/armor/hairstyles to the skeleton?
That doesn't require a new client, it just requires someone to do proper plugins for 3ds Max/Maya/Blender/Modo, etc. We'd do it now, but we're both buried to our necks in work.
Ah ok. Thank you very much for this reply. I am trying to learn as much as I can about the overall architecture and how it works. Being a good idea fairy, I need to know what is possible and how hard it is.
 

Archlyte

New Member
Joined
Jan 17, 2016
Messages
14
Timbab I also understand that there is no physics engine, is that correct? As I understand it the characters simply follow the heightmap. I know there were storage limitations when the game was made that prevented a Z axis, but just for the sake of making me sound smart in conversations, what would be required to give characters, vehicles, and mobs the ability to actually travel and fall in the vertical?
 

Timbab

Administrator
Staff member
Administrator
Moderator
Joined
Oct 6, 2010
Messages
1,057
Location
Magna Germania
Archlyte said:
Timbab I also understand that there is no physics engine, is that correct? As I understand it the characters simply follow the heightmap. I know there were storage limitations when the game was made that prevented a Z axis, but just for the sake of making me sound smart in conversations, what would be required to give characters, vehicles, and mobs the ability to actually travel and fall in the vertical?
Yes, that is correct, at least for the ground stuff, never looked at the JTL code/logic or even thought about it much, so no idea, I suppose that just modifies the Z without any actual physics and ultimately freezes you in space where you stop, but I'm the wrong person to answer that.
 

Archlyte

New Member
Joined
Jan 17, 2016
Messages
14
Best answer I have seen so far though. I have seen footage of atmospheric flight and it makes sense that they simply used the JTL movement on a planetary map. There is acceleration, deceleration, pitch yaw and roll. I think if things had gone better in live they would have eventually added the vertical axis to compete with other newer games. I guess this is not something that is related to the OP though so I apologize, but thank you very much for the info.
 

tatwi

Member
Joined
May 31, 2012
Messages
66
Archlyte said:
Best answer I have seen so far though. I have seen footage of atmospheric flight and it makes sense that they simply used the JTL movement on a planetary map.  There is acceleration, deceleration, pitch yaw and roll. I think if things had gone better in live they would have eventually added the vertical axis to compete with other newer games. I guess this is not something that is related to the OP though so I apologize, but thank you very much for the info.
Even in the current client and SWGEmu server, atmo flight is able to be used with a small server side "hack". The client supports the movement, but it does not have any physics. SOE did test adding normal "jump" to SWG, but they said they decided against using it, because most of their object models would have to be remade for 3D collision detection and that was just too much work for them (and for little gain). Everquest II has normal "jump", as well as flying and gliding and it's based on the same "engine" as SWG.

An example of the 2D vs. 3D collision detection issue: If you used the atmo flight in the pre-cu client and "get out of the ship" above a building, you'll remain stationary in the air until the server updates your position and places you on the ground under the building. If the game had simple fall mechanics, you would have still fallen through the building, because it's only considered a solid object on the 2D plane.

Most objects use back face culling, with the result that when you end up under a structure you don't see the walls and you can walk out of them rather than getting stuck behind them. That tells me that the hit detection use a ray along the surface to determine if hit detection (if ray hits texture and texture/material has the "solid" property, then do not allow my parent object to pass through). If that's the case then indeed, changing the properties of all textures/materials would be a really big pain in the arse.
 

TFM

New Member
Joined
Apr 10, 2014
Messages
6
How come I haven't seen this? That looks... I mean... HOLY COW. I mean I would pay for this, god damn that looks amazing.

 
Top Bottom