Jason. Cała informatyka w jednym miejscu!

Przyszedł czerwiec, kończy się rok akademicki, a praca ciągle nie daje spokoju. Tak było cztery miesiące temu, trzy miesiące temu, dwa miesiące temu i w maju. Tak jest w chwili obecnej. Szablon w "raylib" ciągle wymaga wielu godzin badań i wysiłków, żeby wyrównać to do poziomu zerowego, bo to będzie jedynie szkielet dla następnych gier którymi nie mogę zająć się do tej pory. Nie jest już tak najgorzej. Ostatnie dni prac nad trybem pełnoekranowym i skalowalnym renderowaniem spowodowały pewien awans możliwości szablonu i kończy to trzeci etap prac. Powoli kształtuje się to na aplikację desktopową. Interesuje Was dalszy ciag?

DYLEMAT ZE ZMIANĄ ROZDZIELCZOŚCI W "RAYLIB"

Gdy przypomniałem sobie o funkcjonalności polegającej na przełączaniu wymiarów okna gry podczas jej działania, pojawił się nagle kolejny problem. Rozjeżdżała się czcionka gdy okno przerzucało się z mniejszej rozdzielczości na większą. Ustaliłem, że sztywna rozdzielczość ekranu gry będzie wynosiła 256x144. Wciąż chcę robić w stylu retro jak w latach osiemdziesiątych, tylko wykorzystując dwudziestopierwszowieczne możliwości informatyczne. Konsole fantasy wkurzają mnie tymi limitami kodu więc postanowiłem stworzyć sobie samemu taką emulację tylko bez żadnych ograniczeń z wykorzystaniem języka C, który doskonale pasuje do gier. Trzeci etap dorzucił sobie zadanie wymagające poprawienia rozmazywania się czcionki.

Próba przełączenia w "raylib" na wyższą rozdzielczość poskutkowała "rozlaniem się" literek przez co tekst nie nadawał się do niczego, a już na pewno nie do czytania. Nie pytajcie lepiej jak się wtedy czułem. Poszperałem na "Discordzie" i ten problem całe szczęście doczekał się rozwiązania. Istnieje taka struktura jak "RenderTexture2D" i jej zastosowanie polega na przeskalowaniu przetwarzanego obrazu tak, aby pikselowa grafika zachowała swoją ostrość i żeby ekran gry nie tracił tego samego formatu obrazu (ja tworzę pod 16:9). Po wielu bezskutecznych zabiegach (oraz wielu drobnych modyfikacjach kodu) ostatecznie udało się osiągnąć taki sam efekt, który wyeliminował wyżej opisany problem.

Odpuściłem sobie sztywne wymiary rozdzielczości z jednego powodu: nie wiem dlaczego, ale podczas przełączania rozdzielczości będąc w trybie pełnoekranowym, program pobierał zupełnie inne rozdzielczości niż te podane przeze mnie. Nie wiem czemu tak się działo. Ciekawe jest jeszcze to, że było tak nawet po zachowaniu pierwotnej rozdzielczości po odpaleniu aplikacji. Albo monitor próbował przypisać przybliżoną rozdzielczość, albo to "raylib" posiada jakieś niedopracowanie. Nie byłem w stanie tego naprawić więc postanowiłem usunąć możliwość przełączania rozdzielczości i to ukrócić. Teraz tryb pełnoekranowy to przełączanie automatyczne na najwyższą rozdzielczość, a ci, co lubią okienko, będą mogli je rozciągać wedle swoich upodobań.

CZCIONKA W "RAYLIB" CZYLI Z JEDNEJ SKRAJNOŚCI W DRUGĄ

Kłopotów jak na trzeci etap widocznie było mało, bo nadal występował problem z czcionką. Potrzebna mi była "pikselowa" bez żadnego antialiasingu. Tutaj też mało nie zwariowałem z bezsilności. Ściągnęło się jedną, brak polskich znaków. Pobrało się drugą, licencja do użytku osobistego. Następna jedynie imitowała retro, bo miała nałożone wygładzanie. Bluzgałem jak szewc, ale w końcu znalazłem taką, która spełniła wszystkie wymagania.

Czcionka "cudotwórca" to "Press Start 2P", która na dodatek doskonale pasuje do stylu mojego projektu. Można ją spokojnie wykorzystać do celów komercyjnych, posiada znaki Unicode, a jeden znak zajmuje 8 pikseli. Dobrze, że znalazła się taka czcionka retro, która pasuje jak ulał. Byłem w takim stanie, że pobierałem już program do tworzenia własnych czcionek. "raylib", w przeciwieństwie do "HaxeFlixel", nie powoduje problemów przy znakach diakrytycznych i chwała mu za to.

PREZENTUJĘ PIERWSZE ZRZUTY EKRANU JAK WYGLĄDA TRZECI ETAP SZABLONU W "RAYLIB"!!!

Zostawiam Wam poniżej dwa obrazki ukazujące szablon nad którym bezustannie pracuję. Teraz nie ma ani dnia przerwy, bo już każdego dnia trafia się coś, co trzeba poprawić, dodać, przeanalizować. Nacieszcie swoje oczy i czekajcie cierpliwie na kolejne obrazki!

Szablon w "raylib" - menu główne Szablon w "raylib" - menu ustawień

Powyższe obrazy przedstawiają szablon tworzony we frameworku "raylib". Ukazują one menu główne z logiem gry oraz w pełni sprawne menu ustawień.

Trzeci etap ciągle trwa i jeszcze przez jakiś czas będzie, bo co chwilę trzeba coś poprawiać albo zmieniać. Miały być jedynie poprawki, natomiast przypomniałem sobie nagle o zmianie rozdzielczości i wyszła kolejna cała robota. Znowu na własne życzenie.


To wszystko co mam do zaprezentowania. Postaram się wrzucać coraz więcej obrazków z mojej pracy bo wiem to po sobie, że potrafią rozpalić ciekawość. Zwłaszcza, gdy człowiek na coś czeka z niecierpliwością i trzyma za kogoś kciuki, żeby udało się to zrobić jak najszybciej. A Wy, też liczycie na jak najwcześniejszą premierę?

PODOBNE ARTYKUŁY