-
Content Count
3985 -
Joined
-
Last visited
-
Medals
Everything posted by haleks
-
Hi guys! I'm stuck on a little something I'm preparing for the Derelict mod : I'm trying to get rid of roads entirely. Or rather, the idea is to hide them and place some vegetation to make them near indistinguishable. So far I've managed to edit the textures seen up close by replacing them with transparent ones : It looks nice up to a few meters around the camera, but beyond that range the old midrange texture remains visible. Another example with concrete road : Question is : does anyone know the names or the location of those textures? As far as I can tell, they aren't in the roads_f addon file. I don't think it's possible to change those textures from any config replacement either, sadly...
-
@johnnyboy: Holy shit, I didn't realized addForce could be used on units! No need for a collider, and yep, it does work beyond the 100 meters range! Johnnyboy, you're my hero! Now, time to rewrite the code for something cleaner. ^^
-
Updated the OP with the issues I've spotted so far. There's one more undocumented issue, one that is more or less solved... Impact uses an invisible collider with scripted mass to emulate kinetic energy; right now Arma3 has limited options in terms of invisible PhysX objects; as a result the one I'm using is a tad oversized, so I had to disable collisions with all objects in the immediate vicinity of the target. The fix is pretty solid, and even works with bullets shot through tight spaces, such as gaps in fences or gates. @DnA or any person in charge of Arma3 maintenance : Contact has a small collider for that very purpose, it's a shame to have it locked behind a DLC, as this would benefit mission makers if it was available from the base platform... That being said, the mod is ready for release - or rather it would be, if not for one major Arma3 bug I spotted last week... Basically, the engine only processes collisions in a 100 meters radius around the current camera between physX and non physX objects - I reckon it's a limitation stemming from geometry LODs. See this report for more details : https://feedback.bistudio.com/T162551 It kinda defeats the purpose, as most engagements are long range in Arma 3; I'm going to wait a bit and see if a fix is possible. If not, I will release Impact as is. 😕
-
Edit roads mid-range textures
haleks replied to haleks's topic in ARMA 3 - ADDONS - CONFIGS & SCRIPTING
That's a link to the Derelict Mod, but that specific feature didn't made it in since it causes visual issues with satmaps. 😉 @_Eralorn_: Here's a link to the files with replacement textures : https://drive.google.com/file/d/1r5gj29kRSWR0tbEP7b1jOAh4m4jXdbHq/view?usp=sharing But keep in mind that the problems detailed in the OP remain unsolved, it probably won't look good... -
i need help Handledamage Eventhandler & Aircraft Not Working as expected?
haleks replied to Slay No More's topic in ARMA 3 - MISSION EDITING & SCRIPTING
Maybe the EH is triggered several times in the same frame? By the way, this doesn't work either : this addEventHandler ["EpeContactStart", { params ["_object1", "_object2", "_selection1", "_selection2", "_force"]; _object1 allowDamage false }]; this addEventHandler ["EpeContactEnd", { params ["_object1", "_object2", "_selection1", "_selection2", "_force"]; _object1 allowDamage true }]; 😕 Might be worth opening a ticket, if there isn't one already. -
i need help Handledamage Eventhandler & Aircraft Not Working as expected?
haleks replied to Slay No More's topic in ARMA 3 - MISSION EDITING & SCRIPTING
If it helps, the demo missions included in my Remnant mod feature drones that stalk the player, with a working EH that disable collision-induced damage : _this addEventHandler ["HandleDamage", { params ["_unit", "_selection", "_damage", "_source", "_projectile", "_hitIndex", "_instigator", "_hitPoint"]; if (isNull _source) then {0} }]; Note that the code actually "heals" the drone, so you need to replace the numeric value by a proper overwrite with the original damage of the hit selection. Slay's code checks for projectiles such as "HelicopterExploSmall", "FuelExplosion","HelicopterExploBig" - but those occur once the heli is destroyed already, so it's most likely "too late" at this point to overwrite initial damage, I think. -
Surprisingly, the impact effect also works with undetonated HE rounds shot at point blank. To give you guys a rough idea of the current system : - Sniper rifles, most explosives and shotguns will knock down targets pretty much every time. - Impact usually kicks in every 5 to 10 shots with most medium caliber weapons - ranging from the AKS 74 to the SPAR series. - Around every 2 or 3 shots with MX, Katibas and the likes. - Small caliber weapons such as the Protector also have a (very) tiny chance to knock someone down. Overall I think the balance between the various types of weapon is in a good spot; there's a bit of fine-tuning to do though - the effect is just a tad too frequent for my taste, especially for MX class rifles...
-
Surviving a grenade blast : It's working pretty good so far. 🙂 Shotguns are making things a bit tricky to balance though... The submunition system is a tad more tedious to work with, and I'm noticing inconsistencies in the arsenal (the Promet attachment seems to be pretty weak compared to the rest)... Still have loads of guns and ammunitions to test; but right now, 5.56 caliber hits and higher feel very satisfying - I think I found the sweet spot to generate just the right amount of inertia and have units fall in a convincing manner. One fun thing, you can literally pin down invincible or bullet sponge units to the ground and immobilize them (as long as you have ammo, that is). Should make things interesting for Terminators and the like... I'll probably disable it by default on player units though, and make that an opt-in feature. Even if it's not a guaranteed fall every time, it's frequent enough to make things... pretty hardcore.
-
Hello gents, Tiny SITREP on the "Aradus Project" : We're getting very close to an Alpha Release! \o/ Work on the "open world" aspect of the scenario is nearing completion on its first milestone, at long last... To recap, the first prototype will showcase the following features : - A completely desolated version of Altis : the "do not linger" scenario already showcases a basic implementation of this system. Probably the most critical feature on the list, and certainly the most challenging one... Turning every city into ruins, cluttering the roads and replacing vegetation without tanking the framerate or crashing the save system wasn't easy to pull off, but I'm really happy with the final result - so far performances are exceptionally good, and Altis looks absolutely stunning with the "post Death Stranding" treatment : - A dynamic population system : the first iteration will include "Surface Dwellers" such as scavengers and independent porters. It's worth mentioning that, even though Aradus is shaping up to be an Arma3 sandbox adaptation of Death Stranding, the goal is not to do a verbatim recreation of the game. The lore and the storyline will have their own twist, and the relationship between various factions (included or planned) will reflect that : scavengers aren't necessarily hostile, and NPC porters may visit their camps to trade. As mentioned in a previous post, scavs have daily routines : they may go on a scavenge hunt, take refuge from the rain/timefall and patrol or defend their camps. They're also semi nomadic : every few ingame days, the location of their camps will change, meaning that a previously safe route may hold some bad surprises later on... The Relationship System may not be complete on the first Alpha though - it will be an intricate part of the storyline, which will come later. - A variety of immersion features : contextual music, graphical effects and meteorological effects. The sound tracks includes high quality, open source music from 3rd parties as well as vanilla tracks - music is going to be an important bit of the game, and I've made good progress on a "smart" jukebox system. Aradus is going to be a treat for eyes and ears both. - A "safehouse" system : underground private rooms, safe from the surface, where to sleep, heal or adjust your gear. The map will most likely have very few of those at first; more will be accessible once the most important faction, Vrana Industries, is added - and, maybe, with a "3D print your house" feature (but that's just an idea for now 🙂 ). - And of course, Phantoms to spice things up! I'm aiming for a "very early alpha" release around New Year's Eve. As I've said earlier, the alpha will demonstrate the capacities of the current systems and mainly serve as a performance test : it will give an idea on how the game will run and feel like, and that's about it. Without the survival mechanisms, terrain and cargo load systems, walking around Altis is going to be a tad boring; the interaction between different factions will also be minimal at first. The Beta stage before final release will bring everything to life, so to speak, with the introduction of Vrana Industries and its dynamic mission generation system, along with the first story driven elements. The Beta will start once survival & terrain effects scripts are done - there's going to be a lot of work there, so no solid ETA right now... But the plan is to release the Alpha with or without them. Until then, I compulsively take screenshots whenever I'm editing, so don't hesitate to take a peek if you want some idea of the stuff I'm working on. 😉 See you soon on the shores of Altis guys! o/
-
The link in the OP has been updated. 😉
-
Is the forum not keeping you logged in going to be fixed one day? This has been going for... a few years I think?
-
Good morning people! I'm pushing a small update with Western Sahara support. \o/ Use the "Takistan" preset to add WS djellabas to the lists, or any other preset for the PMC uniforms. Have fun guys! 😉 Download : Ravage v0.1.88
-
@Valken: Safehouses will work pretty much the same way (at least in SP). 😉
-
passing a method name to be executed
haleks replied to Luft08's topic in ARMA 3 - MISSION EDITING & SCRIPTING
In my experience it really takes overusing the most demanding commands to actually cause a freeze when called (like allMissionObjects or nearestTerrainObjects) or processing very large data, and usually such scripts will tank framerate when run scheduled. -
Phantoms in this situation are most likely hesitating on the whereabouts of their target. Whenever someone throws chems or flares (or anything), phantoms pick up that sudden movement and are attracted by it - but they will "forget" it pretty quick since it is not a valid target, and will wander around the position where this happened. The problem that sometimes occurs is phantoms detecting the throw as soon as it happens, leading them directly to you... I might need to add some sort of reaction time to prevent that, but it's worth noting that distracting phantoms this way will be more difficult than before in any case... The last update toned down their tracking abilities : it can play in favor of players wandering too close, but it also reduces the efficiency of that distraction method. Once the first Aradus beta is released, I'll start adding more advanced features to interact with phantoms - the "throwing stuff around" is meant to be a basic, low efficiency tactic to avoid them and was a bit overpowered in previous versions. Speaking of Aradus, I've made good progress recently! The "private room" bit, aka the player's hub, is almost done. \o/ Right now it's only implemented for personal safehouses (Vrana facilities will offer that feature too, once they're done); those are structures that give access to an underground bunker, from where players can adjust their loadouts, plan their trips or sleep the night off. Once Aradus is ready to be ported to other terrains, safehouses will come as editor-ready compositions for mission makers. WIP screenshots : Right now I'm aiming to finish the custom endurance system, and to add a few light survival stuff; a first alpha release should follow - but don't expect anything too fancy, as it will mainly focus on testing performances at first...
-
Hey guys! o/ Still working hard on Aradus - and tweaking Remnant along. I took some time to rework some of the phantoms behavior scripts recently, and came to realize that a misplaced code block was breaking their "investigative" state... They would home in on their target pretty much every time and end up hovering right over it if they happened to lose track of it - that was not intended behavior (and it took me more time than I care to admit to notice it). So yeah, update time! Fixing the investigative state alone drastically changes how phantoms feel up close - especially if you play hide-and-seek with invisible ones - and several other parameters have been tweaked to make them more interesting to interact with. This update significantly alters the phantoms AI - I don't think the overall balance changes much, but in case you need to adjust the difficulty of your own missions, I suggest increasing or decreasing their "sensitivity" as needed via the Settings module. Here's the complete changelog : Download : Remnant v0.2.7 Enjoy!
-
Haven't touched that mission in a long long time, but iirc it should be a matter of copy/pasting the content of the scenario to the new one (there should be a bunker object that acts as the exit point for the intro sequence, you'll need to find a sweet spot for it), and then doing the same with all files from the original scenario except for mission.sqm.
-
Substitution of tree and plants on existing islands
haleks replied to Fr3eMan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
@mrcurry: use "super simple objects" locally, their simulation is disabled and they won't generate any traffic on the network. But for MP, you'll have to design your code so that replacement objects are identical on all clients - without broadcasting anything... My current approach with a Remnant related project is to use the data of the original vegetation object to determine the type and positioning of the replacement; but if you choose to do all those calculations at once before mission start, you're looking at increased loading times (possibly more than an added minute)... I ended up using a mix of both : environment around the player is processed during the initial loading screen, and the rest is done dynamically as the player moves around. Given the amount of objects to manipulate in any case, I strongly suggest constantly testing the performance of your code. ^^ -
Substitution of tree and plants on existing islands
haleks replied to Fr3eMan's topic in ARMA 3 - MISSION EDITING & SCRIPTING
If it's done before mission start, it won't affect performances at all. @Fr3eMan: if you want to do that for a single player scenario, keep in mind that the amount of data and objects might crash the save system. -
Mod version : 0.10.0 (2021.11.08) m3mory Hello people! Here comes a new tool to keep your Arma3 saves in good health... M3mory is a tiny mod that will keep the size of your save files in check and ensure they remain usable for as long as you want. It doesn't require any configuration : simply load the mod whenever you're playing in single player, and it will automatically do its job anytime the engine saves your progress. Works with all types of engine saving event (mid-game, save & exit, autosaves - including during Alt+F4), in any mode (campaigns, scenarios - official or custom). Why? The engine indiscriminately saves any change made to terrain objects, amongst many other things : any opened door, any damage to any structure, any broken tree, wall or fence, ends up in the file. This means that no matter what, the size of your saves will increase - either gradually over time or dramatically depending on several factors. It can take some time in a "quiet" and well designed scenario, or it can happen very quickly in more intense, all out war scenarios. Loading or saving takes more and more time as this happens, and, on the bigger or denser terrains, this will cause the engine to crash eventually... While it may not be problematic for the most typical mission designs, it can potentially cause game-breaking issues for "endless" type or very long scenarios. M3mory is designed to solve this problem by excluding unnecessary terrain-related data from the save system. Every inconsequential object that is not in the player's vicinity is reverted to its original state whenever progress is saved, with the exclusion of destroyed structures (avoiding any potential conflict with mission critical objectives). This effectively puts a hard limit on the maximum size of your saves, or rather, it limits the impact of terrain objects interactions on your save files. Keep in mind that the mod doesn't interact with scripts or variables, which also have a direct influence on the volume of data that is saved. A few considerations Initial Test Results Download Want to support my work?
- 4 replies
-
- 9
-
- single player
- saving
-
(and 1 more)
Tagged with:
-
I really don't know - that's a completely different problem... I've been working on & off on a custom persistency framework for Remnant, one that would work in both SP & MP... I'm quite happy with how it's shaping up to be, but it is very far from completion. The cool thing is that it is designed to allow mission makers to push any kind of data to be saved (as well as what should be done with said data) with minimal configuration, on the other hand, that modular approach is more difficult to build... And on top of making a persistency system from the ground up, there's also a few potential exploits to solve (something I've been stuck on for a few days now). To this day I don't know yet if the next Remnant expansion will use that system, or if I'm going to stick with the m3mory approach (cleaning-up data before the engine saves) - both have their advantages and problems. But if I do finish the custom one, I'll most likely release a standalone version, stripped from Remnant specific features.
- 4 replies
-
- 2
-
- single player
- saving
-
(and 1 more)
Tagged with:
-
And it's on! M3mory is now available on the workshop. Since the mod is meant to improve user experience for long-term scenarios, I've made sure it can update itself from any saved file that has a m3mory hook : you won't need to restart your favorite SP missions if m3mory is updated. A quick note : in theory, m3mory could be used to repair heavily cluttered save files, but apparently it's impossible to inject new scripts or event handlers in a mission that has been initialized already...
- 4 replies
-
- 5
-
- single player
- saving
-
(and 1 more)
Tagged with:
-
That was fast o_O Thanks @killzone_kid, this is going to be very useful! \o/
- 1481 replies
-
- branch
- development
-
(and 2 more)
Tagged with:
-
@killzone_kid: It's mostly ruins spawned on hidden structures, wrecks, vegetation and rocks. There're all stored in global variables, which are deleted after running the delete command : fnc_save_eh = { //terminate all procedural systems { terminate _x; } forEach aradus_ex_systems; //revert all terrain edits { _x hideObject false; } forEach aradus_ex_hiddenobjs; aradus_ex_hiddenobjs = nil; { _x switchLight "AUTO"; } forEach aradus_ex_lampobjs; aradus_ex_lampobjs = nil; { deleteVehicle _x; } forEach (aradus_ex_spawnedobjs); aradus_ex_spawnedobjs = nil; //delete all rcks from veg sys { _so = (missionNamespace getVariable "aradus_var_spwnd_rcks") get ("myst_rock_"+str _x); deleteVehicle _so; } forEach aradus_var_veg_hndld; //delete all wrecks from roads sys { _o = missionNamespace getVariable ("aradus_var_" + "m_s_r_o_"+str _x); deleteVehicle _o; } forEach aradus_var_r_hndld; //clean up vars { missionNamespace setVariable [_x, nil]; } forEach ((allVariables missionNamespace) select {(_x find "aradus_var_") isNotEqualTo -1}); true }; From what I saw, all deleteVehicle commands are properly registered and executed, and all variables are destroyed right away; but I think the sheer number of objects (more than 100.000) slows things down and causes some objects to be deleted a bit late. I've reworked the script to work from a loading screen, which seems to speed things up enough - the only remaining problem was the "loaded" EH triggering the reboot process twice, since its execution also get saved from the fnc_save_and_reboot_systems function (unless I use a longer delay method, but that's unreliable), which is needed for mid-game saves. I solved that with a simple variable check : aradus_fnc_sys_init = { if (!isNil "aradus_var_process") exitWith {true}; aradus_var_process = true; aradus_ex_hiddenobjs = []; aradus_ex_spawnedobjs = []; aradus_ex_lampobjs = []; aradus_ex_systems = []; //terrain edits call arad_fnc_ds;progressLoadingScreen 0.33; //register & spawn procedural systems aradus_ex_systems pushback (call arad_fnc_vegetation);progressLoadingScreen 0.66; aradus_ex_systems pushback (call arad_fnc_roads);progressLoadingScreen 0.99; true }; _sysreboot = addMissionEventHandler ["Loaded", {//used for 'save & exit' type call aradus_fnc_sys_init; }]; [missionNamespace, "OnSaveGame", { startLoadingScreen [""]; call fnc_save_eh; 0 spawn { waitUntil {isNil "aradus_var_process"};//defined in aradus_fnc_sys_init function call aradus_fnc_sys_init; endLoadingScreen; }; }] call BIS_fnc_addScriptedEventHandler; Not sure why the variable check wasn't working when I posted, but I was pretty tired, so it's likely that I missed something then... The new script seems to work just fine right now, but still, I think that stuff would be simpler to do, and cleaner, if saveGame returned something once it's done writing. ...Or better yet, a way to exclude some type of objects or data from being saved. Even without the "I wanna spawn tons of stuff" problem, vanilla saves get bigger and bigger in 'endless' scenarios (partial damage to structures, broken walls etc...) - I think that's why Antistasi uses its own save system.
- 1481 replies
-
- branch
- development
-
(and 2 more)
Tagged with:
-
Hello people! Remnant has been updated! \o/ This is a small update (well, "small"... I actually spent the weekend fixing stuff on this one...); I've decided to split the Big One into several smaller patches and release new features and tweaks as I finalise them, in order to ease the workflow on my end. Considering the time I spent fixing a last minute, game breaking issue, I reckon it was a wise decision. Anyways, here's the changelog : The "Do Not Linger" scenario is now using the basic components of the Terrain Modification tech : I've finally managed to work around the limits of the vanilla save system! Malden is now as desolated as can be - every building that has a proper ruin model is now destroyed, every single bush or tree is gone and all road segments are cluttered with objects (wrecks and vegetation)... I don't have the stats right now, but that is a huge amount of edits and objects. And the average framerate is actually higher compared to the previous version. Adapting the save system to work with the new tech was... painful (I almost gave up on that one). There are a few minor downsides compared to the vanilla saves : players are limited to one save only, and it is no longer possible to restart from the mission once the game has been saved - you'll have to exit the mission and restart it from the menu (that, and the engine no longer autosaves when Alt+F4 out of the game). Not a big deal I reckon. Also, do note that saving will trigger a loading screen : no worries there, this is intended behaviour. I strongly encourage you guys to (re)play the showcase and test the new tech, and to report any issue or oddity you may encounter - hopefully, there won't be any... ^^' The Terrain Modification system will need more tweaks to work with Altis, which is a wholly different beast in terms of size and number of objects to edit or spawn, but I'm quite happy with its performances on Malden. Fighting Phantoms back should feel a bit more satisfying now - I'll probably redo the Livonia scenario to showcase that, but that'll have to wait a bit (I'm completely spent right now)... The Timefall module has received substantial changes too, and the Vegetation VFX looks a bit better now. I suggest using the same condition parameter as the one you use for the Phantom spawner module : this way, "Timefall flowers" will serve as visual clues indicating that Phantoms are around... Note that Timefall won't trigger if the ingame "rain" value is below 0.1. And one last note : the "rest" mechanic of the new Health module is meant to complement the usage of First Aid Kits : health will only regenerate if the player's damage value is at 0.25 or lower. I hope you'll enjoy this update! Special thanks to my long time supporters on Patreon! 😉 Download : Remnant v0.2.6