Here are some features to look for inside JKA, besides the beautiful cinematics system we have been showing off to everyone.
Support for non-standard bounding boxes
Now i'm sure the lugormod folks will know what i'm talking about.
When placing a solid object in lugormod that has a non-standard bounding box (standard is: X and Y symmetrical, and niether X Y or Z above 255) you get the well known phenomena called pseudolag.
This pseudolag basically is stuttering movement when you're near one of those models.
The reason this happens is quite simple: Due to the fact the bounding box is non-standard, the server cant properly transmit it, so the client will end up with a different bounding box than the server.
This results in prediction errors, where the client thinks its being blocked while its not the case, or when the client thinks the way is free while there is in fact a bounding box.
JKA Galaxies has this issue resolved, when models are set up with a bounding box that is non-standard, the actual bounding box will be transmitted to the client and stored there, and the entities using it will be flagged as having a custom bounding box, sending along their bounding box ID (which is kept synced between server and client, so if the server changes any entry, the clients are updated)
This way bounding boxes are identical server-side and client-side, completely eliminating all forms of pseudolag.
Since JKA Galaxies will feature custom made entities, this feature will definately be used to handle solidity of spawned entities, without side-effects
Pixel Shader Support
Finally pulled it off, support for pixel shaders in JA.
Of course, a big thanks to Xycaleth for helping me out with it bigtime ^_^
And as said before.. you guys wanted greyscale and sepia.. well here it is: greyscale and sepia tint!
Oh and here's another funny effect i managed to get while toying around ^_^
Heres some more: I've got 2 post processing effects working
First is an updated color mod (Color Modifier/Modification) that allows me to tweak the color balance by setting a scale and bias for RGB, it also allows me to do grayscale or sepia, either fully or partially (so fades from gray to color are possible), on top of that i can control brightness and contrast, which when tweaked with can give very interesting results. And i just added an inversion option to invert the screen, or fade from normal to inverted.
And i've also made a blur shader ^_^.
Here's some screenshots:
Mystical Rift & Golden Rift:
A nice hot day on Mos Kreetle:
Has anyone seen my glasses?:
Enjoy, hope you like seeing some more other than what we showed off in the Cinematic trailer!
Anti-Rip Protection
There's a little something i feel i should tell you guys.
There have been some discussions going around in the dev section about protection of our work. This is because everything made for JKG, is made for JKG *ONLY*, and we don't want our stuff to be used elsewhere, such as on random servers, or in KOTF lookalike mods.
To aid in that, i've developed a anti-rip protection, which will prevent files from being ripped.
Currently this is used by the maps, but it will probably also be used for models and possibly even more files. The protection ensures that, when said files (maps/models) are loaded outside of JKG, it will fail. This'll render you unable to load bsps (and later on models) in JA or any other program/tool capable of reading bsps. With the sole exception, of course, being JKG itself.
This protection is put in place for mainly two reasons:
- To prevent people from taking assets from JKG and using them elsewhere (like running the official Tatooine map on your own server). JKG is meant to be there as a whole, and not to be taken apart and having its assets used elsewhere.
The terms of use, which you will have to agree with in order to download and install JKG, will clearly state this as well. - To prevent mods such as KOTF from ripping our models and maps and using them without permission.
And considering 'asking nicely', copyright, licenses and all that doesn't prevent someone from doing this anyway, even if its illegal, I decided to use this measure to effectively prevent it from happening, since they'll be useless outside of JKG.
Now, do note that, like we did with Mos Kreetle, we may make public releases of some assets, which will - of course - not have this protection on them, so they can be used by anyone, anywhere. Although those assets, especially maps, will most likely be a little different from the official versions.
Additional features
Client-side:
- Max entities per snapshot raised to 1024 (same as the server normally has it)
- Trying to execute commands starting with '~' now results in: 'Illegal command', as these are used for the client-server communication
- Clients can no longer use map, devmap, spmap, etc (doing so will crash the game anyway, since clients dont have the server-side files)
- jamp.exe verification added, JKG wont run with a wrong jamp.exe (cracked or otherwise modified)
- Invalid r_primitives values are automatically reverted to 0
- Pixel shader support (used for post processing currently)
- Added cvar (jkg_ssquality) to set quality of screenshots
- Clients cant create userinfo cvars (to prevent abuse)
- Anti-rip protection
Server-side:
- Enhanced connection checks (checks game version, JKG and q3fill)
- Custom protection against q3infoboom, without side-effects
- Q3fill immunity
- PVS correction for cinematics
- Connection activity check
- Player isolation system
- Download hack protection
- Anti-rip protection
Enjoy.
Sounds like it's coming along nicely, and grats on the pixel shader support, should make things look very nice.
opengl doesn't have 'pixel shaders'
With pixel-shaders, I'm referring to both vertex and fragment shaders.
Fragment-shaders are equivalent to pixel-shaders.
This is interesting. It's always fun to see how far modders can take old engines. Keep up the good work!
Sooo looking forwards to this ;)
So i can't for example pay a server and upload JKG on it?
Well you can host your servers now. We've had a few design changes since the initial post.