Lou Montana/Sandbox – User

From Bohemia Interactive Community
Jump to navigation Jump to search
m (Add some data, yet to be categorised/organised)
m (Cleaning from Mission Design)
Line 1: Line 1:
{{SideTOC}}
<!-- {{SideTOC}} -->[[Category: Sandbox]]
[[Category: Sandbox]]
 
= Mission Design =
 
[[Mission Design]] is an important aspect to consider in order to keep the player(s) entertained. '''Arma is a game''' after all!
 
But what makes a mission ''enjoyable''? This page aims to define what players usually expect from a game:
# Wanting to play through the whole mission
# Seeing an effect to their actions
# In the end, having '''a sense of accomplishment'''.
 
<!-- {{Informative | This page does not apply to all milsim-targeted missions, which may or may not be completely "eventless"!}} -->
 
 
== Mission Structure ==
 
=== Gameplay Structure ===
 
{{wip}}
 
=== Narrative Structure ===
 
{{Informative | The narrative structure only applies to story-driven scenarios and does not have to be respected for missions that are mostly focused on immersion/gameplay.}}
The basics are that most stories follow the {{Wikipedia|Narrative_structure|narrative structure}}, which can be boldly boiled down to the following step:
 
# An initial situation
#* The initial situation does not have to be peaceful or positive
#* [[:Category:Briefing|Briefing]] can be used to provide some background without having to create it in-game
# An occuring event, bringing imbalance to the situation
#* The origin of it is not always coming from the designated or future enemy
#* The event can or can not come from a player's action
# Actions and resulting events
#* Actions can be taken against said event, but also (and/or) against its consequences
# A ''dénouement'', meaning the end of actions and situation evolution, it can be:
#* A lead to solve the initial situation
#* A way to escape it
#* Reaching the goal set by it
# Ending
#* Ending does not always mean problem resolution; it can be:
#** Reducing the damages provoked by event's consequences
#** Leaving the immediate danger
#** Solving the initial problem and getting everything back to normal.
 
 
== Mission Goal ==
 
While the ''mission's'' goal can remain hidden or obscure to the player, his ''current'' goal must be crystal clear. For example, the end goal of "fighting back" can remain hidden, but the first goal of "patrol the camp" must be made obvious so the player is not at loss and feels he has something to accomplish.
 
 
== Action/Reward ==
 
The meat of player's interest is here: an achieved goal must reward the player with an evolution: either a reward (new intel, less enemies, easier progress) or a scenario evolution (enemy counterattack, reinforcements incoming, radio update).
 
 
== Multiplayer Specifics ==
 
* Teamplay and cooperation
* Winning over the other team (if PvP)
 
 
== Examples ==
 
{| class="wikitable"
! Initial Situation !! Event !! Actions !! Dénouement !! Ending !! Notes
|-
| During blufor/opfor war, a specops operation at night with the objective to blow up enemy tanks || {{n/a}} || '''Player's role:''' fulfilling the mission || Tanks are blown up || Extraction || This scenario may look bland, and should therefore focus on '''immersion''' and '''achievement'''
|-
| During blufor/opfor war, a specops operation at night with the objective to blow up enemy tanks || {{n/a}} || '''Player's role:''' fulfilling the mission || Tanks are blown up || Extraction || This scenario may look bland, and should therefore focus on '''immersion''' and '''achievement'''
|-
| Normal day || Enemies attack the base || Riposting, taking fire<br>'''Player's role:''' take strategical shooting positions and cover fellow soldiers || Killing/defeating all the enemies || Back to normal || Same as above, the scenario might be seen as too simple ("defending") and immersion should be prioritised
|-
| Normal day || Nuclear attack || Panic, explosions, firefights<br>'''Player's role:''' survive || Getting to a long-range radio || HQ sends a team to extract the player || This whole scenario is based on player's survival
|}
 
 
 
-----
-----
 
 
 
↓ anyone feels like filling the table below…? ↓
↓ anyone feels like filling the table below…? ↓



Revision as of 23:05, 19 March 2020

↓ anyone feels like filling the table below…? ↓

Arma 3: Vehicles Data

Arma 3: Vehicles Data: Fuel and Speed?

Class Name Full tank consumption time Speed
Idle slow speed medium speed max speed slow speed medium speed max speed
B_Truck_01_mover_F HEMTT 05:18:00 03:15:00 03:38:00 03:18:00 026,83 km/h 070,94 km/h 082,85 km/h
B_MRAP_01_F Hunter (unarmed) 04:33:00 02:47:00 01:56:00 01:44:00 037,13 km/h 099,81 km/h 116,45 km/h
B_LSV_01_unarmed_F Prowler (unarmed) 04:09:00 01:38:00 01:50:00 01:38:00 053,96 km/h 147,06 km/h 172,47 km/h
B_Quadbike_01_F Quad 01:54:00 01:09:00 01:12:00 01:06:00 027,14 km/h 070,77 km/h 082,20 km/h
B_APC_Tracked_01_AA_F IFV-6a Cheetah 03:11:00 02:07:00 02:14:00 01:56:00 023,31 km/h 046,31 km/h 061,07 km/h
B_APC_Wheeled_01_cannon_F AMV-7 Marshall 04:55:00 02:58:00 02:58:00 02:34:00 036,20 km/h 060,41 km/h 113,00 km/h
B_APC_Tracked_01_CRV_F CRV-6e Bobcat 03:11:00 02:05:00 02:13:00 01:55:00 023,31 km/h 046,31 km/h 061,07 km/h

Code used:

veh = vehicle player;
wantedDelta = 3;

previousPos = [0,0,0];
currentPos = [0,0,0];
previousFuel = 0;
currentFuel = 0;
t = 0;

onEachFrame {
	isNil {
		vehSpeed = speed veh;

		if (t <= time) then {
			previousPos = currentPos;
			currentPos = getPosATL veh;
			distanceDelta = currentPos distance previousPos;
			previousFuel = currentFuel;
			currentFuel = fuel veh;

			fuelLossPerMinute = (previousFuel - currentFuel) * (60 / (wantedDelta + (time - t)));

			remainingTime = if (fuelLossPerMinute > 0) then {
				 [(currentFuel / fuelLossPerMinute) * 60, "HH:MM:SS"] call BIS_fnc_secondsToString;
			} else { -1 };

			timeToEmpty = if (fuelLossPerMinute > 0) then {
				 [(1 / fuelLossPerMinute) * 60, "HH:MM:SS"] call BIS_fnc_secondsToString;
			} else { -1 };

			t = time + wantedDelta;
		};

		hintSilent format [
			"Speed: %1\nFuel loss: %2\n\nRemaining time: %3\nTime to empty: %4",
			vehSpeed,
			fuelLossPerMinute,
			remainingTime,
			timeToEmpty];

		copyToClipboard format ["[%1, %2, %3]", typeOf veh, timeToEmpty, vehSpeed];
	};
};
↑ Back to spoiler's top