Czujesz, że masz smykałkę do programowania? Sprawdź się z tym tytułem! |
RECENZJA YOUTUBE:
=== NIECO O GRZE ===
Dosyć ciekawy tytuł w którym sprawdzone zostaną nasze zdolności logicznego myślenia i tworzenia działających algorytmów. Gra jest autorstwa Francuza, Félicien Brochu. Zadaniem gracza jest opracowanie algorytmu, który doprowadzi do realizacji założeń postawionego przed nami zadania.
- STEAM = https://store.steampowered.com/app/1273450/Selfless_Heroes/?curator_clanid=31951226
- DEMO = https://selflessheroes.fr/download
- WWW = https://selflessheroes.fr
- Data wydania = 14 kwietnia 2020
- Producent = Félicien Brochu
- Wydawca = Félicien Brochu
- Gatunek = Niezależne, Strategiczne, Symulacje, Programming, Logiczne, Pixel Graphics, Wysoki poziom trudności, Logic, 2D, Tryb jednego gracza
- Recenzje użytkowników = BRAK
- Multiplayer = BRAK
- Karty = BRAK
- Polska wersja językowa = JEST!
- Regularna cena = 22 PLN
- Wsparcie dla pada = BRAK
- Więcej informacji = https://gg.deals/game/selfless-heroes/
=== ROZGRYWKA ===
W grze naszym zadaniem będzie realizacja założeń postawionych przed nami misji, których jest łącznie 63 do pokonania. Każda z nich jest odrębna i nieco różni się od poprzedniej przy czym zgrupowane są w kilka grup.
W tej grze musimy zająć się programowaniem by nasi bohaterowie wypełnili pewną misję, postawione przed nimi zadanie. Jednak nie jest to takie proste ponieważ tworzony przez nas algorytm działa jednocześnie na wszystkie postaci obecne na planszy. To oznacza, że jeśli zadamy polecenie wykonania ruchu o jedno pole w prawo to każdy bohater to zrobi. I w tym cały problem. Każda misja polega na tym, że mamy w niej pewne zadanie do rozwikłania i by je wykonać musimy brać pod uwagę reakcję wszystkich postaci oraz ich otoczenie. Musimy je zrealizować i jednocześnie zachować przy życiu wszystkie postaci ponieważ złe użycie komend może prowadzić do zawalenia
Gra polega na zaprogramowaniu zachowania podległych nam rycerzy za pomocą dostępnych komend przy czym ich dostępność jest uzależniona od aktualnego zadania i z czasem ich pula zostaje poszerzona o kolejne. Mamy tu 63 różne misje do rozwiązania i według zamierzeń autora gry ich przejście zajmie nam około 30 godzin.
Każdy z leveli to nowe zadanie któremu musimy podołać pisząc – czy też raczej tworząc – unikalny algorytm. Możemy to zrobić na dwa sposoby – albo działając w trybie wizualnym albo też pisząc kod ręcznie w języku przypominającym nieco C. Tryb wizualny polega na przeciągnięciu żądanej komendy do linii komend i jej konfiguracji. Dla przykładu komenda wykonania kroku wymaga jeszcze wskazania w którym kierunku postać ma się poruszyć. Do tego dochodzą jeszcze polecenia warunków, gdzie np. używając komendy “JEŚLI” definiujemy resztę warunków, np. sprawdzamy czy po prawej jest przepaść. Jeśli tak – postać musi przemieścić się w innym kierunku by nie spadła. Warunki mogą mieć kilka członów więc można tworzyć nieco bardziej zaawansowane polecenia. Może być to weryfikacja różnych założeń po to by móc zareagować odpowiednio do zmieniających się warunków.
Naszym zadaniem jest opracowanie takiego algorytmu zachowań naszych podwładnych by mogli poradzić sobie z bieżącymi założeniami misji. Nie jest ważny sposób w jaki napiszemy nasz program. Ma on jednak działać prawidłowo i zrealizować założenia. Za przejście misji dostajemy od jednej do trzech gwiazdek przy czym zaliczenie misji daje nam jedną a dodatkowe dwie możemy zarobić za optymalizację naszego kodu. Jedną za wykonanie celu misji w określonej ilości kroków zaś kolejną za napisanie kodu, który ma mniej niż określona ilość linii. Nie musimy tego realizować w tej samej misji – możemy przebudować nasz kod na nowo by zmieścić się w tych wymaganiach i każdą z gwiazdek zaliczać osobno. Dodam, że spełnienie tych warunków to niekiedy dosyć duże wyzwanie i trzeba się naprawdę wysilić by sprostać wytycznym.
Zadania są odmienne od siebie i jedne polegają na opracowaniu algorytmu przemieszczenia bohaterów, inne porównania wartości przedmiotów a jeszcze inne najeżone warunkami posłużą do bardziej zaawansowanego planowania ruchów i czynności. Niekiedy różnią się od siebie zaledwie małym szczegółem lecz to powoduje, że w wyniku uzyskamy całkowicie odmienny program. Zdziwisz się gdy zobaczysz, iż lekkie zmiany w wyglądającym nieomal identycznie kodzie spowodują, iż postać zacznie się zachowywać całkowicie inaczej.
Ta gra uczy pisania skryptów, tworzenia algorytmów – a przede wszystkim logicznego rozwiązywania zadań. To jest dosyć intrygujące i niektóre zadania są zagadką trudną do rozwikłania. Gra jest bardzo minimalistyczna ale też wciągająca i tak naprawdę można siedzieć pół godziny i zastanawiać się jak dany problem można ugryźć po czym rozwiązanie przyjdzie niczym grom z jasnego nieba i przestawienie drobnego szczegółu okaże się być w pełni wystarczające. Niektóre zadania wydają się co prawda prozaiczne ale naprawdę trudno jest dojść do tego jak je zrealizować. A coś co na początku wydaje się błahe może być w rzeczywistości dosyć trudnym zadaniem i ciężko będzie je rozwiązać.
W interfejsie tworzenia poleceń możemy też włączyć spowolnienie wykonywanego kodu czy też zatrzymać go bądź samemu uruchamiać je krok po kroku. To pomoże ci przeanalizować na spokojnie zachowanie się twoich bohaterów i namierzyć miejsce w kodzie, które generuje problemy. W grze zawarty jest także walidator więc jeśli coś źle napiszemy to wskaże nam w którym miejscu programu znajduje się błąd i jakie polecenie zostało przez nas niepoprawnie użyte – w przypadku ręcznego ich tworzenia ponieważ to wtedy powstają pomyłki. Jeśli korzystamy z formy graficznej to zwykle zdarza się nam zapomnieć ustawić jakiegoś drobnego parametru.
Polecenia, których możemy używać są parametryzowane, więc by zbudować działający kod należy je przeciągnąć z listy dostępnych po lewej stronie do okna kodu i umieścić w odpowiednim miejscu. W zależności od położenia poleceń warunkowych są one graficznie powiązane liniami więc widać gdzie zaczyna się dany warunek oraz gdzie kończy. Pewien problem może sprawić ci natomiast zrozumienie co niektórych zależności jeśli chodzi o interakcję pomiędzy bohaterem a obecnymi na planszy przedmiotami lecz już po kilku próbach idzie to zrozumieć.
Część zadań opierać się będzie o wartości losowane na początku levelu. Na przykład sortowanie przedmiotów. Nasz algorytm musi sobie jednak radzić nie tylko z tym co nam się wylosowało ale też z każdym innym zestawem jaki może się przytrafić. Gra sprawdza też przy zakończeniu levelu czy dla innych parametrów nasz program także zadziała prawidłowo.
OCENA: POZYTYWNA = 6/10
Grafika jest dosyć minimalistyczna aczkolwiek czytelna, muzyka zaś jest nieco smętna i staje się nieco
monotonna przy dłuższej rozgrywce. Ale sam pomysł gry jest na plus, warty jest uwagi a gra jest tania, kosztuje niespełna 20 PLN.
Jeśli chcesz możesz kupić ją swojemu dziecku niech nieco pomyśli ponieważ jest to też taka nauka pisania skryptów i algorytmów, uczy logicznego myślenia aczkolwiek zadania są też czasami dosyć trudne więc nie wiem czy sam będzie sobie w stanie poradzić… i zapewne skończy się na rozwiązywaniu ich wspólnie z nim więc to też może być w jakiś sposób budujące.
Najważniejsze jest to, że do rozwiązania nie prowadzi jedna ścieżka i to od ciebie zależy jak twój program będzie wyglądał. Ważne jest by on działał i zrealizował postawione przed nami założenia misji.
Jesteśmy też dodatkowo punktowani za to by nasz program działał jak najbardziej optymalnie i zadziałał jak najszybciej i wykonał zadanie w jak najmniejszej ilości ruchów czy też cały kod nie przekraczał pewnej ilości linii.
Jeśli utkniesz na jakimś zadaniu to możesz skorzystać z porad czy to w postaci rozwiązać zadań znalezionych na YouTube czy też dołączyć do kanału Discord gry i tam poszukać rozwiązania. Ja sam zaciąłem się w kilku miejscach i to było widać na streamie z gry. Ale finalnie jakoś sobie poradziłem po kilku próbach i analizach zachowania się bohatera.
Tak więc polecam. Gra to interesująca pozycja z którą warto się zapoznać samemu.
+++ PLUSY +++
- Ciekawy pomysł.
- Gra ucząca rozwiązywania algorytmów i tworzenia skryptów – wstęp do programowania.
— MINUSY —
- Niekiedy trudno jest zrozumieć postawione przed nami zadanie.
- Działanie niektórych z komend trzeba zrozumieć.
Screeny: