• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

[Role Playing Game] Fallout Tactics: Feral Despair (FTFD). Test Version Release.

Status
Not open for further replies.
Level 8
Joined
Mar 10, 2009
Messages
213
full


---This section is to be updated---

Development period: 2018-...

Note: most features listed below are already fully implemented in framework.

I humbly ask people who downloaded the test version to post their feedback here.

The map probably still has lots of bugs.

Type /Credits in game to see the complete list of contributors.

UPDATES to Test Version
03/18/2021 Problem:
after thorough testing I've found out that many things that were working just fine last year are now broken (probably due to the latest Wc3 update)... (combat algorithms etc.) It would take a lot of time to establish why. I'm gravely disappointed and discouraged.
Latest update:
1) Changed throw explosives skill distance to (STR+PER)x25 (results in max 500 distance)
2) Added combat status boolean (On/Off) for all generated units.
All units start with FALSE as default. Successful hits (but preceeding dodge oppurtunity) during an attack set both attacker's & target's
Combat Boolean to true (triggering AI combat behaviour). Getting hit by an explosive or being trapped also sets this boolean to TRUE.
WIP: adding On/Off decision
making process for units. Temporary solution: units enter combat, whenever they
detect enemy target nearby (Unlike the advanced TSU AI algorithms used in target selection, it's a basic trigger
that simply checks all units in range and their faction).
3) Removed floating text from stealthed units (except for friendly fire reaction)
4) Reduced non-combat turn time for all units to 4 sec (optimized, down from 12+).
03/16/2021 Several bug fixes and unfinished functions have been polished.
Changed chance to hit (before resistances/armor class) with explosives formula:
old: ChanceToHitExpl:=CharExplTotalSkill
new: ChanceToHitExpl:=(BasicChanceToHitExpl(50) + CharExplTotalSkill)/2
Reason: added extra 25% to hit, because multiple misses on a AOE effect were getting
unrealistic. at least some targets are getting hit by explosions now, if the unit throwing a grenade is unskilled.
Added AP(Mana) Fix for failed distance throw attempts.
03/14/2021 I've resumed working on this project and fixed several severe bugs. I'll try to focus on quests and dialogues now.
08/19/2020 I've decided to scrap current Speech/Barter progress and keep it for the demo release, if it ever happens. I doubt I'll have enough time to finish these mechanics in my current state of mind.
All other skills are fully functional within the demo version's scope, as intended.
I'll probably upload a PDF game manual at some point, when it's finished.
9/12/2020 Added several bug fixes based on test reports.

FAQ:
Q: What is Fallout Tactics: Feral Despair?

A:
It’s a framework project (FTFD). Most of its features within WorldEdit are GUI-friendly and designed in such a way, that anyone (or almost anyone) could mod it in a couple of minutes. My limited knowledge of programming is what led to such choice.

Q: When is it going to be ready?

A:
At this stage, I’m making a demo map with most features/mechanics etc. The goal is to use this framework to create a real custom campaign. Once the demo version is ready, I’ll try to gather a team to work on this project further. No map making knowledge would be required. I’m a noob myself.

Worst case scenario: the project dies at demo stage. The demo would be playable once released.

Q: Why do you upload unfinished work-in-progress versions quite often?

A:
I can die any moment (no drama, plz, health issues).

Q: Why did you place so many “unique” items across the map?

A:
It’s a WIP demo version. The final game version will have those either hand-placed in correct corresponding locations or spawned randomly.

Q: Why does the map have so many hand-placed regions?

A:
When I started this project I had no idea how to solve some Rect. problems (and I still keep some old algorithms). Now I don't really need those regions to be hand placed for the game, because I generate them at start. But I keep the pre-placed regions just for visual convenience while working on the map (calculating destructible areas, etc). Once they're no longer needed, I'll delete them from the map. Their coordinates suffice for in-game processing.

Q: My unit can't use an item, it keeps spamming the message: "Impossible to activate".

A:
It's a known lesser bug that happens when unit isn't inside a region. Algorithm reads it, as if unit was moving. Just move your unit a bit. I made a grave mistake while designing the map: regions are too tiny. If I ever remake the map into something bigger, I'll fix it by making the regions larger. As for this bug, I'll find a way to bypass it, eventually. 07/18/2020: Temporary fix seems to work for now (unless unit somehow ends up in the unauthorized area).
Pretest INFO
--Test Commands--
I added a very basic menu with some test commands to help myself and testers during map dev.

Type /TC to enable/disable the feature.
Type /TC Help to see the list of available test commands.

--Movement—
Press arrow keys to move during your turn. Each unit can either run or walk. Running covers larger distance, drains Action Points equal to running speed value and allows unit to move accordingly. Walk speed is locked at 1 (cell). Excessive inventory weight forces units to walk. Mobility points define how many times a unit may move during their turn, provided they have enough Action Points left.

Formulas:
AGIlity influences AP (action points), MS (movement speed) and Mobility Points (MbP)

AP formula (F1)
initial=5 + Agility / 2
Each 2 AGI add 1 AP
--
MovementSpeedRun=WalkSpeed (1) + Max(WalkSpeed,AGI/RunSpeedMin(2))
Each 2 AGI after 2 AGI add 1 MS, min MS run (starting)= 2 (walk+1)
1=>2
2=>2
3=>2
4=>3
5=>3
6=>4
7=>4
8=>5
9=>5
10=>6
MbP=Max(MinMbP(1),(MS+WalkSpeed)/MSRunMin(2))
MS 2=>MbP 1
MS 3=>MbP 2
MS 4=>MbP 2
MS 5=>MbP 3
MS 6=>MbP 3
MS 7=>MbP 4
MS 8=>MbP 4
MS 9=>MbP 5
MS 10=>MbP 5

--Psychology and Stress—
StressMeter: 1 to 100 (% saved as integer array per unit index, 100=full)

Stress-related mechanics:

Each successful attack has a chance to increase target's stress

(up to 100% max). Critical hits cause twice as much stress (2x).

The amount of stress taken depends on several factors:

1) attacker's weapon type (1 to 10 integer value),
2) attacked unit's current HP (% of max, thus on attacker's DMG),
3) attacked unit's stress resistance stat,
4) attacked unit's Endurance
5) attacked unit's ideology/faith [WIP]

The chance to cause stress is governed by attacker's LUCK stat:
10% chance to cause stress per 1 point of luck: 100% with 10
and higher luck. Stress is caused only when DMG is caused.

StressCaused=[weaponStress + missingHP%(integer)]-Resist-END-I,F;
set to 0 if below 0.
Each 10% of stress meter filled reduces target's toHit chance (-5%)
down to CtoHit min (2.5%).

At 100% stress there's a mental breakdown test [WIP], unit dies to heart attack.

Stress meter depletes each turn a unit takes 0 dmg. [WIP, debatable decision, temp: disabled]

Done so far: weap stress, listed char stress, cycled unit's stress, HPStress, Stress Resistance (1 to 10), (Add TMP integer to store Latest Stress Value
Then condition to check if TMP= updated Stress Value,
Dispaly TXT message only if not equal) DONE

Stress intervals:

0 to 24 white
25 to 49 yellow (light)
50 to 74 yellow
75 to 99 orange
100 red + ! (exclamation mark)

5 intervals, saved as independent integer values in Gameplay Constants

TO DO: Faith=Creed=Ideology=Motivation mechanics
Character's stress resistance: Min(StressResMax, Max(StressResMin, StressResMin+CharCHA-1))

--Perks--
I converted most Perks from original Fallout and some from Fallout 2 to fit FTFD's gameplay. Most Perks that involve random encounters/world map, etc. aren't being implemented yet. Some Perks are disabled (metabolism etc.) while being redesigned. I also added some new Perks and modified several old ones to make them more useful. Unique quest/item/NPC interactions can also unlock Perks. Those unlocked Perks are added automatically upon their requirement's completion.

For example, player might find a strange puzzle box. Opening the box (requires 5 INT, 5 LCK) and solving the puzzle drops their Sanity meter to 0 (complete batshit insane) and otherworldly forces transform player's nature by adding [Flagellant] Perk: [Any Stress points acquired through experiencing pain (taking damage) restore equal amount of Sanity.]. (It's an obvious Hellraiser tribute.) For now, I don't plan to have any limit on how many Perks would be in game. As of 06/29/2020 there are 37 fully working Perks.

List of Perks:
LVL3
1)Awareness
2)Toughness
3)Swift Learner
4)Earlier Sequence
5)Night Vision
6)Quick Pockets
7)Bonus HtH Damage

LVL6
8)Bonus Ranged Damage
9)More Criticals
10)Sharpshooter
11)Friendly Foe
12)Rad Resistance
13)Snakeater

LVL3
14)Faster Healing
15)Healer
LVL12
16)Medic
17)Lifegiver
18)Mr. Fixit
19)Speaker
20)Master Thief

LVL18
21)Slayer
22)Sniper

LVL9
23)Dodger
24)Better Criticals
25)Master Trader
26)Bonus Rate of Fire

LVL6
27)Bonus HtH Attacks
28)Educated
29)Bonus Move

LVL12
30)Action Boy (/Girl)
31)Tag!

LVL21
32)Highlander

LVL3
33)Strong Back
34)Human Shield

LVL0
35)Entomologist (item)
36)Oathkeeper (item)
37)Flagellant (item)

--Traits--
Trait limit is supposed to be 100 (more or less). As of 06/29/2020, there are 18 working traits, including most traits from the original Fallout and some new ones. Some Traits are designed in such a fashion, that they change gameplay (remember, I have no game dev. background whatsoever!) in a significant manner.

Example: [Heart of Steel] trait makes player character immune to death by heart attack, but the character takes double bleeding damage. Under normal circumstances, risk of heart attack (100% Stress) triggers death. Is it an OP trait? Maybe. But the bleeding damage isn't something to ignore either (bleeding damage increases each time character takes damage, stacking bleeding can hurt a lot... add the trait's x2 on top of that).

List of Traits:
1)Bloody Mess
2)Bruiser
3)Small Frame
Player receives a +1 bonus to their Agility, but their Carry Weight is reduced. Player takes 25% extra limb damage.
Player's size (model scaling value set to 0.9) is reduced.
4)Finesse
5)Good Natured
6)Gifted
7)Heavy Handed
8)Skilled
9)Fast Shot
10)Kamikaze
11)Fast Metabolism
12)Jinxed
13)One Hander
14)Heliophobia (Custom)
15)Chem Reliant (Disabled)
16)Chem Resistant (Disabled)
17)Heart of Steel (Custom) immune to death by heart attack, takes 2x bleeding damage.
18)Blade Gunner (Custom) (restores AP once per turn, whenever unit swaps weapons)
19)Doomsday Saint (Custom) (healing never fails, if player killed 0 units, each death increases player character’s stress)
20)Wild Wasteland (customized, almost identical use, work in progress)

--Unique Items--
I placed several unique items across the map. Their excessive quantity and general saturation is also due to my wish to demonstrate varoius map's mechanics.

In fact, some of these items utilize their own bits of behaviour (combat, effects, etc.) that are indeed unique. Example: Salvaged metal armor has an ability called "Salvation" (pun intended). [Salvation]: adds Luck-based (10% per point, max. 95%) chance to double armor threshold effectiveness when attacked. No other item in game would ever recycle this same feature. So, by placing as many items as possible, I allow map testers to check most available features.

[Wild Wasteland]
Some items only appear, if player chose the "Wild Wasteland" Trait during character creation process.

Many wacky items were created simply to test some options provided by FTFD project's framework. Don't take them seriously, especially the lore-breaking ones (D&D ref. items and such). They're included in the demo version, but would be excluded from the real campaign.

--Quest Items--
Quest items are treated as such, even if they aren't involved in any quest(s) (yet). Any interaction with clickable item that produces an outcome (except for consumables) is treated via a quest item check list. For example, a book that adds permanent bonus to Science skill would be considered a quest item with no quest attached to it. The said missing quest could be added in an update. Quest items are just a very vague category used for internal procedures and can be dropped/removed/destroyed just like any other item. I prefer to give players absolute freedom, unless disabling player control is vital for my clunky triggers.

--Radiation and Radstorms—

(Fully implemented feature)

Fixed unit types get fixed radiation resistance (radscorpions, Deathclaws, etc.), but humanoid/sentient units’ endurance affects their rad. resistance. Ghouls/super mutants: initial: =END x Minimal (1); humans: initial: =Max (Minimal (1), END x Minimal (1) /4).

When a creature gets Rads, it fills its Radmeter. The values of different stages of irradiation are taken from Fallout 1 table. Lethal doze kills a unit at the beginning of its turn. Some items either protect character from radiation or reduce its impact.

Player one human requires to find a way to measure (quest item Geiger counter) their LVL of irradiation, otherwise this stat. remains hidden.

Occasionally, violent Radstorms occur. Player One human Perception stat influences how fast a warning message appears (best result being 10 turns before the storm).

Each Region (cell) stores a Rad value (0 for non-irradiated regions). This value may change dynamically each turn under the right circumstances. By default, areas with objects like cars, buildings and other similar ones have initial non-null LVL of radiation.

--Body Parts--
Each unit reads its body parts from their corresponding unit type table. For example, a human reads 21 body parts. Amongst those, head, neck, and chest are considered “kill zones”. Whenever HP of either of those drops to 0, unit dies.

VATS aim is restricted to 12 body parts.

Skills such as Doctor and First Aid affect each individual damaged body part. The same goes to healing rate effect(s).

--STRength/Weight/Inventory size--

STR impacts inventory size at start (character creation). (+10 slots per 1 point of STR)

Inventory size cannot be changed at any other time, even if STR increases. It is an intended feature, to emphasize STR stat. In several Fallout games STR was almost useless for a non-melee character.

Now, putting at least a few additional points into STR gives more benefits. The fact that enhancements like Power Armor (adds +3 STR) don't increase inventory size makes the first stat distribution decision even more important.

However, STR gains/changes impact CARRY WEIGHT mechanics.

If a unit reaches the weight limit, its movement speed is locked to walk speed (running being disabled). No other penalty is inflicted at this point. The weight limit is calculated as a sum of all items' weight and doesn't interact with inventory size limit.

Naturally, a strong unit will have many inventory slots and would be able to move at running speed with a higher weight limit.

Each time an item enters/leaves either the equipment or/and backpack inventory, carry weight is recalculated and compared to limit, then unit's running speed is reset to either normal running speed or walk (if >= to weight limit)

Equipped items also count towards the weight limit.

--Target Searching Unit (TSU)--

This is an ongoing attempt to develop an AI system for this map. Info below is posted purely for (future) testers and team members. Ignore it otherwise.

Save Units' indices in UnitTargetList Hashtable.(done)
Upon reset, purge UnitTargetList values of searchingUnit only. (done)
For addressing unit's index by position:
system uses array: VAR_Char_I_ByPosition_I[1 to LimCellsPerColumn]:=Unit_I
Unit's index is stored in the array upon unit creation and after each movement.
Its value is then returned to check which unit occupies the position index.
Algorithm:
1)Read Searching unit index, position index. =>done
2)Read each TargetList'ed units' indices, position indices. =>done
3)Read Target Position Priority Level (by position), and choose MAX. =>done
4)Establish Path to target position of MAX TPP_LVL: 2 paths.
-----------------------
MOVEMENT
A unit can't move more than 10 cells (for humans).
max MbP=5 for 9 or 10 MS. Thus, a unit can either walk 5 cells, run 10 cells, or
switch run and walk for max 10 cells.
-----------------------
PRIORITY LEVEL
For now, the Target Position Priority Level is randomized. Later it will consist of
several factors, including the position's strategic value, unit's danger, threat level.
=> VAR_TargetPositionPriority_LVL + done
VAR_TargetWeapPriority_LVL + done
VAR_TargetRolePriority_LVL + done
...HP? => later, when HP hashtables are done
=ThreatLVL
The values have no upper limit, thus Target Priority Index won't have one either.
The target is selected through A>B comparison. If A=B, A remains as Max, since it had been
set before.
------------------------

attack target search line of sight

FctVAR_ATS_LoS[1 to 3]

[n]=List_CharLoS1[n]

[1]Default=20 (CHECK IT!)

[2]=[3] (if both eyes are healthy)Default=5


line of sight control points


FctVAR_ATS_LoSCp[1 to 4]:BL,BR,TL,TR


if UnitFacingAngle= North:

FctVAR_ATS_LoSCp[1]=UnitPositionIndex-FctVAR_ATS_LOS[2]

FctVAR_ATS_LoSCp[2]=UnitPositionIndex+FctVAR_ATS_LOS[3]

FctVAR_ATS_LoSCp[3]=(UnitPositionIndex-FctVAR_ATS_LOS[2])+(ConstLimCellsPerRow*FctVAR_ATS_LOS[1])

FctVAR_ATS_LoSCp[4]=(UnitPositionIndex+FctVAR_ATS_LOS[3])+(ConstLimCellsPerRow*FctVAR_ATS_LOS[1])


if UFA=West, then Cp1 shifts to Cp2, Cp2 to Cp4, Cp3 to Cp1, Cp4 to Cp3


FctVAR_ATS_LoSCp[1]=(UnitPositionIndex-FctVAR_ATS_LOS[1])-(ConstLimCellsPerRow*FctVAR_ATS_LOS[2])

FctVAR_ATS_LoSCp[2]=UnitPositionIndex-(ConstLimCellsPerRow*FctVAR_ATS_LOS[2])

FctVAR_ATS_LoSCp[3]=(UnitPositionIndex-FctVAR_ATS_LOS[1])+(ConstLimCellsPerRow*FctVAR_ATS_LOS[3])

FctVAR_ATS_LoSCp[4]=UnitPositionIndex+(ConstLimCellsPerRow*FctVAR_ATS_LOS[3])


if UFA=East, then Cp1 shifts to Cp3, Cp2 to Cp1, Cp3 to Cp4, Cp4 to Cp2


FctVAR_ATS_LoSCp[1]=UnitPositionIndex-(ConstLimCellsPerRow*FctVAR_ATS_LOS[3])

FctVAR_ATS_LoSCp[2]=(UnitPositionIndex+FctVAR_ATS_LOS[1])-(ConstLimCellsPerRow*FctVAR_ATS_LOS[3])

FctVAR_ATS_LoSCp[3]=UnitPositionIndex+(ConstLimCellsPerRow*FctVAR_ATS_LOS[2])

FctVAR_ATS_LoSCp[4]=(UnitPositionIndex+FctVAR_ATS_LOS[1])+(ConstLimCellsPerRow*FctVAR_ATS_LOS[2])


if UFA=South, then Cp1 shifts to Cp4, Cp2 to Cp3, Cp3 to Cp2, Cp4 to Cp1


FctVAR_ATS_LoSCp[1]=(UnitPositionIndex-FctVAR_ATS_LOS[3])-(ConstLimCellsPerRow*FctVAR_ATS_LOS[1])

FctVAR_ATS_LoSCp[2]=(UnitPositionIndex+FctVAR_ATS_LOS[2])-(ConstLimCellsPerRow*FctVAR_ATS_LOS[1])

FctVAR_ATS_LoSCp[3]=UnitPositionIndex-FctVAR_ATS_LOS[3]

FctVAR_ATS_LoSCp[4]=UnitPositionIndex+FctVAR_ATS_LOS[2]


LOSCp Boder adjustment


Uses CellDislocationValue Allocation Fct.


Movement keyboard event resets UnitPositionIndex and Facing angle through this function.

----------------------------------------------------------------------------------------------------

Target search algorithm


: separate function from LOS, uses CP[1...4] set in LOS


Search always starts at CP1 to CP2 interval with horizontal dislocation value=+1

including this interval, fct loops in total vertical LOS(1,2 or 3)+1,

(depending on Facing Angle) times.

Vertically:

Position<Index+1VERTICAL>=Position<Index>+(LOS[DeltaA]xLimCellsPerRow)

Vertical=LOSCurrent(A+B in case of horizontal LOS2 and LOS3 combined to become vertical)


FctVAR_AI_TargetSUVLOSMin=0

FctVAR_AI_TargetSUVLOSMax=Vertical_LOS


List_Char_LOSCp1,2,3,4 are stored after <Position, FA and LOS fct>, then used in search AI fct.


Boolean_Content_Region_Array_U[RegionIndexB] is being checked.

If TRUE, then region's index of region with unit in the region is stored in the

Target_List_Hashtable of AI_TargetSearchingUnit(Index).

--Debuffs—
At start of each unit's turn debuffs are checked in the following order:
---
1)Bleeding
2)Poison
3)Radiation
4)Stress
---
Bleeding
add bleeding integer:
0=no bleeding, rest:=bleeding_lvl
for all body parts from 1 to 21(human)
check HP %, if bleeding boolean TRUE (or/and HP% less than 100% per part),
then apply bleeding integer per body part.
--
Bleeding HashT
bleeding_integer saved as body_part_index (1to21) of unit_index in HashT_BleedingStatus
if bleeding status boolean = TRUE,
then go into the HashT and check part per part.
bleeding_integer value = bleeding dmg points per turn
Character's bleed resistance: Min(BleedResMax, Max(BleedResMin, BleedResMin+CharEND-1))

Poison
---
Unlike Bleeding, Poison affects all body parts at once. Thus, no need to check the status of each individual body part.
Damage is dealt to all body parts at once. The amount shown is equal to Sigma of damage points per body part.
Poison damage doesn't stack. (decision taken to [counter-]balance it)
However, different types of poison don't override each other. Each type causes damage as a separate instance.
---
Note: during combat, armor gives no poison resistance (same for animals, etc.) Poison resistance is checked (if damage type is poison) and added to TTL resistance.
1)radscorpion venom, value=100 (example)

--Melee combat features--

Backstab

Conditions:
1) melee weapons only,
2) only applies if target's back is exposed,
3) simple attack modifier

backstab damage formula:

0.2*(str+agi)

This atack modifier applies before critical hit increase.

Each point of str or agi adds 20% bonus damage.

x2 with 5 and 5

x4 with 10 and 10

Starting melee weapon skills:
Bladed Weapons

Initial level%=20+(Strength+Perception+Agility)/3

Blunt Weapons

Initial level%=20+(Strength+Endurance+Agility)/3

Brawl/Melee Unarmed

Initial level%=65+(Strength+Agility)/2

Chainsaws

Initial level%=15+(Strength+Agility)/2

Melee combat algorithm (basics) :

Melee combat sequence:

1) Hit or miss check

Y N (null)

Y=> 2) Dodge check

Y (null) N

N=> 3) Parry check

Y (null) N

N=> 4) Block check (Discarded for now, block isn’t required)

Y (null) N
Damage check/sequence
--
1)Boolean_MeleeAttack_W
2)Boolean_MeleeAttack_Un
3)Boolean_RangedAttack
--
1 and 2 are complimentary (??)
2 requires 1 (AND) to allow melee unarmed
1 doesn't require 2
1 and/or 2 exclude 3
3 exludes 1 and 2

Sneak AI

Unit may decide to start sneaking. For now: no condition (test), simple random

FctVAR_SneakDecisionRandom (TMP: replaces elaborate decision-making conditions (for now))
FctVAR_SneakOrderIndex (0,1,2)
0=unit does nothing, 1=Sneak Order On, 2=Sneak Order Off
--
Truesight (Stealth Detection): (DONE)

10 abilites array (emulating 10 LVLs (1= min, 10=max) depending on PER stat for humanoids, fixed(!) for others.) 50 range per LVL (500 max=1/2 day view range)

lvl is being checked (and set) each time for Cycled_Unit during Turn and also whenever PER stat changes (for humanoid!)
--
(Important!)

While both Player's units and AI's units have [detect stealth] (invisible) ability, AI utilizes this info in a different way. While a human player simply SEES a sneaking/hiding etc. unit (within Perception-based range for humanoids and fixed range (based on unit type) for others), AI player can only "detect" stealthed units, if they're inside each AI unit's LOS (line of sight).

Detection of "visible to player" condition during (TSU) [Sys Target In Line of Sight Search] emulates sharing vision/info among ALL units of the same player (Human AND AI).

Unit's LOS (line of sight rectangular area in front of the unit) determines whether stealthed/sneaking/invisible unit can be detected. If the said unit is outside of LOS,

it won't be detected by AI actions (even if Stealth Detection ability range exceeds LOS). That pattern makes backstab playstyle efficient VS tough AI enemies.

Stealthed units inside AI's LOS have their Sneak LVLs checked. Failed check conditions detect sneaking units for AI's attack (and it proceeds to calculate attack priorities, as with all other units within its reach).
---

Project Description/Background (Outdated)

This is an unfinished version of my 2 year development of a TBS Fallout mod.
It has no story/plot, no win condition and some basic quests, but most mechanics function (including perks, traits, combat, movement, first aid, doctor, repair (I've just removed other skills, they were WIP).
The goal was to develop working game mechanics, then assemble a team of enthusiasts to start working on the story.

Q: Why did you upload this? It's an unfinished map!

A: I'm having a mental breakdown after the release of Reforged and having seen new EULA. I've decided to stop working on this project.

Q: Yes, but why did you upload this?

A: I spent several thousand hours learning how to do this stuff, so I want whatever tricks I came up with on my own (all designed and written from a scratch, except for 1 or 2 one-liners) to be useful to other people. This map contains very simple (and I did it GUI on purpose for better compatibility with Reforged) but useful systems. It's my way to thank the Hive members. I reckon that people who know coding will probably laugh at my humble beginnings, but I hope some ideas would still be useful to the total beginners, as myself once.

To quote myself:
Man... I quit working on my project now
.
Even if I erase all IP notions from the files (which never bothered me anyway, since it's obviously NOT my IP, but now since it's strictly forbidden to use that IP, there's no other way), however if I'm about to create something new (converting to new from the existing data), that's too much to handle... I won't give Blizzard thousands of hours of my lifetime for free.
2 years spent doing it, 2 f'in years. Some, I imagine, spent more!


Author's message (was intended to be uploaded with a real release):
First of all, I'd like to thank our hive community and various [un-]aware contributors, whose resources I've used to compile this map.
Without your resources, guidance and advice I would've never achieved 1/10 of the current progress.
In addition to the credits list posted here, there's an in-game command /credits to see all nicknames of these amazing people.
This playable demo map is a shard of an ambitious total conversion project. Anyone who wishes to continue developing it, is welcome. Otherwise, it's 100% playable (and I hope bug free) in its current state, 'as is'. This version contains all envisioned core TBS game mechanics (unless someone's willing to add more), every single bit of 'code' I've written from a scratch or/and learned from browsing hiveworkshop forums. Some triggers may look gargantuan, but trust me, I did my best to optimize them to avoid engine-related bugs. It's GUI/Singleplayer designed with a specific mindset, that most elements should be easy to modify and commented in such a way, that almost anyone, especially newcomers like myself could mod the existing structure and build on top of it.

Criticism:
Before starting this project in late July 2018, I had almost 0 experience with all the skillsets listed below (except for 1 re-texturing experience a few years ago, availible here on hive):
I'm no 2D/3D artist - I had to tinker with the existing models and textures, various assets and create a couple of textures myself.

I'm no sound professional: I had to record some sounds and edit them for the loading screen intro siren record.

I hate programming and everything math-related, prior to this project I had no coding background whatsoever - I had to vanquish my fears and design some easy procedural generation algorithms via GUI and tried to implement the existing Fallout 1 formulas.

The terrain is atrocious - goes without saying... my first XP at creating terrain in WC3. No, seriously, in all these years I haven't designed any terrain myself.

Map scale:
"why is this map so tiny?"
Well, the goal was to develop and implement basic game mechanics before taking care of the story/environment, etc.

Known issues:
  • Brief freezes during map initialization may be caused by the quantity of data being generated. I improved this aspect a lot to the point I haven't had any for ages. Please, let me know if you still encounter it.
  • Due to Reforged changes, some animations or elements are clunky and unrealistic. For example, weapon projectile attachments do not match the exact position of weapon attachment.
  • Unit collision: units may stand in/on items. This is intentional. I was trying to figure out how to improve the aesthetic view.

I hate bugs with passion, so please, report any bugs asap. Mind, that some features differ from standard Wc3 on purpose, by design. So, please, make sure it's a real bug and not a game's intended feature.


So here it is, all that I could salvage from my several (locations/areas) maps that I'll never finish, put together in a tiny demo map. A partial fulfillment of a dream-project too ambitious to be achieved.

Feel free to use the imported ambient sound files (as if anyone would, lol), you have my permission.


Thank you, hive. I'll miss you.
Note: cheats break the game.


"Thank you" message to all the people who never knew they contributed to a large project:
CREDITS:
Imported assets: -Grendel, -JonNny, .Kc, 3rgytr54, 4eNNightmare, 67chrome, A Void, AlienArsonist, AlienArSystem, Amigurumi, ana, Anachron, Arowanna, Avatars Lord, -Berz-, bisnar13, Blood Raven, bounty hunter2, Callahan, cash42, Cavman, Chaosium, chilla_killa, ChirusHighwind, CRAZYRUSSIAN, CybrgDragon, Daffa the Mage, Dark_Desent, darkdeathknight, Darkfang, DarkLord, Deathbringer, DEFACKTwalker, Dentothor, Deolrin, Deon, Dionesiist, Direfury, Discipline, enjoy, epsilon, Fingolfin, Firelord213, FrIkY, Gar'nogal, General Frank, Godslayer, Goldwolf, GooS, Graber, graystuff111, Grey Knight, halo, Ham Ham, HammerFist132, HappyTauren, Hayate, Hellish Hybrid, HerrDave, Horn, I3lackDeath, Ice, Illidan(Evil)X, InfernalTater, Infinitynexus, inhuman89, JB_McKnight, JesusHipster, Justify, Kazzo, KelThuzad, Ket, Kitabatake, Kofi_Banan, kola, Kwaliti, L_Lawliet, Lord_T, Mad, Marcos DAB, MassiveMaster, Mechanical Man, Mecheon, MEXANuK, Mr.Goblin, Muoteck, Murcologist, NFWar, Nichita_00, Nordmar, oh_snap, Oliver, PeeKay, Pins, PrinceYaser, purparisien, Quilnez, Raging Ent, rakemaster, republicola, RightField, Riley, Rolo, Scythy Dervish, Sin'dorei300, skrab, stan0033, Stanakin, Stefan.K, Sunchips, Supermj, Suselishe, Talon the Mage, tee.dubs, th15, The Leader, The Panda, The Weird Human, The_Silent, TheRandomDude, Tirlititi, UgoUgo, Uncle Fester, Warhunter, WerBackIII, yakonshus, ZethHolyblade, Zombie
Interface: Solu9

Special thx to deepstrasz
Bugs:
1)-Interface bug/glitch (hero stats str/agi/int part) - no idea why it happens.
It's probably because of the custom interface skin. Reloading the game helps.
Note: 05.03.2020 I haven't seen this bug for a while (more or less a month).
Maybe it's gone now, since I've edited the interface file causing another minor glitch. Those might be related.
Related issue: reloading the game can cause regular font to be replaced with menu's (fallout overseer) font.
FIXED

2)-Replacing Backpack Inventory Tooltip (as update) only reads 1st string of 5 substrings.
(no idea, why) It appears very rarely and could be result of the operations' limit being exceeded.
FIXED

3)-Movement is a bit buggy, sometimes an item can't be activated, if unit didn't enter the tile correctly/entirely. It happens around the doodads/objects. Solution (in-game): move again a bit further. 07/18/2020 FIXED

4)Alt-tab during perk/trait selection/confirmation removes the selection dialog, freezing the game.
General advice: DON'T Alt-Tab while playing this map.

5)Game-breaking bug: sometimes when a NPC unit dies during the sequence-based mode, the game freezes if the dead unit gets its turn from Player 1 human.
FIXED

6)During Perk selection, the game may freeze, if, cycling through too many Perks per units, and player had acquired many lvls at once without spending the Perk Points. FIXED

7)Stress death behaviour. FIXED

8) parry/dodge animation loop bug when attacking a target multiple times. FIXED

9) incorrect index for melee weapon during initial weapon distribution. FIXED
 

Attachments

  • Fallout_Tactics_Feral_Despair_Reforged_03_18_21_vTT.w3x
    20.5 MB · Views: 32
Last edited:
Level 4
Joined
Jun 2, 2018
Messages
54
I'm sorry about what happened to you and your projects. I was/am still in the same boat. :/ <3 fuck blizzard
 
Level 8
Joined
Mar 10, 2009
Messages
213
Thank you guys <3.
To those who downloaded the documents folder: it's mostly useful for hashtables (but I added comments for sections as well to make it easier). I tended not to save values via string handles (except for some, like custom gameplay constants), preferring raw integers instead.
 
Level 10
Joined
Oct 5, 2008
Messages
355
Just to save you from yourself. You should really try to get some competent opinions on the EULA before you throw your project under the bus

I mean noone can stop you. But that one is a big decision for you, so you should be sure of the circumstances.
 
Last edited:
Level 8
Joined
Mar 10, 2009
Messages
213
Just to save you from yourself. You should really try to get some competent opinions on the EULA before you throw your project under the bus

I mean noone can stop you. But that one is a big decision for you, so you should be sure of the circumstances.
Now that some time has passed... I've got a trick question to ask you (others are also welcome to share their thoughts): what would (in your opinion ofc) be the smartest thing to do:

a) Revert to the last pre-Reforged version and finish the project in it (what would that be? 1.30? I lost count, pre-Reofrged game lacks some useful new natives, limiting creative solutions, but it can be bypassed),

b) Try to finish it all in current Reforged, despite countless new bugs, no correct random seed generation and various other artificial obstacles by Blizzard (this is the sole factor that drives me nuts. I'm not that good at map development, but at least try to fix all the bugs every time, spending hours ),
note: I didn't abuse any mechanics of the pre-Reforged triggers/jass (except for disabling saving/loading games), so it's not fatal per-se.

c) Do nothing, keep it as is, forget the project,

d) Let it go for some time, several months, till Blizzard fixes most of the bugs with the Reforged version (I'm heavily leaning towards this option),

e) Your suggestion.

As for me, I'm hesitant but more than willing to try to finish it (it will take another 2 years), I've got 0 ambition/ego. As long as it doesn't get banned by Blizzard/can be hosted and played by at least some people, I'm happy to proceed. Working on this project has always been a very interesting mental exercise, and I hate abandoning projects half-way through. It just doesn't feel right. The whole point was to make custom easy GUI-template to attract new map makers to form a team to develop a campaign using this template's systems.
 
Level 7
Joined
Jun 27, 2014
Messages
227
(E: Your Suggestion) - While your question isn't addressed to me, I would still like to give you my take on this situation...

(1.) - I would choose to continue the project. Personally, you would've only wasted time of your life if you abandon it now. There isn't much left to create from what I can see. You could wait until Blizzard's bugs are worked out before continuing, but that's going to take quite some time.

(2.) - Reforged version should be used for your map. While we can bash on blizzard for years on end, all the bugs will be fixed at some point (Probably sometime after a vaccine for COVID-19 is made). You have much more triggers to work with, which in turn gives many more ideas for creation.

(3.) - Regardless of the new EULA - Blizzard still can't do anything if you chose to make your own game from the created map. While it does give slightly more edge in court, let's face it, a new DotA incident is highly unlikely.

(4.) - Even if Blizzard were to use your idea to make their own game, they would still make a horrendous game that barely anyone will pay attention to. After this Reforged debacle, I don't think that many would be thrilled. All it would do is further destroy their image if they take their customer's creation and give nothing for it.

(5.) - Fixing bugs will always be an issue. Focus primarily on finishing the project and expanding it later. Once you're done, the project will only be left with fixing bugs after each patch. All you'd need to do is leave an unprotected copy for Hive to work with as a safeguard/way to constantly restore the map once it is bugged.

(!: Conclusion) - The situation is horrendous, but all those fancy EULA rules can't hold up in court. At worst, you're just going to be banned by Blizzard.
 
Level 8
Joined
Mar 10, 2009
Messages
213
Thank you for your insight. My fear was to see the map eventually banned since it's someone else's IP (Bethesda, to be precise). While Bethesda's officials often don't mind fans working with their Fallout franchise, as long as it's a non-profitable fan-made project, Blizzard's new stance on publishing maps via Battle.net became somewhat problematic in that regard.

Oh well, I fixed most of the technical issues I had with Reforged version today. Feels good.
 
Last edited:
Status
Not open for further replies.
Top