Leaderboard


Popular Content

Showing content with the highest reputation on 09/16/2020 in all areas

  1. 1 point
    I'm currently working on the turret minigame in KotOR I. My goals in order of priority are: Make the game more challenging Scale the challenge of the minigame with your difficulty setting Improve graphics, effects, and audio Diverse enemy types Remove "random" encounters and make it so the battles occur: Once when leaving Taris Once when arriving per planet Once when leaving per planet Once when escaping the Leviathan Once when approaching the Star Forge Optional challenges Unique stages - not always be six interceptors flying the same loops around you, but different numbers and types of ship, different skybox and eyecandy, different movement for the Ebon Hawk, different objectives (escape, survive, destroy x many fighters in a certain amount of time) Persistent health - don't take too much damage, or it will be there next time you fight! You must go to a specific location to receive ship repairs, or leverage your own (or companions) repair skill to "heal" the ship Experience gains for destroying fighters A questline with T3-M4 that allows you to upgrade the ship's health A vendor to install more powerful and unique-looking turrets on your ship While all of these goals are achievable based on what I've observed by going over the data, I know that it's easy to over-promise and under-deliver. Therefore these are mentioned as "possibles". Those in bold above are almost complete. I mention the other goals because I'd like to describe how these could be achieved if my other commitments make it impossible for me. So, I will go over the more ambitious goals in case future modders are interested in how to implement the changes. Remove "random" encounters and make it so unique battles occur This one is pretty easy. At the moment all minigame encounters use exactly the same module: M12ab. Even the battle that occurs over Taris, with it's unique skybox and background Leviathan is still just M12ab. What is actually happening is some scripting that occurs when the encounter is being loaded. When going in to the minigame, KotOR is evaluating your global variables to determine what skybox and audio cues to use (or in the case of the HK-47 practice, whether to apply the holographic visual effect) - in the case of the Taris escape, an animation is actually playing on a loop around you that gives the appearance of the starfield, Taris in the distance, and the Leviathan hovering nearby. This animation can be found in m12ab_01a.mdl/mdx. I've cut out a section of the animation to show you the awesome model that comes in the mdl: In order to create unique encounters, my thoughts are to either create new modules from copies of M12ab, or to use expanded scripting to make the existing module more flexible. I haven't yet tried duplicating the module and seeing how it would effect things, but that's next on my list. If you wanted to go very basic though, you could just use MDLedit to modify m12ab_01a.mdl, and change the LSP_planettari01 texture mentioned in it to some other planet texture. I'm completely new to modelling and haven't animated a thing, so just how far I am able to go with this and how much I can learn is anyone's guess. However if there are any talented animators out there who wanted to create a unique animation for a space battle encounter that takes place prior to boarding the Star Forge, you can find an *awesome* Hammerhead model from KotOR II in 104PERg.mdl: Unique Stages This would come down to scripting. It's possible to decompile all scripts apart from the heatbeat script (thanks to Thor110 for decompiling all the others). Inside the scripts, you can play around a lot with when the encounter ends and under what conditions. Even in the M12ab.are file, it is possible to do a lot with the nature of the encounter. To give you some examples of what is definitely possible: Spawn fewer enemy fighters - this is a simple matter of deleting the enemy structures in the .are: Make the Ebon Hawk fly around - this can be done by changing the track listed under the player structure. You could "hijack" the track of an enemy structure, or create your own custom one in Blender. I've had an absolute blast give the Hawk the m12ab_mgt06 track, making it progress at 1/4 speed, and playing the turret game in a moving ship, with interceptors flying all around me Make the enemies faster This can be done by editing the enemy tracks in blender - just shrink down the animation to play over a fewer number of frames. At the moment, the interceptors in my modded game are flying around 33% faster, and boy oh boy does it make the game better GIve enemies more hp, more powerful weapons, more rapid-firing weapons, or unique models Again, just a matter of making changes to the .are. At the moment, I have 4 normal fighters and 2 "elite" fighters that are colored the same red as the Sith heavy troopers. The elite fighters absolutely rip you apart - they deal +33% damage, fire twice as fast, and have double the hp, so I'm having to actually think in the game and prioritise targets. Make the enemies chase you while the Ebon Hawk performs evasive manoeuvres This is just a matter of editing those tracks. I'm no animator/modeller but this would appear to be the most achievable change to make to the game even as an amateur (though it does require that unique copies of M12ab can be created and function, something I have not tested). What you could do for example is create a simple track that would float up and down and side to side, then copy that and move the track back and to the side by a certain distance, maybe give it an additional keyframe at the start so that it gives the illusion of following your ship movement rather than mirroring it. Naturally if the interceptors were behind you the whole time they would rip you to pieces - at this point I am playing around with the possibility of scripting to adjust the frequency of their shots. Inaccuracy is a good variable to adjust - it is a percentage chance to miss you, so this would make prolonged fire from interceptors survivable. Rate of fire is another that would work in this type of situation, it is something like number of shots per second - however in a tail pursuit this may make the fighters shooting you seem a bit odd if they are either constantly rapid-firing or firing on a precision perfect shoot-wait x seconds-shoot-wait x seconds pattern. There's a lot more I want to say about modding this minigame but I've just looked at the clock so it will have to wait. Suffice to say that there is a LOT of unused potential in KotOR from this game, that was very likely left on the wayside by BioWare due to time constraints.
  2. 1 point
    True story, guys! Along with him being unkillable and resurrecting every time I killed him in the Tusken Enclave. Is there any way to disable the "dancedancemalak" code? I entered it after a hard save on the viewing platform but even after reloading; the code still takes affect.
  3. 1 point
    It is a curious glitch. But yeah, the problem of the cheat is easily solved if you just go back down the lift and come back up. Talk about awkward for both master and apprentice!
  4. 1 point

    Version 1.0.0

    12,165 downloads

    The player head PFHB02 has an issue with the eyes of its Dark Side transition textures. Namely, whoever made them offset the eyeball overlay they were trying to blend over the top of the base texture, resulting in a progressively noticeable duplicated set of irises. This mod cleans up the irises so they look as intended. Three options are available. The original 256x256 textures with just the eyes edited, a version that has been AI upscaled to 1024x1024, and an version that is upscaled with the addition of eye textures taken from SWTOR. Installation Instructions Pick which version the want, copy those TPCs inside that folder to your Override folder. Known Issues The UVs of the head are terrible, so the pupils are a bit wonky. I didn't want to have to edit the head mesh to fix it, since that might affect other mods. Compatibility Won't be compatible with other retextures of PFHB02, obviously. Acknowledgements Thanks to @ndix UR for TGA2TPC Thanks to @StellarExile for an issue post on the K1CP repo about this, which prodded me into remembering I had something for this Original eye textures for one version ported from The Old Republic MMO
  5. 1 point
    it would be funny if there was Sith Sorcery Force ability and somehow tie it to the dialogue to change Malak to a Twi Lek dancer. Lets face it, Sith Sorcery is known for crazy shit and it would be funny use of Sith Sorcery to change Malak to whatever the player wants. I don't know how to help you right now but it is interesting that happens
  6. 1 point
    Side effects of a Death Stick laced with Kessel Spice may include: * Loss of apatite * Sleepiness * Double irises * Lack of energy
  7. 1 point
  8. 1 point
    Yes. that's fine. @bead-v will have to pipe in with what the "CoCreateIntance() failed" error refers to. But you appear to have the body meshes imported, which should be sufficient to export UV map templates. The thing you have to remember is that GMax is crippleware. It can't really do anything - that's the entire point of it. But there are ways around the limitations. I cooked up a way to create UV templates from it over a decade ago, and amazingly all the links still appear to work. Go check out step #2 in this tutorial - https://web.archive.org/web/20151013150937/http://lucasforums.com/showthread.php?t=195825 The tools mentioned: UVMapper Classic and Renx OBJ Tools. The only thing you need to do for a character model is to delete all the bones and such first. Click on the "Select By Name" button in the toolbar (or press the H key) and enable the "Display Subtree" option down the bottom. Then scroll down until you see the skinned meshes. For a body they should be something like "torso", ArmL" and "ArmR". Anything named "xyz_g" is a bone. CTRL click to select all three and hit the Select button. Now go to "Edit -> Select Invert" and delete. Now you should have just the body model ready to grab the UVs from using the method described in the tutorial.