Rust Action RPG Tutorial jest portem świetnego tutoriala stworzonego przez HeartBeast, gdzie pokazuje jak stworzyć prostą grę rpg przy użyciu silnika Godot.
![]()
Założenia
Niedługo przed rozpoczęciem prac nad tym projektem zainteresowałem się językiem 🦀 Rust 🦀, który mnie oczarował od samego początku. Po przerobieniu podstaw stwierdziłem że trzeba się wziąć za cos większego - zawsze mi lepiej nauka programowania wychodziła na większych projektach, gdzie musiałem sam znaleźć rozwiązanie problemu(chociażby podstawowego) niż przerabianie książek czy innych źródeł gdzie autor tłumaczy koncepcje języka lub jego składnie. W tym samym czasie jakoś przypadkiem trafiłem na parę filmików dotyczących silnika Godot na kanale Gamefromscratch i postanowiłem połączyć naukę dwóch rzeczy jednocześnie.
Rezultat
Bazując na świetnym tutorialu odtworzyłem cały kod w Rust przy wykorzystaniu biblioteki gdnative w trakcie pracy okazało się że w bibliotece brakuje 2 metod dla Vector2 więc je wysłałem na upstream:
- Vector2 move_towards po kilku poprawkach zostało dodane 😁
- Vector2 normalized zostało zamknięte, pomysł nie przeszedł bo biblioteka, na której bazuje Vector2 posiada już funkcję normalizującą, jedyna różnica między moją wersją a wersją z biblioteki jest taka że moja w przypadku Vectora2 o parametrach 0.0 0.0 zwraca Vector2 o parametrach 0.0 0.0 (tak zachowuje się funkcja w silniku Godot) natomiast funkcja z biblioteki w przypadku Vectora2 o takich parametrach zwraca do silnika wartość: NaN NaN - wewnętrznie następuje dzielenie przez 0. Autorzy biblioteki stwierdzili że developer powinien sam decydować co w takim przypadku zrobić.
Podsumowanie
Świetnie się bawiłem przy tym projekcie, wiele się nauczyłem i kto wie może w przyszłości zrobię jeszcze jakąś prostą grę 🙂
Repozytorium kodu
Repozytorium projektu znajduje sie na moim GitHubie.