All you need (for game development) is LÖVE – DSP#11

W ramach ostatnich zajęć z tworzenia stron www które prowadzę z dzieciakami jako WowSchool, postanowiłem odejść trochę od standardowego planu zadań i pokazać im trochę programowania gier. A skłonił mnie do tego ten wpis, za który serdecznie dziękuję Oli Banasiak, z którym też szczerze polecam się zapoznać, żeby dowiedzieć się nieco więcej na temat samego silnika, jakim jest LÖVE. A ja dzisiaj skupię na czymś nieco innym, mianowicie pokażę jaki kodzik udało się wygenerować z dzieciakami w ciągu godziny, a także kilka obserwacji na temat programowania.

Pierwsza ważna informacja, w LÖVE piszemy korzystając z Lua. Nigdy wcześniej nie zetknąłem się z tym językiem programowania, nawet z nazwy, tym bardziej byłem ciekawy co to takiego. I cóż, w temacie tego co było mi potrzebne, poczułem się jak w domu. Tzn, jeśli zupełnie nie zmieniamy paradygmatu, to wszystkie języki (które znam) oferują coś takiego jak funkcje, czy tam metody. Instrukcje warunkowe, oraz pętle. I we wszystkich z którymi się zetknąłem zostało to zrealizowane ifami, forami, etc.. Różnice dotyczą najczęściej klamerek, średników i tego typu historii. Oraz głębiej na pewno różnic jest o wiele więcej, ale chodzi mi o to, że pisanie podstawowych komend nie różni się tak bardzo. Zresztą, spójrzcie na kodzik poniżej:

Czytając ją, nawet widząc ten język po raz pierwszy, wszystko wydaje się jasne, prawda?

A tak działa kodzik znajdujący się powyżej:

Podsumowując, chciałem bardzo polecić takie wycieczki krajoznawcze po za własny zakres zainteresowań. To działa naprawdę odświeżającą, nowy język, nowe problemy, a do tego jakaś mała, szybko dająca efekty biblioteczka i czysta zabawa. Wiedzieliście np, że Lua umożliwia zwracanie większej liczby wartości, niż tylko jedna? Ciekawe, jak by wpłynęło to na programowanie, gdyby takie możliwości były dostępne w językach takich jak java, czy C#.

  • Z doświadczenia mogę powiedzieć, że zwracanie wielu wartości rzadko przydatne. Do tego gdy się zwraca za dużo różnych rzeczy z jednej funkcji to się robi chaos, wtedy lepiej ubrać to w jakąś strukturę.