Może łatwiej będzie mi opisać co już jest więc każdy sam oceni ile "zostało" (ostrzegam: WALL OF TEXT:
- Proceduralna generacja (póki co dość prostego) terenu. Po ludzku: własnej roboty generator, który tworzy teren składający się z 4 podstawowych "warstw": woda (najniżej), teren trawiasty (niski), skaliste podłoże (wysoki) oraz śnieg (najwyższy). Do tego generacja drzew i skał (jako obiektów), które póki co są rozkładane randomowo (ale docelowo drzewa mają tworzyć lasy, zagajniki i łąki).
- Mapa podzielona jest na "ekrany". Gdy dojdziemy do krańca ekranu, przechodzimy do kolejnego ekranu. To umożliwia ogromną optymalizację, gdyż pozwala mi uniknąć projektowania zaawansowanych systemów które kontrolowałyby, jacy gracze, obiekty i zwierzęta są w okolicy gracza itp. Może to ulec zmianie w przyszłości ale wymagałoby gruntownych zmian, więc wątpię.
- Kolejnym krokiem w designie, który umożliwia optymalizację, jest siatka. Gra jest bazowana na "tilesach", czyli kwadratach (mniej więcej jak w Tibii). To znowu zmniejsza wymaganą moc obliczeniową, co jest raczej ważne w grach tego typu.
- System itemów oraz inventory i equipment. Każdy item to osoby obiekt w bazie i może być dowolnie przerzucany na drodze inventory - ziemia - equipment - workbench. Każdy item na ziemi zajmuje jedną kratkę, w equipment jednego slota, natomiast inventory jest takie samo jak w HnH a itemy mogą zajmować więcej niż jeden slot. W grze póki co jest 7 przedmiotów: gałąź, kamień, blok drewna, deska, kamienna siekiera, topór bojowy i pochodnia. Zaprojektowana architektura umożliwia mi dodawanie nowych przedmiotów w banalny sposób - muszę tylko znaleźć grafikę i zrobić nowy wpis w bazie.
- Podstawowe craftowanie, które jednak w najbliższym czasie ulegnie kilku zmianom. Generalnie chcę, by z craftowania było więcej "frajdy" niż to ma w hnh, gdzie po prostu klikamy sucho przycisk, odczekujemy klepsydrę i mamy item. W użyciu będzie kilka(-naście?) workbenchów - czyli okienek, każde z inną grafiką tła, różnymi slotami. Przykład jednego z workbenchów to stół alchemiczny (którego jeszcze nie ma) - pokazane nam zostanie okienko z grafiką jakichś buteleczek i innych chemicznych ustrojstw, tam rozsiane będzie kilka slotów, na które będzie można przenosić składniki - ale nie "jak się podoba", gdyż ważne będzie rozmieszczenie - jedne sloty będą składnikami podstawowymi, inne dodatkowymi a jeszcze inne katalizatorami. Przy odpowiednim rozmieszczeniu składników uzyskamy pożądany efekt. Zastanawiam się jeszcze czy wprowadzić system receptur czy też pozwolić graczom zapisywać recepty "poza grą" i dzielić się nimi lub też trzymać w ścisłej tajemnicy. Według mnie im mniej "ułatwień" systemu craftowania i im więcej "tajemnic" w nim zaszytych, tym ciekawiej.
- Budownictwo, podobne do tego z hnh z małymi zmianami. Stawiając konstrukcję widzimy coś na wzór tego z hnh - znak na środku, a na rogach wbite kołki, które pokazują wielkość naszej konstrukcji. Możemy kontrolować jakie i ile materiałów jest potrzebnych do budowy. Sama budowa natomiast odbywa się w inny sposób - materiały powinny być umieszczone na ziemi w strefie konstrukcji i z tamtąd są pobierane w trakcie budowy. To powoduje, że przy mniejszych budowach nie może pracować sztab 20 ludzi, gdyż się po prostu nie pomieszczą (budyneczek 3x3 ma 9 slotów z czego 1 to znak, więc zostaje 8). Docelowo statystyki i umiejętności budowniczych będą wpływać na różne parametry domu - od estetycznych (słaby budowniczy zbuduje nam dom, w którym podłoga będzie zrobiona z krzywych i miejscami wyłamanych desek) po praktyczne - dobry budowniczy być może doda nam więcej przestrzeni lub umożliwi stawianie w domu zaawansowanej aparatury.
- Możliwość interakcji z obiektami - zbieranie gałęzi z drzew, kamieni ze skał i tym podobne. Ilość i rodzaj interakcji które są dostępne zależeć będzie od czynników takich jak przedmiot w łapie, statystki itp. Póki co zależy tylko od przedmiotu w łapie (bez jakiejkolwiek siekiery nie zetniemy drzewa).
- Podstawowy terraforming czyli możliwość zmiany terenu - poprzez ścinanie drzew, orania ziemi, budowania chodników.
- System oświetleniowy. Na początku chciałem dodać porządne efekty flary i cieniowania ale po dwóch tygodniach ślęczenia nad tym poddałem się - to po prostu zjada zbyt dużo zasobów jak na grę MMO. Dlatego stworzyłem własny system oświetlenia, który może nie wygląda tak efektywnie, ale jest za to tysiące razy mniej obciążający i dziesiątki razy bardziej elastyczny. Źródłem światła może być gracz (jeśli ma w łapie pochodnię) lub przedmiot na ziemi (wyrzucona pochodnia da światło w okół siebie). Ciężko to opisać więc spróbuję dać jakiegoś screena jutro.
- System nocy i dnia oraz odwzorowanego kalendarza. Ów kalendarz jest uproszczony - ma 12 miesięcy po 30 dni każdy więc 360 dni łącznie. Generalnie czas w grze płynie 4x szybciej niż w realu co oznacza, że jeden dzień w grze to 6h w realu. Doba jest podzielona na 3 segmenty (po 2h IRL każdy). Pierwsze 2h (od 6:00 do 14:00) to zawsze dzień, kolejne 2h (od 14:00 do 22:00) to dzień/noc zależne od pory roku, a ostatnie 2h (22:00 do 6:00 następnego dnia) to zawsze noc. Dzień może wydawać się długi ale zamierzenie jest takie, by cykl dnia i nocy a także pór roku odgrywał dużą rolę w grze (według zamierzenia, że fabuła ma być nieco słowiańska) - niektóre "stwory" będą pojawiać się tylko w nocy, tak samo jak niektóre składniki alchemiczne lub magiczne będzie można znaleźć tylko o brzasku lub tylko o północy w pełnię księżyca.
- Cykle księżyca, które mają przede wszystkim wpływ na intensywność ciemności w nocy. Gdy jest nów, ciemność jest zupełnie czarna i nieprzenikniona, natomiast przy pełni księżyca od biedy można obyć się bez pochodni. Rola ciemności będzie dość znaczna więc staram się opracować jakiś system zapobiegający wyłączaniu owej ciemności po stronie klienta tak jak to ma miejsce w przypadku hnh.
- Istniejący od wczoraj podstawowy system stworów i ich AI. Póki co nie istnieje żaden system kontrolujący kiedy i jak powinny się owe stwory spawnować. Jednak zespawnione w sposób "sztuczny" króliki/zające są zdolne do beztroskiego kicania a za parę godzin pewnie również panicznej ucieczki przed ewentualnym oprawcą. Do tego jednak muszę najpierw stworzyć jakiś system walki, który na początek zapewne będzie podobny do tibijskiego w sensie takim, że zaznaczamy danego stwora, podchodzimy a postać sama go "bije" - mocno lub słabo w zależności od posiadanego wyposażenia i statystyk. System prosty, ale potrzebny bym mógł dalej rozwijać grę, w przyszłości mam nadzieję go urozmaicić dodając chociażby różne skille, broń dystansową czy system magii ofensywnej.
Chyba o niczym nie zapomniałem. Przepraszam za wall of text ale screeny mam na laptopie w pracy, więc dopiero może jutro coś wrzucę.
I zdaje się że chyba offtopuję więc może trzeba by jakiś osobny temat założyć
Pozdrawiam,
Myz.