Old 15th April 2013, 09:24 PM   #1 (permalink)
Harmless - Post: 7

Default Arma II Wasteland

Hey Ive enjoyed playing on TOG clan Wasteland server for quite some time now but as I begin to emmerse myself in a more varied gameplay style I see just a few problems which are easily addressed and enforced in other games of this type and create a much more balanced, realistic and enjoyable gaming experience for those involved. THe following are suggestions that I want to make and honestly do believe would be beneficial. Arma II is designed as a simulator, the definition of which I hope I do not need to explain but which many who play the game do not understand. My main issue is with people stepping outside of the realm of realistic actions for personal benefit, meta-gaming as its commonly known. My example is base building in wasteland. YOu can spend hours upon hours creating a well made base, and for what? To store valueables, have a place to call your own but most importantly to play the game a specific way, generally hoarder/defender style in this instance. My issue is when you spend all this time creating an environment in which people have the option to be base attackers but then exploit unrealistic options to essentially ruin the game. An individual should not be able to walk up to a base building and simply move it to step through. THis is unrealistic and takes away from the simulator game style. Both defenders do not get the chance to truly defend, nor do other attackers who wish to play the game realistically get to attack. THerefore I propose a 'real life' set of rules if you will. Simply it bans people performing activities which in real life would not be possible. ie moving a 2 story bunker complex. Im all for this to bring the game inline with its simulator purpose and believe that for everyone who wishes to play this game in the manner it was intended would find this to be a welcome set of rules, those who do not like such a suggestion should not be playing a simulator, go to CoD if you want an arcade shooter as opposed to a sim. Obviously other rules would accompany this, such as base for example need to have entrances, you can simply lock a base for no-one to get in. FInally I would like to say I appreciate those TOG members who can read this arguement and see it for what it is, a logical arguement which would improve the quality of your server environment, and I despise those who would simply call me a QQer (not necessarily TOG members but server inhabitants have) for suggesting an idea that balances the game and allows all who wish to play it properly to enjoy the base building element as opposed to me spending 2 hours to build something that is simply ripped apart by those who know how to work the 'scroll>move object' feature.

My rant is over, thanks to those who took the time to read it. I look forward to this being considered and hopefully implemented. After all I like to think when I join a TOG server, run and maintained by mature players that I can expect a mature gaming experience.

-Wrayth
Wrayth is offline   Reply With Quote

Old 15th April 2013, 10:14 PM   #2 (permalink)
Deadly - Post: 1678
 Speedy's Avatar

Default

Thanks for your input, though more paragraphs would be nice.

As for bases my own personal opinion is that all base building materials should be removed from the mission until there are some that are not indestructible.


And don't get me started on those ridiculous suspension of disbelief destroying skybases.
__________________
Speedy is offline   Reply With Quote
Old 15th April 2013, 10:43 PM   #3 (permalink)
Harmless - Post: 7

Default

Lol more paragraphs = more pissed. I needed to have my rant. One of your guys was saying you were working on base parts being destructible. I guess the bottom line of my arguement wasnt regarding bases specifically that was just the best example to use. The bottom line was people using unrealistic exploits in the game and not being punished for them, because essentially the way I see it is legalised hacking (if you catch my meaning). Ruins the game for people playing legit.
Wrayth is offline   Reply With Quote
Old 15th April 2013, 10:49 PM   #4 (permalink)
Harmless - Post: 7

Default

Another point also, destructible base parts would add to the realism of course, but the 'real life' rules I would like to see would also require base builders to leave an entrance. Rules apply both ways cant have attackers moving parts to get in neither can defenders therefore an entrance is a necessity.
Wrayth is offline   Reply With Quote
Old 16th April 2013, 10:56 AM   #5 (permalink)
DayZ Wasteland Server Owner
Dangerous - Post: 702
 Redshirt_Ensign's Avatar

Sleepy
Default

I would not call you a QQ'er as your arguments are quite logical ... however

The first thing you realise once you start editing Wasteland is just how much a giant mountain of kludges the code actually is. The sheer amount of things people take for granted as "well that should just work shouldn't it?" are actually complete miracles of ingenuity in arma code implementation.

It is ZERO support for (in game) base building in native arma2. Seriously, none whatsoever. What we have in Wateland is entirely provided via an obscure library of arma scripts called R3F_Logistics (which is written in French too btw).

So with that in mind, try to understand that there is no complex logic already available to make the kind of "rules" you want me to simply "enforce". I would have to write one - which is still not impossible as we have already made many enhancements and modifications to the base 404 Wasteland code.

However, first we would need to work out exactly what we want to happen:

Unmovable Base Parts:
So they are unmovable? Obviously they are not always unmovable otherwise how did you get it to your base and put it in place? At what point it is unmovable?

Are you suggesting that we do a 1-time lock on them and then just give owner the option to destroy it? What about after owner has left the server? Please elaborate on the exact mechanics you are asking for.
__________________
Redshirt_Ensign is offline   Reply With Quote
Old 16th April 2013, 12:15 PM   #6 (permalink)
Harmless - Post: 7

Default

Yeah I understand that it wouldn not be easy and would require alot of work. However Im suggesting a simple change to the rules to which anyone who is looking for a legit gameplay experience would follow. Adjust your rules as to a real life clause. ie "You cant perform actions which wouldnt be possible in real life" (moving houses to break into base, ejecting driver seat through perma walls)" this could be made as a new pop-up message when entering the server so the word spreads. Then enforce the rules on those who break them with a simple player report by those who see people breaking rules.
Wrayth is offline   Reply With Quote
Old 16th April 2013, 12:34 PM   #7 (permalink)
DayZ Wasteland Server Owner
Dangerous - Post: 702
 Redshirt_Ensign's Avatar

Sleepy
Default

Quote:
Originally Posted by Wrayth View Post
Yeah I understand that it wouldn not be easy and would require alot of work.

Quote:
Originally Posted by Wrayth View Post
However Im suggesting a simple change to the rules to ...


What "rules" ??? There is only code ... lots and lots of code ... I thought I just finished explaining this

Unless you are simply talking about some kind "Please don't do that thing" message in our login or something .... in which case ... have seen the kind of players we have on that server? We can't even get them to not use Global VON even though it doesn't even work. You want them to abide by some gentleman's arrangement about "playing fair" with base objects?

Honestly, I am trying really hard to be open to suggestion here but you aren't suggesting anything (nothing I can implement anyway). You are just making magic wishes and expecting me to be able to fill in all the blanks on the logic and coding front.

Here is just one of the scripts from R3F (the one that is primarily responsible for object movement) ... show me where I "change the rules" please?

Code:
/**
 * Fait déplacer un objet par le joueur. Il garde l'objet tant qu'il ne le relâche pas ou ne meurt pas.
 * L'objet est relaché quand la variable R3F_LOG_joueur_deplace_objet passe à objNull ce qui terminera le script
 * 
 * @param 0 l'objet à déplacer
 * 
 * Copyright (C) 2010 madbull ~R3F~
 * 
 * This program is free software under the terms of the GNU General Public License version 3.
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

_currentAnim =    animationState player;
_config = configFile >> "CfgMovesMaleSdr" >> "States" >> _currentAnim;
_onLadder =    (getNumber (_config >> "onLadder"));
if(_onLadder == 1) exitWith{player globalChat "You can't move this object while on a ladder";};

if (R3F_LOG_mutex_local_verrou) then
{
    player globalChat STR_R3F_LOG_mutex_action_en_cours;
}
else
{
    R3F_LOG_mutex_local_verrou = true;
    
    R3F_LOG_objet_selectionne = objNull;
    
    private ["_objet", "_est_calculateur", "_arme_principale", "_action_menu_release_relative", "_action_menu_release_horizontal" , "_action_menu_45", "_action_menu_90", "_action_menu_180", "_azimut_canon"];
    
    _objet = _this select 0;
    if(isNil {_objet getVariable "R3F_Side"}) then {
        _objet setVariable ["R3F_Side", (side player), true];
    };
    _tempVar = false;
    if(!isNil {_objet getVariable "R3F_Side"}) then {
        if(side player != (_objet getVariable "R3F_Side")) then {
            {if(side _x ==  (_objet getVariable "R3F_Side") && alive _x && _x distance _objet < 150) exitwith {_tempVar = true;};} foreach AllUnits;
        };
    };
    if(_tempVar) exitwith {
        hint format["This object belongs to %1 and they're nearby you cannot take this.", _objet getVariable "R3F_Side"]; R3F_LOG_mutex_local_verrou = false;
    };
    _objet setVariable ["R3F_Side", (side player), true];
    
    // Si l'objet est un calculateur d'artillerie, on laisse le script spécialisé gérer
    _est_calculateur = _objet getVariable "R3F_ARTY_est_calculateur";
    if !(isNil "_est_calculateur") then
    {
        R3F_LOG_mutex_local_verrou = false;
        [_objet] execVM "addons\R3F_ARTY_AND_LOG\R3F_ARTY\poste_commandement\deplacer_calculateur.sqf";
    }
    else
    {
        _objet setVariable ["R3F_LOG_est_deplace_par", player, true];
        
        R3F_LOG_joueur_deplace_objet = _objet;
        
        // Sauvegarde et retrait de l'arme primaire
        _arme_principale = primaryWeapon player;
        if (_arme_principale != "") then
        {
            player playMove "AidlPercMstpSnonWnonDnon04";
            sleep 1.5;
            player removeWeapon _arme_principale;
        }
        else {sleep 0.5;};
        
        // Si le joueur est mort pendant le sleep, on remet tout comme avant
        if (!alive player) then
        {
            R3F_LOG_joueur_deplace_objet = objNull;
            _objet setVariable ["R3F_LOG_est_deplace_par", objNull, true];
            // Car attachTo de "charger" positionne l'objet en altitude :
            _objet setPos [getPos _objet select 0, getPos _objet select 1, 0];
            _objet setVelocity [0, 0, 0];
            
            R3F_LOG_mutex_local_verrou = false;
        }
        else
        {
            _objet attachTo [player, [
                0,
                (((boundingBox _objet select 1 select 1) max (-(boundingBox _objet select 0 select 1))) max ((boundingBox _objet select 1 select 0) max (-(boundingBox _objet select 0 select 0)))) + 1,
                1]
            ];
            
            if (count (weapons _objet) > 0) then
            {
                // Le canon doit pointer devant nous (sinon on a l'impression de se faire empaler)
                _azimut_canon = ((_objet weaponDirection (weapons _objet select 0)) select 0) atan2 ((_objet weaponDirection (weapons _objet select 0)) select 1);
                
                // On est obligé de demander au serveur de tourner le canon pour nous
                R3F_ARTY_AND_LOG_PUBVAR_setDir = [_objet, (getDir _objet)-_azimut_canon];
                if (isServer) then
                {
                    ["R3F_ARTY_AND_LOG_PUBVAR_setDir", R3F_ARTY_AND_LOG_PUBVAR_setDir] spawn R3F_ARTY_AND_LOG_FNCT_PUBVAR_setDir;
                }
                else
                {
                    publicVariable "R3F_ARTY_AND_LOG_PUBVAR_setDir";
                };
            };
            
            R3F_LOG_mutex_local_verrou = false;
            R3F_LOG_force_horizontally = false;
            
            _action_menu_release_relative = player addAction [("<t color=""#21DE31"">" + STR_R3F_LOG_action_relacher_objet + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\relacher.sqf", false, 5, true, true];
            _action_menu_release_horizontal = player addAction [("<t color=""#21DE31"">" + STR_RELEASE_HORIZONTAL + "</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\relacher.sqf", true, 5, true, true];
            _action_menu_45 = player addAction [("<t color=""#dddd00"">Rotate object 45°</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\rotate.sqf", 45, 5, true, true];
            _action_menu_90 = player addAction [("<t color=""#dddd00"">Rotate object 90°</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\rotate.sqf", 90, 5, true, true];
            _action_menu_180 = player addAction [("<t color=""#dddd00"">Rotate object 180°</t>"), "addons\R3F_ARTY_AND_LOG\R3F_LOG\objet_deplacable\rotate.sqf", 180, 5, true, true];
            
            // On limite la vitesse de marche et on interdit de monter dans un véhicule tant que l'objet est porté
            while {!isNull R3F_LOG_joueur_deplace_objet && alive player} do
            {
                if (vehicle player != player) then
                {
                    player globalChat STR_R3F_LOG_ne_pas_monter_dans_vehicule;
                    player action ["eject", vehicle player];
                    sleep 1;
                };
                
                if ([0,0,0] distance (velocity player) > 2.8) then
                {
                    player globalChat STR_R3F_LOG_courir_trop_vite;

                    if((currentWeapon player) in ["M9", "M9SD", "Colt1911", "Makarov", "MakarovSD", "Sa61_EP1", "UZI_EP1", "UZI_SD_EP1", "revolver_EP1", "revolver_gold_EP1", "glock17_EP1"])
                    then {player playMove "amovpercmstpsraswpstdnon_amovppnemstpsraswpstdnon";} else {player playMove "AmovPpneMstpSnonWnonDnon"};

                    sleep 1;
                };
                
                sleep 0.25;
            };
            
            // L'objet n'est plus porté, on le repose
            detach _objet;
            if(R3F_LOG_force_horizontally) then {
                R3F_LOG_force_horizontally = false;

                _opos = getPosASL _objet;
                _ppos = getPosASL player;
                _opos set [2, _ppos select 2];
                _opos2 = +_opos;
                _opos2 set [2, (_opos2 select 2) - 1];
                if(terrainIntersectASL [_opos, _opos2]) then {
                    _objet setPosATL [getPosATL _objet select 0, getPosATL _objet select 1, getPosATL player select 2];
                } else {
                    _objet setPosASL _opos;
                };
            } else {
                if((getPosATL player select 2) < 5) then {
                    _objet setPos [getPos _objet select 0, getPos _objet select 1, getPosATL player select 2];
                } else {
                    _objet setPosATL [getPosATL _objet select 0, getPosATL _objet select 1, getPosATL player select 2];
                };
            };
            
            _objet setVelocity [0, 0, 0];
            
            player removeAction _action_menu_release_relative;
            player removeAction _action_menu_release_horizontal;
            player removeAction _action_menu_45;
            player removeAction _action_menu_90;
            player removeAction _action_menu_180;
            R3F_LOG_joueur_deplace_objet = objNull;
            
            _objet setVariable ["R3F_LOG_est_deplace_par", objNull, true];
            
            // Restauration de l'arme primaire
            if (alive player && _arme_principale != "") then
            {
                if(primaryWeapon player != "") then {
                    _o = createVehicle ["WeaponHolder", player modelToWorld [0,0,0], [], 0, "NONE"];
                    _o addWeaponCargoGlobal [_arme_principale, 1];
                } else {
                    player addWeapon _arme_principale;
                    player selectWeapon _arme_principale;
                    player selectWeapon (getArray (configFile >> "cfgWeapons" >> _arme_principale >> "muzzles") select 0);
                };
            };
        };
    };
};
__________________
Redshirt_Ensign is offline   Reply With Quote
Old 16th April 2013, 12:57 PM   #8 (permalink)
Squad Leader
Squad Leader
DayZ Face First Leader
Deadly - Post: 1234
 Veilo's Avatar

Post

I think what is being requested here is a set of rules that admins would announce to the population and then monitor and enforce.

It's a huge mess that the admin team will have no part of

You're probably wondering why? here's just one of the many reasons:

BMRF servers have a rule for "no skybases - if something can't realistically be supported irl, don't build it"

It's a huuuge mess with different people arguing over physics - then you have admins getting involved and it gets worse: admins have to show up to these skybases, Then hostiles who are on scene either shoot the admin to abuse him because he looks like a player (you can see examples of this in their ban appeals forum section. it's top quality read).

So admins have to show up to reports of skybases. Deal with people who are like "AAAA WHY IS THIS GUY DESTROYING MY BASE", then the admin has to study physics/civil engineering. Then the admin has to unlock all the structures (...), then stow them away.

Then it gets even worse: there's no way to figure out who built the skybase in the first place - the current inhabitants are not necessarily the perpetrators of this hideous crime so you have a crime with no criminals

But just when you think this mess can't get any worse it does! Someone builds a legit base. Then someone else infiltrates that base, and removes support. Then reports the resulting skybase to the admins. Whole base gets dismantled while the original owner is told not to build skybases.

That's just an example of what happens when you try to put in "rules" in regards to base building objects in wasteland.

So you probably think "well, why not add logging of all base building movements, so you can find out who moves base stuff so then you can see who built bad stuff or who messed up my base"

Problem is - we could do that, or we could improve hacking detection systems which is bajillion times more important. And even if we do put awesome logging into place - it will still be a huge drain on admin time - time which we don't have.

That is why we're very unlikely to be putting in "social" rules in regards to bases on our server - and even less chance we'll spend coding time writing code to support these rules.

Is there anything you can do ?

Yes there is - play the game - figure out how to make the existing systems work for you. Maybe hide your base? Maybe go indie or maybe find a good opfor/blufor team. Maybe put in proper defenses (guys with guns) into your base so that randoms can't just walk up unlock stuff! There's probably lots you can do that will be vastly more effective but i can't think of it because i am not a base builder.
Veilo is offline   Reply With Quote
Old 16th April 2013, 01:33 PM   #9 (permalink)
Harmless - Post: 7

Default

Fair enough, as I said in the beginning I was just making suggestions and I accept your argument. Thanks for seriously considering and taking the time to read/reply. I do appreciate it. Too bad there isnt a troll filter eh =\
Wrayth is offline   Reply With Quote
Old 16th April 2013, 01:47 PM   #10 (permalink)
Squad Leader
Squad Leader
DayZ Face First Leader
Deadly - Post: 1234
 Veilo's Avatar

Default

Also, just had a chat with redshirt about this.

The bottom line is this:

You have two main choices in regards to base building:

1. go opfor/blufor - this way enemies cannot shift their way into your base easily- they can unlock but not move your stuff (provided you have friendlies inside the base -if you don't, well, you lost the base). The disadvantage of this is that if you have jerks on your team (no, we are not going to deal with them), then they can unlock and move your base building materials.

2. go indie. this provides a fix for the above disadvantage because if someone tries to unlock your stuff, you shoot them. Problem is, if you don't shoot someone they can fully unlock/shift all your stuff. So you gotta shoot them and you're safe.

I realise neither option is ideal but at this stage we cannot offer anything else. The code in question is literally french, putting social rules as outlined in my previous post is just not feasible.

We do have a few small, codable ideas on the horizon, nothing definite/confirmed, and probably AFTER bench finishes his code for explodable base buildings:

1. if someone unlocks something you locked, you get a notification of what kind of item it was, direction and distance.
2. 1-way locks. if you lock something, only you can unlock it. Or maybe proximity 1-way lock: if enemy owner of a locked object is within 200-400m, then a locked object cannot be unlocked.

Still, even if we do decide to go with either of the above, it probably is pretty far away. We really want to see how explodable bases play out - hitpoints/armor on all the stuff will need to be worked out, tweaked for balance/playability/fun, see how these changes play out, tweak some more, etc.

Once we see how things play out in the final balance of this feature, then we'll see whether base attackers need more help getting in (eg: anyone can unlock/move everything any time), or whether we need to give base builders more protection (unlock notifications, 1-way locks, etc) or, hopefully, leave things as they are now.

Last edited by Veilo; 16th April 2013 at 01:54 PM.
Veilo is offline   Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On



All times are GMT +11. The time now is 03:24 PM.


Powered by vBulletin®
Copyright ©2000 - 2014, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0