Część poprzednia: baza
W grze UFO-2 teoretycznie można produkować 43 różne przedmioty, jednak w praktyce tylko 42. Z powodu jednego w rozlicznych błędów gry czołgi Coelacanth/Gauss zużywają taką samą amunicję jak Gauss Cannon (działo przeznaczone do obrony bazy), i dlatego jedna z możliwych rodzajów produkcji nie jest w ogóle realizowana.
Uruchomienie produkcji wymaga przede wszystkim ukończenia odpowiednich badań przez naukowców. Sama produkcja, gdy już będzie możliwa, wymaga opłat za każdą wytworzoną sztukę. Oprócz kosztów finansowych w wielu wypadkach musimy ponieść także koszty materiałowe – do wyprodukowania pewnych przedmiotów potrzebne są bowiem określone surowce.
Najczęściej takim wymaganym surowcem jest akwaplastik. Jest on potrzebny do produkcji broni sonicznej, wyrzutni rakiet, silników (z powodu błędu gry w większości wersji możliwość ta jest zablokowana), nawigacji magnetycznej, pancerzy, czołgów i statków nowej generacji, a także urządzeń kontroli molekularnej, co różni UFO-2 od UFO-1. Zrbit z kolei wymagany jest do wytwarzania broni do walki wręcz, wszelkiego rodzaju amunicji opartej na technologii obcych, granatów, a także silników, pancerzy drugiej i trzeciej generacji, czołgów i statków, a także urządzeń kontroli molekularnej. Dodatkowo konstrukcja statków wymaga dostarczenia gotowych silników i urządzeń nawigacyjnych.
Dane produkcji zapisane w grze różnią się jedynie nieznacznie od tych, które występują w bliźniaczej grze UFO-1. Dołożono 8, a w rzeczywistości tylko 7 nowych przedmiotów. 35 przedmiotów ma w obu grach niemal taką samą charakterystykę, jedynie w wypadku dwóch (M.C. Disruptor i M.C. Reader) zmieniono koszty materiałowe.
Początkowe informacje o tym, co można produkować, a także jakie są koszty produkcji (finansowe i materiałowe), zapisane są w pliku gry (GEOSCAPE.EXE) i stąd kopiowane do PRODUCT.DAT. W czasie gry niektóre wartości zmieniają się, i dzięki temu np. możliwa staje się produkcja nowego przedmiotu.
Każdy rekord zgromadzonych danych liczy 18 bajtów, a zatem cały plik liczy 43 × 18 = 774 bajty. Pierwsze cztery bajty (jak zawsze numerowane od 0 do 3) tworzą pole, w którym przechowywana jest informacja o jednostkowej cenie produkcji danego przedmiotu. W kolejnych dwóch bajtach (4 i 5) zapisana jest informacja o ilości roboczogodzin niezbędnych do wyprodukowania jednej sztuki. Kolejne dwubajtowe pole (bajty 6 i 7) przechowuje informację o ilości miejsca w warsztacie niezbędnego do uruchomienia produkcji.
Sześć kolejnych bajtów (od 8 do 13) informuje, jakie są koszty materiałowe produkcji. Zapis zorganizowany jest w ten sposób, że bajty 8, 9 i 10 zawierają numery maksymalnie trzech surowców koniecznych do produkcji; wartość FFh (traktowana przez grę jako –1) oznacza, że surowiec jest niepotrzebny. Numery surowców odpowiadają numerom pól w pliku BASE.DAT: zrbit ma numer 60 (3Ch), a akwaplastik numer 88 (58h). Poza tym do produkcji samolotów opartych na technologii obcych potrzebne są silniki jonowe (numer 80 = 50h) oraz nawigacja magnetyczna (numer 81 = 51h). Bajty 11, 12 i 13 zawierają informację o ilości sztuk danego surowca, wyszczególnionego odpowiednio w bajtach 8, 9 i 10.
Bajt 14 przechowuje informację, dzięki której można odnaleźć przedmiot w pliku BASE.DAT, w części dotyczącej zawartości magazynów (jest to numer odpowiedniego rekordu). Bajt 15 nie jest używany i zawsze przechowuje wartość 1. Dopóki w bajcie 16 zapisana jest wartość 1, produkcja danego przedmiotu nie jest możliwa (nie został on opracowany przez naukowców). Start produkcji następuje, gdy do tego bajtu zostaje wpisana wartość 0. Ostatni bajt, 17, nie jest używany, i zawsze przechowuje wartość 0.
Poniższa tabela prezentuje całą zawartość pliku PRODUCT.DAT. Wszystkie podane wartości są heksadecymalne; dodatkowo podano numery rekordów od 0 do 42 oraz nazwy produkowanych przedmiotów.
nr | cena | robg. | msc. | wymagane materiały | BD | · | MB | · | przedmiot | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
00 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 08 | 09 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | ||
0 | 50 | B1 | 03 | 00 | 90 | 01 | 06 | 00 | FF | 58 | FF | 00 | 01 | 00 | 03 | 01 | 01 | 00 | PWT Launcher |
1 | F0 | C6 | 02 | 00 | 2C | 01 | 06 | 00 | FF | FF | FF | 00 | 00 | 00 | 04 | 01 | 01 | 00 | Gauss Cannon |
2 | D0 | 72 | 03 | 00 | F4 | 01 | 08 | 00 | 3C | FF | FF | 0F | 00 | 00 | 05 | 01 | 01 | 00 | Sonic Oscillator |
3 | 60 | 6D | 00 | 00 | 58 | 02 | 06 | 00 | 3C | FF | FF | 04 | 00 | 00 | 09 | 01 | 01 | 00 | PWT Launcher Ammo |
4 | 20 | A1 | 07 | 00 | B0 | 04 | 19 | 00 | FF | FF | FF | 00 | 00 | 00 | 0C | 01 | 01 | 00 | Coelacanth/Gauss |
5 | 50 | F8 | 0C | 00 | B0 | 04 | 1E | 00 | 3C | 58 | FF | 1E | 05 | 00 | 0D | 01 | 01 | 00 | Displacer/Sonic |
6 | A0 | BB | 0D | 00 | 78 | 05 | 1E | 00 | 3C | 58 | FF | 19 | 08 | 00 | 0E | 01 | 01 | 00 | Displacer/PWT |
7 | 98 | 3A | 00 | 00 | 90 | 01 | 19 | 00 | 3C | 58 | FF | 05 | 08 | 00 | 5F | 01 | 01 | 00 | PW Torpedo (SWS) |
8 | 40 | 1F | 00 | 00 | 2C | 01 | 02 | 00 | FF | FF | FF | 00 | 00 | 00 | 1F | 01 | 01 | 00 | Gauss Pistol |
9 | 20 | 4E | 00 | 00 | 90 | 01 | 03 | 00 | FF | FF | FF | 00 | 00 | 00 | 20 | 01 | 01 | 00 | Gauss Rifle |
10 | 00 | 7D | 00 | 00 | BC | 02 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 21 | 01 | 01 | 00 | Heavy Gauss |
11 | D0 | 84 | 00 | 00 | DC | 00 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 26 | 01 | 01 | 00 | Disturbance Sensor |
12 | 60 | 6D | 00 | 00 | A4 | 01 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 27 | 01 | 01 | 00 | Medi-kit |
13 | 00 | 71 | 02 | 00 | F4 | 01 | 04 | 00 | 3C | 58 | FF | 02 | 01 | 00 | 28 | 01 | 01 | 00 | M.C. Disruptor |
14 | 90 | DC | 01 | 00 | E8 | 03 | 04 | 00 | 58 | FF | FF | 01 | 00 | 00 | 31 | 01 | 01 | 00 | Sonic Cannon |
15 | 70 | 17 | 00 | 00 | 50 | 00 | 04 | 00 | 3C | FF | FF | 03 | 00 | 00 | 32 | 01 | 01 | 00 | Cannon Power Clip |
16 | C0 | 57 | 01 | 00 | 34 | 03 | 04 | 00 | 58 | FF | FF | 01 | 00 | 00 | 33 | 01 | 01 | 00 | Sonic Blasta Rifle |
17 | B8 | 0B | 00 | 00 | 50 | 00 | 04 | 00 | 3C | FF | FF | 02 | 00 | 00 | 34 | 01 | 01 | 00 | Blasta Power Clip |
18 | C0 | DA | 00 | 00 | 58 | 02 | 03 | 00 | 58 | FF | FF | 01 | 00 | 00 | 35 | 01 | 01 | 00 | Sonic Pistol |
19 | D0 | 07 | 00 | 00 | 3C | 00 | 04 | 00 | 3C | FF | FF | 01 | 00 | 00 | 36 | 01 | 01 | 00 | Pistol Power Clip |
20 | 90 | 5F | 01 | 00 | B0 | 04 | 05 | 00 | 58 | FF | FF | 01 | 00 | 00 | 37 | 01 | 01 | 00 | Disruptor Pulse L. |
21 | 40 | 1F | 00 | 00 | DC | 00 | 03 | 00 | 3C | FF | FF | 03 | 00 | 00 | 38 | 01 | 01 | 00 | Disruptor Ammo |
22 | B0 | 30 | 01 | 00 | 84 | 03 | 03 | 00 | 58 | FF | FF | 01 | 00 | 00 | 39 | 01 | 01 | 00 | Thermal Shok L. |
23 | 58 | 1B | 00 | 00 | C8 | 00 | 02 | 00 | 3C | FF | FF | 01 | 00 | 00 | 3A | 01 | 01 | 00 | Thermal Shok Bomb |
24 | 2C | 1A | 00 | 00 | C8 | 00 | 02 | 00 | 3C | FF | FF | 02 | 00 | 00 | 3B | 01 | 01 | 00 | Sonic Pulser |
25 | 70 | FF | 03 | 00 | B0 | 04 | 04 | 00 | 3C | 58 | FF | 01 | 01 | 00 | 3D | 01 | 01 | 00 | M.C. Reader |
26 | F0 | 55 | 00 | 00 | 20 | 03 | 0C | 00 | 58 | FF | FF | 04 | 00 | 00 | 5A | 01 | 01 | 00 | Plastic Aqua Armor |
27 | 10 | A4 | 00 | 00 | E8 | 03 | 10 | 00 | 58 | 3C | FF | 05 | 05 | 00 | 5B | 01 | 01 | 00 | Ion Armor |
28 | 90 | E2 | 00 | 00 | 78 | 05 | 10 | 00 | 58 | 3C | FF | 05 | 10 | 00 | 5C | 01 | 01 | 00 | Magnetic Ion Armor |
29 | B8 | 0B | 00 | 00 | 64 | 00 | 0A | 00 | FF | FF | FF | 00 | 00 | 00 | 58 | 01 | 01 | 00 | Aqua Plastics |
30 | D0 | FB | 01 | 00 | 78 | 05 | 16 | 00 | 58 | 3C | FF | 05 | 10 | 00 | 50 | 01 | 01 | 00 | Ion-Beam Accel. |
31 | F0 | 49 | 02 | 00 | 40 | 06 | 12 | 00 | 58 | FF | FF | 03 | 00 | 00 | 51 | 01 | 01 | 00 | Magnetic Navigation |
32 | 80 | 1A | 06 | 00 | B0 | 36 | 1E | 00 | 58 | 50 | 51 | 41 | 01 | 01 | C9 | 01 | 01 | 00 | Hammerhead |
33 | C0 | 27 | 09 | 00 | 50 | 46 | 22 | 00 | 58 | 50 | 51 | 55 | 01 | 01 | CC | 01 | 01 | 00 | Manta |
34 | A0 | BB | 0D | 00 | D0 | 84 | 24 | 00 | 58 | 50 | 51 | 78 | 02 | 01 | CA | 01 | 01 | 00 | Leviathan |
35 | E8 | 03 | 00 | 00 | 14 | 00 | 03 | 00 | FF | FF | FF | 00 | 00 | 00 | 3E | 01 | 01 | 00 | Gauss Pistol Clip |
36 | D0 | 07 | 00 | 00 | 2D | 00 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 3F | 01 | 01 | 00 | Gauss Rifle Clip |
37 | A0 | 0F | 00 | 00 | 46 | 00 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 40 | 01 | 01 | 00 | Heavy Gauss Clip |
38 | 58 | 1B | 00 | 00 | 96 | 00 | 03 | 00 | 3C | FF | FF | 01 | 00 | 00 | 2B | 01 | 01 | 00 | Vibro Blade |
39 | E0 | 2E | 00 | 00 | DC | 00 | 03 | 00 | 3C | FF | FF | 02 | 00 | 00 | 2C | 01 | 01 | 00 | Thermic Lance |
40 | 20 | 4E | 00 | 00 | 2C | 01 | 03 | 00 | 3C | FF | FF | 02 | 00 | 00 | 2D | 01 | 01 | 00 | Heavy Thermic Lance |
41 | C8 | 00 | 00 | 00 | 05 | 00 | 02 | 00 | FF | FF | FF | 00 | 00 | 00 | 60 | 01 | 01 | 00 | Gauss Cannon Ammo |
42 | 10 | 27 | 00 | 00 | 78 | 00 | 04 | 00 | FF | FF | FF | 00 | 00 | 00 | 61 | 01 | 01 | 00 | {Coel/Gauss Ammo} |
Kolejna tabela zawiera „tłumaczenie” części danych, tj. kosztów finansowych i kosztów materiałowych. Kolumny 1, 2 i 3 zawierają materiały potrzebne do produkcji tak, jak są one zapisane w grze. Obok nazwy każdego materiału podano liczbę sztuk potrzebnych do produkcji jednego przedmiotu.
nr | przedmiot | cena | materiały | |||||
---|---|---|---|---|---|---|---|---|
$ | 1 | 2 | 3 | |||||
0 | PWT Launcher (Cannon) | 242 000 | Aqua Pl. | 1 | ||||
1 | Gauss Cannon | 182 000 | ||||||
2 | Sonic Oscillator | 226 000 | Zrbite | 15 | ||||
3 | PWT Launcher Ammo | 28 000 | Zrbite | 4 | ||||
4 | Coelacanth/Gauss | 500 000 | ||||||
5 | Displacer/Sonic | 850 000 | Zrbite | 30 | Aqua Pl. | 5 | ||
6 | Displacer/PWT | 900 000 | Zrbite | 25 | Aqua Pl. | 8 | ||
7 | PW Torpedo (SWS) | 15 000 | Zrbite | 5 | Aqua Pl. | 8 | ||
8 | Gauss Pistol | 8 000 | ||||||
9 | Gauss Rifle | 20 000 | ||||||
10 | Heavy Gauss | 32 000 | ||||||
11 | Disturbance Sensor | 34 000 | ||||||
12 | Medi-kit | 28 000 | ||||||
13 | M.C. Disruptor | 160 000 | Zrbite | 2 | Aqua Pl. | 1 | ||
14 | Sonic Cannon | 122 000 | Aqua Pl. | 1 | ||||
15 | Cannon Power Clip | 6 000 | Zrbite | 3 | ||||
16 | Sonic Blasta Rifle | 88 000 | Aqua Pl. | 1 | ||||
17 | Blasta Power Clip | 3 000 | Zrbite | 2 | ||||
18 | Sonic Pistol | 56 000 | Aqua Pl. | 1 | ||||
19 | Pistol Power Clip | 2 000 | Zrbite | 1 | ||||
20 | Disruptor Pulse L. | 90 000 | Aqua Pl. | 1 | ||||
21 | Disruptor Ammo | 8 000 | Zrbite | 3 | ||||
22 | Thermal Shok L. | 78 000 | Aqua Pl. | 1 | ||||
23 | Thermal Shok Bomb | 7 000 | Zrbite | 1 | ||||
24 | Sonic Pulser | 6 700 | Zrbite | 2 | ||||
25 | M.C. Reader | 262 000 | Zrbite | 1 | Aqua Pl. | 1 | ||
26 | Plastic Aqua Armor | 22 000 | Aqua Pl. | 4 | ||||
27 | Ion Armor | 42 000 | Aqua Pl. | 5 | Zrbite | 5 | ||
28 | Magnetic Ion Armor | 58 000 | Aqua Pl. | 5 | Zrbite | 16 | ||
29 | Aqua Plastics | 3 000 | ||||||
30 | Ion-Beam Accel. | 130 000 | Aqua Pl. | 5 | Zrbite | 16 | ||
31 | Magnetic Navigation | 150 000 | Aqua Pl. | 3 | ||||
32 | Hammerhead | 400 000 | Aqua Pl. | 65 | IBA | 1 | MNav | 1 |
33 | Manta | 600 000 | Aqua Pl. | 85 | IBA | 1 | MNav | 1 |
34 | Leviathan | 900 000 | Aqua Pl. | 120 | IBA | 2 | MNav | 1 |
35 | Gauss Pistol Clip | 1 000 | ||||||
36 | Gauss Rifle Clip | 2 000 | ||||||
37 | Heavy Gauss Clip | 4 000 | ||||||
38 | Vibro Blade | 7 000 | Zrbite | 1 | ||||
39 | Thermic Lance | 12 000 | Zrbite | 2 | ||||
40 | Heavy Thermic Lance | 20 000 | Zrbite | 2 | ||||
41 | Gauss Cannon Ammo | 200 | ||||||
42 | {Coel/Gauss Ammo} | 10 000 |
Analiza tej tabeli pozwoli lepiej zaplanować produkcję i wydatki ponoszone w trakcie gry strategicznej.
Ciąg dalszy: flota i broń osobista