|
  |   |   |
|
Tworzenie nowych programówOpracował: "Cashtan"
odstawowe zasady pozostają bez zmian, każdy program można podzielić na trzy części: funkcje, opcje i siła. W skrócie, osoba pragnąca stworzyć nowy program wybiera odpowiednie funkcje jakie ma spełniać program, możliwe opcje dodatkowe oraz określa siłę programu. Możliwe funkcje i odpowiadające im stopnie trudności znajdują się w głównym podręczniku CP2020. Zmianą którą wprowadziłem jest podział na trudność stworzenia programu oraz złożoność programu. 1. Trudność stworzenia programurudność stworzenia programu określa wymagany poziom zaawansowania w programowaniu – programy spełniające podstawowe, popularne funkcje, zazwyczaj łatwiej się pisze, można się wzorować na wielu istniejących już programach, istnieją gotowe biblioteki i procedury z których można skorzystać podczas pisania programu. Natomiast programy stworzone do trudniejszych, lub nieoficjalnych działań nie posiadają takiego wsparcia, praktycznie wszystko trzeba pisać od początku, nierzadko są też znacznie bardziej skomplikowane. Trudność stworzenia określa się w następujący sposób:Otrzymana w ten sposób liczba jest stopniem trudności stworzenia programu. 2. Złożoność programuolejnym parametrem opisujący program jest jego złożoność, odzwierciedlającą ilość linii kodu programu. Złożoność programu obliczana jest jak trudność napisania programu w podręczniku CP2020, z tym że siłę programu należy pomnożyć przez 2.3. Procedura pisania programurogramista musi wykonać test INT + Programowanie + 1K10 aby napisać program. Stopniem trudności jest trudność stworzenia programu, natomiast trudność pomnożona przez 6 godzin określa ilość czasu wymaganego na napisanie programu. Złożoność określa wielkość programu czyli ilość zajmowanej przez program pamięci. Należy ją odczytać z poniższej tabeli:
4. Opcje programowaniarocedura programowania opisana w punkcie 3 określa zasady pisania programów przez jedną osobę, za pomocą standardowych języków programowania. W innym wypadku należy zastosować poniższe zasady.4.1 Pisanie zespołoweasada pisania zespołowego nie uległa zmianie w stosunku do podręcznika – Należy zsumować Int i umiejętności programowania wszystkich piszących, dodać 1K10. Stopniem trudności jest tak jak w przypadku pisania w pojedynkę trudność stworzenia programu. Czas pisania należy podzielić przez ilość programistów tworzących program.4.2 Dobór języka programowaniao pisania programów najczęściej używa się języków programowania wysokiego poziomu, mają one tę zaletę, że są zbliżono do naturalnego języka, zawierają wiele gotowych funkcji i procedur. Programy w takich językach pisze się stosunkowo łatwo, nierzadko przypomina to układanie programu z gotowych “klocków”. Kod takiego programu musi zostać jednak przetłumaczony (skompilowany) do formy zrozumiałej przez procesor. Powoduje to często powstawanie nadmiarowych instrukcji, pętli itp. Z drugiej strony pisanie w językach niższego poziomu, bardziej zbliżonych do zrozumiałego przez procesor kodu maszynowego, jest znacznie trudniejsze, na barki programisty spada wiele zadań normalnie wykonywanych automatycznie. Lecz program napisany w takim języku zajmuje mniej miejsca i lepiej wykorzystuje zasoby.Przekładając to na mechanikę gry, programy napisane w językach programowania niższego rzędu mają wyższą trudność stworzenia lecz niższą złożoność. Deklarując optymalizację kodu programu należy zwiększyć trudność stworzenia programu o 2 lub więcej. Za każde 2 punkty, o które została zwiększona trudność stworzenia należy zmniejszyć złożoność o 3 punkty. W ten sposób nie można zmniejszyć złożoności programu poniżej połowy jej bazowej wielkości. Z drugiej strony początkujący programiści, aby ułatwić sobie pracę mogą skorzystać z gotowych bibliotek, podprogramów oraz w wysokim stopniu zautomatyzowanych środowisk programistycznych. Napisanie w ten sposób programu jest łatwiejsze, lecz jego działanie jest dalekie od optymalnego. W ten sposób można obniżyć trudność stworzenia, lecz wzrasta złożoność programu. Za każdy punkt o który zmniejszyło się trudność stworzenia (maksymalnie do połowy pierwotnej wielkości) należy zwiększyć złożoność o 2. Dwóch netrunnerów (pierwszy Int 9, Programowanie 9, drugi Int 9, programowanie 8) postanowiło napisać nową ulepszoną wersję robaka. Zaczynają więc od określenia trudności i złożoności programu:
Postanawiają ponadto zoptymalizować kod programu, tak aby zajmował mniej miejsca – zwiększają trudność o 6, dzięki czemu złożoność spada o 9. A więc trudność wynosi obecnie 40, a złożoność 32. Pisanie zajmuje im 240 godzin (40x6), co po podziale pracy na dwie osoby daje 120 godzin. Po tym czasie wykonują test – ich połączone umiejętności wynoszą 35. Na 1K10 wypadło 3, co razem z umiejętnościami daje 38, czyli poniżej trudności stworzenia. Program nie działa prawidłowo, jednak netrunnerom szkoda jest poświęconego na pisanie czasu, więc postanawiają go poprawić. Wykonują kolejny test, tym razem wypada 8, razem z umiejętnościami 43, trudność wynosiła 41, a więc udało się poprawić program. Szukanie i poprawa błędów zajęła 12 godzin, po dodaniu niezbędnych poprawek złożoność wzrosła do 35 (10% z 32 to po zaokrągleniu 3). Gotowy program zajął ostatecznie 4 JP. |