22 czerwca 2012

Interface Zero - Programowanie - Patch 2.0

EDIT 08/11/2012: aktualnie korzystamy z zasad zamieszczonych w Hacking 2.0; okazało się, że zabawa programami w jakiejkolwiek postaci (oryginalnej czy zmodyfikowanej) zabiera stanowczo za dużo czasu.

Niezbyt przypasowały mi zasady programowania zawarte w podręczniku do IZ. Programowanie otwarte daje małe szanse na stworzenie programu o poziomie większym niż dwa, a programowanie strukturalne sprowadza się do turlania do skutku. Innym problemem są niebotyczne ceny i błyskawiczna dezintegracja programów. Chciałem stworzyć bardziej zrównoważony i elastyczny system, w którym napisanie najczarniejszego LODu będzie nie tylko czasochłonne, ale i wymagające. Obawiam się, że mogłem przekombinować. Zasady będą modyfikowane, gdy tylko wykryję bugi na sesji.

Space Invaders Cards

Programowanie strukturalne

Gracz deklaruje jaki typ programu zamierza stworzyć, a następnie wykonuje test Programowania o trudności 4. W przypadku porażki postać marnuje dzień pracy (8 godzin). Sukces oznacza, że gracz dobiera pięć kart, z których następnie tworzy pokerowy układ. Każde przebicie oznacza możliwość dobrania kolejnej karty.

Każdemu układowi kart przypisana jest określona liczba Punktów Kodu. Za każdy punkt można zwiększyć poziom programu o 1 (zaczynając od zera), zmniejszyć o jeden poziom liczbę godzin poświęconych na programowanie, dodać procedurę (jeżeli postać nie posiada Przewagi Zaawansowane Programowanie dodanie procedury kosztuje 2 punkty). Nie wykorzystane PK przepadają.

Układ PK  
Wysoka karta 1
Figura 2
Para 3
Para figur 4
Dwie pary 5
Trójka 6
Strit 7
Kolor 8
Full 9 
Kareta 10
Piątka 11
Poker 12
Poker królewski 13 

Jeżeli wśród użytych kart znajduje się Joker albo wylosowano Trójkę lub lepszy układ, czas potrzebny na przygotowanie programu wybranego poziomu automatycznie redukowany jest o jeden poziom. Poza tym postać ma szansę wyjść poza teoretyczne granice programowania lub własne ograniczenia – może stworzyć program atakujący na poziomie 11+, dowolny inny program na poziomie 7+, zwiększyć limit procedur dostępny dla programu na danym poziomie czy (tylko Joker) napisać program wymagający wyższej kości Programowania niż aktualnie posiadana.


Przykład:

Nikita potrzebuje świeży program tnący na jutrzejszą akcję. Posiada Programowanie na k10. Rzuca zatem k10 i kością Figury. Wyrzuca 8 i 5, czyli sukces i przebicie - dobiera zatem 6 kart. Dostała dwie pary, co odpowiada 5 Punktom Kodu. Teoretycznie może stworzyć program tnący 5. poziomu, jednakże zajęłoby to 4 dni (32 godziny pracy). Decyduje się zatem na program 4. poziomu (4PK), a ostatni Punkt Kodu przeznacza na redukcję czasu. 8 godzin pracy i program gotowy. Nikita zdąży się jeszcze wyspać przed misją.


Programowanie otwarte

W przypadku programowania otwartego postać pisze do „szuflady” fragmenty kodu (moduły), które później wykorzysta we właściwym programie. Gracz deklaruje dla jakiego typu programu zamierza stworzyć moduł, a następnie wykonuje test Programowania o trudności 4. Zakłada się, że haker tworzy moduły „z doskoku” w czasie wolnym (1 moduł na tydzień), może jednak poświęcić czas wyłącznie na pisanie modułów. Każda sesja programowania otwartego zajmuje wówczas 8 godzin. W przypadku porażki postać marnuje poświęcony czas. Sukces oznacza stworzenie modułu o wartości 1 PK, każde przebicie to dodatkowy PK. 

Uzyskane w ten sposób punkty można wykorzystać dopiero po udanym teście programowania strukturalnego, nie można stworzyć z nich automatycznie gotowego programu. Do stworzenia programu można wykorzystać dowolną liczbę modułów o wartości do 4PK albo jeden moduł o dowolnej wartości. Użyty moduł staje się integralną częścią programu i nie można wykorzystać go ponownie.

Maksymalna ilość modułów, jakie może posiadać haker w danym momencie, jest zależna od poziomu kości Sprytu (k4=1 moduł,...,k12=5 modułów). Jeżeli postać chce stworzyć nowy moduł, a posiada już maksymalną ilość modułów, musi skasować jeden ze starych modułów przed przystąpieniem do pracy.


Programowanie grupowe

Programowanie grupowe działa na zasadzie testów wspomaganych. Zamiast modyfikatorów do testu każdy sukces i przebicie wspierających oznacza dodatkowy PK. W ten sposób można otrzymać maksymalnie 4PK. Każdy programujący poświęca na pracę liczbę godzin odpowiednią dla stworzonego programu.

Można dowolnie łączyć programowanie otwarte i grupowe.

Uplink screenshot

Zużycie Kodu

Głębia nieustanie przeczesywana jest przez hakerów i bot - programy są analizowane, dziury łatane, co rusz pojawiają się nowe algorytmy - na skutek tych działań programy dezaktualizują się (jednak nie tak szybko jak na oryginalnych zasadach). Po każdym rajdzie, w której został wykorzystany dany program, zmniejsz licznik użyć zgodnie z poniższymi wskazówkami. Gdy ilość użyć spadnie do zera, obniż poziom programu o 1.

Za każdą niewykrytą sesję hakowania: -1
Za każdą wykrytą sesję hakowania: -2
Za każdą sprzedaż programu: -4

Przykład:

Nikita wykorzystała w czasie rajdu nowy program tnący 4. poziomu (ilość użyć: 6), niestety została wykryta przez systemy obronne domeny. Oznacza to, że zostały jej jeszcze 4 "użycia" (6-2), nim program spadnie na poziom 3. 

Po akcji okazuje się, że drużyna potrzebuje nieco gotówki. Nikita postanawia rozpowszechnić swój soft, zatem ilość użyć programu spada do zera (4-4), a Nikita zostaje z programem 3. poziomu i 2000 kredytów w kieszeni. 


Kupno/sprzedaż

Poziom Cena programu + 2000*liczba procedur
1 500
2 1000
3 1500
4 2000
5 3000
6 4000
7 6000
8 8000
9 11000
10 14000 

Przewagi zmodyfikowane i nowe

Zaawansowane Programowanie

Wymagania: Doświadczony, Haker, ABC Programowania, Programowanie k10

Procedury kosztują 1 PK. Gracz dobiera dodatkową kartę podczas programowania.


Wirtuoz Programowania

Wymagania: Weteran, Zaawansowane Programowanie, Programowanie k12

Gracz dobiera dwie dodatkowe karty podczas programowania oraz otrzymuje 1 dodatkowy PK.


Upgrade/debuging (opcjonalne)

Każdy program można udoskonalić, ale tylko raz. Gracz wykonuje test Programowania o trudności równej poziomowi programu. Porażka oznacza, że postać zmarnowała trochę czasu. W przypadku krytycznej porażki postać marnuje nie tylko czas, ale i psuje kod – obniż poziom programu o 1. Sukces oznacza, że poziom programu został podniesiony o 1, każde przebicie to dodatkowy poziom. Testy wspomagane działają na normalnych zasadach.

Udoskonalanie kodu zajmuję połowę czasu potrzebnego na stworzenie programu startowego poziomu. Do zmniejszenia potrzebnego czasu można wykorzystać punkty z modułów.

Brak komentarzy:

Prześlij komentarz