-
Posts
20 -
Joined
-
Last visited
Clan
- Clan Website
-
Current Clan
DoW
Profile Information
-
Gender
Male
-
Location
Poland / Warsaw
-
Modding Interests
Coder
Shaders -
Gaming Specialty
Dueling
Competitive Play
FFA
TFFA
Speedrunning -
Operating System
GNU/Linux
Contact Methods
- Website
-
Steam
faujk2
- YouTube
-
Other
#jk2 @ quakenet
Recent Profile Visitors
1,114 profile views
fau's Achievements
-
Try increasing values of Q_irand(), or replace them with constants in milliseconds in g_combat.c:LimbThink() if ( level.time > ent->s.apos.trTime + ent->s.apos.trDuration ) { if (ent->owner && ent->owner->m_pVehicle) { ent->nextthink = level.time + Q_irand( 10000, 15000 ); } else { ent->nextthink = level.time + Q_irand( 5000, 15000 ); } ent->e_ThinkFunc = thinkF_G_FreeEntity; //FIXME: these keep drawing for a frame or so after being freed?! See them lerp to origin of world... }
-
This part in g_combat.c:G_Dismember() G_SetOrigin( limb, newPoint ); VectorCopy( newPoint, limb->s.pos.trBase ); limb->think = LimbThink; limb->touch = LimbTouch; limb->speed = level.time + Q_irand(8000, 16000); limb->nextthink = level.time + FRAMETIME; limb->speed is time when a limb will disappear.
-
- 5 comments
-
If you just want to check out the mod from a player's perspective (and most stuff I added is usable directly by players), simply join one of SaberMod servers and let jk2 autodownload the clientside for you: /cl_allowdownload 1 or /mv_allowdownload 1. For example here: 35.157.76.97:28071 or there: 35.187.68.12:28070 All votes are enabled so you can set the server to whatever mode you want.
- 5 comments
-
- 5 comments
-
Version 2.0
233 downloads
SaberMod is a server and client side mod for JK2 1.04 being faithful to original mechanics of the game while trying to improve and promote its competitive aspect. I think this is the best JK2 mod right now – ouned Looks good mate – DesertHamster WTF this mod blocks harder than league – Pingu The mod draws ideas from popular id tech 3 mods starting with Xycaleth's JK2 "League Mod". SaberMod features an obligatory, dedicated clientside (cgame and ui) containing a number of improvements and giving all players a level field. Many features of so called "Clan Mods" or "FFA Mods" like extensive admin system or animation commands are not and will not be available. This is because they don't advance SaberMod towards its goals as laid out in the first paragraph. The mod was made mostly for, and based on experiences of competitive saber-only JK2 community, although its bugfixes and improvements are generic and advantage all other gametypes too. I'd be glad to work with members of other communities like FF or CTF to fix more specific issues I may not be aware of. Notable Features New gametypes: Red Rover and Clan Arena End-game statistics and detailed scoreboard Custom "Game Modes" votable by players Instagib game mode with "Unlagged" Disruptor hit detection Transparent duels with option to make other players invisible Addressed typical issues and annoyances in competitive basejk gametypes Server setting allowing or preventing players from unlocking their FOV Damage Plums in "Practice Mode", chat and spectator restrictions in "Match Mode" Extended voting system with full UI integration for easier match management without server admin Reworked, configurable serverside logging system Fixed all known basejk bugs and exploits (collected together with Daggolin, ouned and other modders) Multiple serverside and clientside performance improvements Included modes Unlimited weapons and force powers: Capture the Flag, Capture the Ysalamiri, Holocron, Jedi Master Guns only: Clan Arena, Instagib Capture the Flag, Instagib Free For All, Insta Rockets Free For All, Pistolero Full Force saber only: FF Capture the Flag, FF Free For All, FF Holocron No Force saber only: NF Clan Arena, NF Duel, NF ESL Duel, NF Free For All, NF Red Rover, NF Team Free For All Server administrators can easily add their own, votable game modes by following instructions in README.rst. Installation SaberMod serverside requires JK2MV version 1.2.1 or newer for making other players invisible in duel to work. JK2MV is a modernized, secure JK2 server/client and I highly recommend it for all server owners and players. To run a SaberMod server please download attached package and unpack it in your game (GameData) directory. It will create a SaberMod/ directory with all required files in it. Edit server.cfg configuration file to your liking and start a server with +set fs_game SaberMod +exec server.cfg command line. Notes In case ingame strings don't show up correctly after server change, please reconnect. See CHANGELOG and README for a complete documentation. SaberMod's source code is released under GPLv2 license and available in its official git repo. For server configuration you may want to use a dedicated cvar calculator.- 5 comments
- 3 reviews
-
MGummelt liked a post in a topic: Ask me anything about the Jedi source code
-
Smoo liked a post in a topic: Ask me anything about the Jedi source code
-
Smoo liked a post in a topic: Ask me anything about the Jedi source code
-
Sure, as I wrote, this was an over-dramatized example :-) The saber combat works great and as a player I join all other people in this thread – thank you for my favorite saber combat system and game! I believe that the probabilities of various randomized things happening are not what they look like when reading the code due to correlations of rand() values. I don't have hard data to support it but I'm gonna collect it. Mods can unintentionally change these correlations by adding, removing or rearranging rand() calls and this is something to look out for and something that may hopefully explain different feeling of different mods in JK2. Footnote: Doesn't apply to JKA because it uses correctly implemented rand() procedures. Gonna add it to all my posts so people don't get wrong ideas.
-
Let me explain this more in depth (concerns only JK2) Current JK2 QVM rand() implementation uses a linear congruential generator algorithm and returns LOWEST bits of calculated value: int rand( void ) { randSeed = (69069 * randSeed + 1); return randSeed & 0x7fff; } Unfortunately lowest bits have very short periods - at most 2^n for nth bit. For example subsequent (rand() & 1) calls yield (1, 0, 1, 0, 1, 0…) sequence. Now consider this simplified code example: if (rand() & 1) { SaberBlock(); if (rand() & 1) { SaberParry(); } } Of course SaberParry() never actually happens, despite the developer's intent. This is simplified and over-dramatized, but this type of unintended correlations surely exist in JK2 code due to this rand() implementation. Also consider that players who've never seen the code are aware that parry never happens right after block. One could say that they "recognize pattern" (although here it's just a dead code, you can imagine more complex and not 0/1 correlations). Now examine same code segment in a mod: if (rand() & 1) { SaberBlock(); saberColor = rand(); if (rand() & 1) { SaberParry(); } } The situation changes diametrically even though a mod developer thought he wasn't altering block/parry behaviour.
-
The idea was that internal PRNG implementation was very weak and consecutive call could produce recognizable sequences regardless of current seed value, but now I see that it was fixed in Jedi Academy code, so this kind of falls. At least for JA. Still going to collect some data on JK2 and check this hypothesis. Maybe this is what you'd want to do for JA, but as I explained in JK2 it's not the issue and there are perceived mod discrepancies too. I'm personally interested in JK2 case, just hoping the core reason may be the same in both games.
-
What do you mean? w_saber.c:CheckSaberDamage() is full of Q_irand() calls.
-
Hmm fine. I didn't have using some ancient msvc for modern mods in mind, rather using it as a tool to find out where lies the difference. Eh, I feel like it's gonna stay a mystery forever (at least for those who don't believe it to be placebo). I have some new-found hopes regarding this PRNG but if it's not it then I ran out of ideas. Gonna spend the rest of my days trying to prove it's a placebo =)
-
Didn't know that ICC was used for linux. Kinda strange not seeing any preprocessor quirks for it, must have been a solid compiler :-) I don't understand how ICC not being free is relevant to anything though (the question being about original compiler). If you know exact MSVC version then what's the problem again? Did anyone try producing matching binaries with it?
-
I would like to chime in! There is a similar consensus among JK2 players and one I've shared for many years. However JK2 mods work under much more controlled environment as they are all QVM mods. There are no floating point precision issues or compiler differences, all this is handled consistently by the engine. Possibly PRNG can be used a bit differently in different mods, but I can't imagine it's so bad that there are patterns recognizable by players EDIT: I back out of this – it's truly awful, bad implementation of already weak PRNG (comes from id tech 3). Need to have another look. I thought it could be caused by some tiny timing differences but everything works on a millisecond precision and I'm sure in these mods there is nothing that would add a delay as large. On one hand I've heard opinions from other developers that this is placebo, double blind tests with altered mod name confirming it. Belief that something is different may come simply different server conditions. On the other hand I've never doubted the effect myself, nor has any other seasoned player I know, and I remember situations like when we changed mod on a popular server once – same machine, same location, same port, same dedicated server binary. The change was obvious and it took few days for all regulars (including me) to adjust. I understand that JKA has more possible causes for such behavior (dll mods), but I played it a bit and I didn't feel any larger difference between mods there than I do in JK2. It would be amazing to figure it out once and for all. This has bugged me since I started playing in 2004 and sadly prevented many good mod projects from gaining traction. PS I remember hearing from someone well informed few years ago that JKA modding community finally learned the original compiler name (some version of ICC). Didn't you? :-)
-
Smoo liked a post in a topic: My lightsaber is bugged and has only blue stance
-
My lightsaber is bugged and has only blue stance
fau replied to Tsukumuku's topic in Jedi Knight Tech Support
Set Saber Attack/Defense force powers in Player menu. -
What do you mean? Everyone I know who does any jk2 rendering more complex than this uses jomme, including me. It would be a huge pita like in the old days without it. You must keep in mind that there is not much activity currently though.