Jump to content
The Dark Mod Forums


  • Content Count

  • Joined

  • Last visited

  • Days Won


Everything posted by MirceaKitsune

  1. Thanks for the clarification, that explains quite a bit! So there's a separate dll for a separate piece of C++ containing some gameplay code... that makes a lot of sense now. And yeah it would be ideal to have more hooks for the simple script system as well, maybe I'll make a list of the limitations I ran into with my mod and suggest some if that's okay.
  2. How did TDM code its functionality before idTech 4 became FOSS and went standalone then, with no source code to edit? I thought it did so because all specific game code was purely script based. Not sure how I feel about this. I was hoping only basic functionality was coded in the engine, like the rendering or pathfinding or ragdolls or foot IK and so on: The rest I thought was all scripted... like telling the AI what animations to play, when to become alert, checking when they see an enemy, where to walk to, etc. There is of course code specific to the player or AI, but my belief was it's
  3. I know this can be a matter of personal feeling, but at this point it feels off enough to ask: Did any cvars relating to AI difficulty change in recent versions, or perhaps their functionality altered in 2.08 or 2.09? My difficulty level is set to Nearly Deaf / Nearly Blind, yet the AI reacts almost immediately and will reach an alert level for the smallest reason. Asking here since I feel it was a bit less reactive before so I'm imagining something must have changed, either in the scripts or outdated settings perhaps.
  4. The augmentation system is one step closer to completion! Today I finally implemented the power system, with draining and regeneration as well as the visual bar (follows all HUD settings adjusted in the main menu). Different augmentations drain different amounts of energy at different times, some only while working others all the time. Regeneration is itself achieved via photosynthesis, meaning the player must stand close to a light source in order to regain power... this should add an interesting gameplay element by pushing the player to expose theirself and sit in bright areas when enemy AI
  5. The engine code contains TDM specific functionality? I thought it only offers functions to compute the light, but such a value would first have to go through a script IIRC. TDM had a lightgem system before idTech 4 was open sourced too, so I assume it was scripted before the code could even be modified unless I'm missing something. For now I found a workaround for what I need to do, as it doesn't need to know the lightgem value specifically.
  6. Oh wow: You can't even read the light value at a given origin rather than per-entity? How does anything work without that? I mean doesn't the player script read the light value at the player's location in order to know how to set up the lightgem? If all else fails I'll use the gui value in that case... I was thinking that's a failsafe if other methods are more complicated. Update: Looked into it and it's a mess I can't make sense of. gui::lightgem_val isn't set anywhere in tdm_base01.pk4/scripts where all TDM related scripts are stored, meaning it should not be working even in the default
  7. Since the beta is an opportunity to fix issues, including ones that existed in 2.08: Is there a chance for alt-tab switching under Linux / KDE to be fixed? I'm referring to this bug: https://bugs.thedarkmod.com/view.php?id=5293 Alt-tabbing itself works fine. But if you switch to another window, moving the mouse cursor over the TDM window in the background causes it to jump in the middle of the screen. This is normal when the window is focused but shouldn't happen when something else is selected and you only move the cursor across to operate other applications.
  8. How do I read the current light gem level of the player in a script, to know how visible and exposed to light the player is at that moment? getLightLevel() seems to be a property of light entities rather than players / AI... a search through the default scripts doesn't help much either.
  9. No obvious bugs that I can see in the latest 2.09 beta. I just realized the first beta had yet another bug I missed: Ambient music also played at half volume and I could barely hear it... it now plays at the correct intensity again. This might not be 2.09 specific per say, but I should point out I still keep seeing guards getting stuck in front of doors every once in a while. By stuck I mean they will open the door, but then spin in a circle in front of it even 10 times in a row, before either deciding to walk away or finally go through. I've seen it on more than one FM and with the defau
  10. It's mainly for logical reasons: I wanted each effect to be tied to a limb... if that limb is damaged to the point where it stops working, the augs on it should fail too. Upon second thought however, I think permanently losing the augmentation when a limb reaches 0 is too big of a penalty, and would encourage players to fallback to a previous save just to not lose their upgrades. So for now I decided to simply disable augs when their limbs reach 0 health, but have them come back once the limb has health in it again. I see. It seems to work just as fine though: It informs the playe
  11. Technically kind of: Limb damage is taken based on the player's velocity at the time of damage, with nearly none taken if damaged while standing still. This means that how you move while fighting an enemy AI or walking through a damage zone (eg: lava) determines which limbs are hurt the most: Strafing sideways exposes the arms, moving back and forth exposes the chest, jumping exposes the head (when going up) and legs (when falling down)... holding an object offers added protection to the torso at the detriment of the arms, while crouching or touching the ground protects the legs. Also fall dam
  12. Another set of ideas and improvements I'm very happy with landed today; As suggested, the topmost information (starting at aug level two) now contains the melee skill as well as the ranged skill (accessed via AI spawnargs "def_melee_set" and "def_projectile"). They still use the internal technical names but it's better than nothing! Speed and jump enhancement were merged. In the empty slot created a new aug was added: Path markers! A small glare effect (tdm_moon_glare.prt) is added to each path_corner on the map, allowing the player to see which spots are frequently patrolled by AI
  13. I wonder if the mirror might be interacting badly with the ceiling texture I'm using, textures/darkmod/stone/flat/slate01_light: Maybe that shader has something the mirror doesn't like in mixture with a skybox? But since others can't reproduce this one there's no point in dwelling over it, it may be a random map bug that could go away after I tweak things. Speaking of mirrors: I tried giving the floor on my test map the newly updated textures/washroom/mirror texture. It seems mirror floors work perfectly and without issues All characters and entities are reflected, no flickering or clipp
  14. Confirming the latest beta fixed AntiAliasing for me as well, nice to have it working again The mirror bug I'm experiencing with my FM is still there although I think it looks a little different now.
  15. What would be the best function or spawnarg to get the melee skill of an AI? Perhaps something that could work for archer skills as well so it's not just for melee? I agree the name is pretty much a placeholder, there's little to not use for it just something to fill each upgrade level with. Changing the acuity of all AI sounds a bit too hacky, as this would also offset their hearing toward other AI or world events. Plus the player hears their own footsteps at the same volume so it doesn't make sense. For now it seems best to skip this one... maybe I can find something better in its place
  16. Took some new decisions while I was away, I think you're going to like these as well First of all how augmentations will relate to limbs: Each aug will be specific to a body part... like healing to the torso, infrared to the head. As long as that limb stays above 0 health, the performance of the aug will not be affected and you can keep using it. However if you allow a limb to reach 0 health and disappear from the HUD, all augs installed on it will be permanently lost! Once your limb is healed again the player will need to find new items to install and start upgrading lost augmentations from
  17. Crosshair and Information augmentations were merged into one as follows. Level 1: The crosshair appears, this time all colors work right away. Level 2: The name / class of the traced AI is printed below the crosshair. Level 3: The alert level of that AI is also printed below it. Level 4: The health of the AI is also printed below that. I'm thinking of merging speed enhancement and jump as well, given they do roughly the same thing and use the same script pieces to do it. However this would leave me down by yet another augmentation slot, and I'm panning to stick to 12 defaults now that I w
  18. Very good points, I agree with most of them and am thinking of making some changes in this direction. A couple of problems though: Stealth: Currently I'm using (4 * lv) meaning that at level 4 you get a 16 lightgem deduction. I agree that's a bit too much so I've lowered it to (2 * lv) meaning max 8: I tested that possibility too and it's just enough to make the effect worth it but without making the player too hidden. Silence: The plan was to create a separate augmentation for making the player silent while walking. The problem here is the scripting system: I could not find a wa
  19. An important question for the mod I'm working on, as I need to ensure it works with campaigns especially since I plan to make some myself: In a script, how do you make a value persist between campaign levels? So if a float was set to given value during the previous map, how do I make it get the same value once the next map has started? There's already inter-level persistence for a few things so it's doable, I just don't know how to do it for custom script variables.
  20. Happy to announce that in one day (albeit spent working exclusively on this) I managed to implement the effects for all augmentations I plan to have available in the module. The fun part is that I managed to get so many good ideas working with the script system after all, I went ahead and implemented 12 augs rather than just 8: I don't know if in the future I'm going to combine a few of them, such as speed enhancement with jump enhancement or crosshair with info text, which would make sense but I'll have to think upon it. For now every effect is independent and plays a role that's definitely g
  21. Speaking of porting fun features from DX, say hello to the crosshair which indicates the alliance of targets you're looking at! The crosshair only appears once you choose to install its augmentation: It will be white by default, green when looking at a friend, yellow when looking at a neutral, red when looking at an enemy. Colors may be filtered out by the upgrade level of the augmentation, meaning certain states can only be seen at some upgrade stages.
  22. I guess. I don't need so much responsiveness for everything... this is for a HUD component so the effects will be instant. Some things do need to respond each frame though, and since each thread can only contain one while(1) loop I'd need to thread multiple checks independently. Or I can use a timer check which is easier, but it becomes messy to keep track of what needs to be updated instantly and what can be delayed. Since I'm using CONTENTS_BODY as the mask I assume the trace automatically excludes all entities except for AI, thus there shouldn't be a lot of bounding boxes to calculate.
  23. Not quite, that is a different project. The system I'm designing in this thread (per-limb damage with player skills / augmentations) is intended as an addon for vanilla TDM as well, although my real cyberpunk mod (The Dark Module) will contain it by default since I want that there. I intend on making it look and work well under both. With maps designed for TDMU this won't be a problem as I'll be adding those upgrades in-world: The issue is with it working on vanilla TDM maps too. The end goal of this plugin is to add a bit of extra realism and a touch of complexity to the gameplay. It's n
  24. Cheers, will give it a try! I thought that might be the case after posting this but those more complicated maths are always a problem for me to understand Once more I assume tracing is the only solution I have for my use case? There isn't any function to tell if a position on the 2D screen touches a 3D model from the player's POV? It should work perfectly of course... I'm mainly concerned for performance, though tracing each frame doesn't seem to noticeable reduce it in the slightest for me.
  25. Feedback wanted, please share your thoughts and suggestions: I'm still thinking on how I'm going to implement skill / augmentation upgrading. I've already started implementing the boosts themselves and they're proving fairly easy to do, however the system for the player to choose what to upgrade is going to be tricky. So far I had several ideas coming to mind but none seems to really fit. I initially thought about using loot as skill points, making it so that pressing the use key with the loot inventory icon selected would open a menu or upgrade a slot based on the direction the play
  • Create New...