Rust Action RPG Tutorial jest portem świetnego tutoriala stworzonego przez HeartBeast, gdzie pokazuje jak stworzyć prostą grę rpg przy użyciu silnika Godot.

logo

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.