Powracam do tematu dotyczącego moich prac nad szablonem do gier wydawanych dzięki HaxeFlixel. Jeszcze mi się nie udało go skończyć jednak skonstruowałem już cały szkielet szablonu, czyli wszystkie klasy i metody. Musiałem trochę nad tym pogłówkować, natomiast jestem bliżej niż dalej. Przedstawiam szczegóły oraz kiedy mniej więcej możecie się spodziewać najbliższych publikacji.

SZABLON HAXEFLIXEL CZEKA JEDYNIE OPTYMALIZACJA

Szablon sam w sobie jest już w pełni gotowy. Nie było łatwe przeniesienie go z poprzedniego programu, gdyż PICO-8 charakteryzował się staromodnym programowaniem gry w postaci niekończącej się pętli oraz kilku metod odpowiedzialnych za rysowanie i aktualizowanie. HaxeFlixel ma zupełnie inne podejście bowiem tutaj całą grę składa się z osobnych klas pełniących rolę nowej odrębnej sceny. Ponieważ przypomina mi Phasera, wiedziałem już jak to obsługiwać i jakoś sobie poradziłem. Trzeba było jedynie zapoznać się z nowymi nazwami metod i ewentualnymi różnicami w działaniu. Nie ukrywam, że wolę pisać w sposób tradycyjny poprzez pętlę while i wywoływanie pojedynczych metod, ale nie chcę odrzucać takiego dobrego narzędzia tylko z tego powodu. Póki co, framework zrobił na mnie naprawdę duże wrażenie, został porządnie opracowany. Ja sam musiałem pododawać mnóstwo swoich metod jak również zmodyfikować system zapisu i odczytu gry. To nie było łatwe, natomiast sama w sobie konstrukcja już działa. Teraz pozostaje jedynie optymalizacja i HaxeFlixel z pewnością stanie się użyteczny.

PRZEWIDYWANA DATA PIERWSZEGO PROJEKTU HAXEFLIXEL

Do tej pory nie wiem jak sprawy się potoczą. Dwoję się i troję, żeby zmieścić się w lutym, skończyć ten szablon i zacząć robić Surrounded już w HaxeFlixel od początku marca. Obawiam się jednak, że mogę trochę "najechać" na marzec i dopiero po kilku dniach więcej będę w stanie wreszcie przejść do rzeczy. Posiadam cały kod źródłowy jeszcze z programu TIC-80 (tutaj wyjaśniam o co chodzi) więc z pewnością skróci to prace nad przygotowaniem struktury pod HaxeFlixel w postaci osobnych scen. Nie uśmiecha mi się ręczne konwertowanie Lua na Haxe, ale co robić? Szablon to dopiero połowa sukcesu, druga połowa to stworzyć ten sam projekt i wreszcie go wydać. Od wydania Turn Chase minęło już sporo czasu, wiem to, natomiast wolę przy tym posiedzieć miesiąc dłużej i zrobić to porządnie. Biorąc pod uwagę ogrom pozostałych rzeczy do zrobienia to myślę, że dopiero w połowie kwietnia będę w stanie wypuścić zapowiedź filmową.

Surrounded w HaxeFlixel

Surrounded prawdopodobnie zostanie wydany w połowie kwietnia jako pierwszy tegoroczny projekt.

JEST COŚ POZA HAXEFLIXEL?

I tak, i nie. Kolejny utwór jest w przygotowaniach i może w marcu uda mi się go wydać. Zostały drobne poprawki jednak na nagranie muszę znaleźć czas, a ponieważ muszę teraz częściej się ruszać z domu, przekładam to na marzec. Program zacznę pisać dopiero po uporządkowaniu spraw związanych z HaxeFlixel więc to przez dłuższy czas jeszcze postoi w miejscu.


To wszystko. Miałem nadzieję, że przez ten czas gdy wydawałem artykuły dla osób rozpoczynających tworzenie gier, uwinę się z całym szablonem, abym już zaczął projektować grę. Jest jak jest, a ja się teraz z Wami żegnam i wracam do pracy do HaxeFlixel!

To już będzie ostatni artykuł z serii przedstawiania swoich porad i poglądów na temat tworzenia gier w określonym języku oraz jakie są wady i zalety. Na końcówkę zostawiłem omówienie opcji dla tych, którzy chcą kompletnie uniknąć programowania i móc stworzyć coś w oparciu o samo klikanie. W dzisiejszych czasach, tworzenie gier bez programowania JEST możliwe! Jeśli bardziej odpowiada Wam pisanie gier przy użyciu języka C#, klikajcie tutaj.

TWORZENIE GIER BEZ PROGRAMOWANIA. INFORMACJE OGÓLNE

Pierwsze edytory gier zdolne do tworzenia gier bez pisania ani jednej linijki kodu zaczęły powstawać w latach .90 i szybko stały się źródłem zainteresowania wśród ludzi niepotrafiących programować. Jednym z pierwszych oprogramowań jest The Games Factory produkcji firmy Clickteam, która w chwili obecnej posiada na swoim koncie kilka programów tego typu tylko unowocześnionych i jeszcze bardziej zaawansowanych. Obecnie jest mnóstwo narzędzi wyręczających człowieka od czarnej roboty i ręcznego pisania tysięcy linijek kodu "ubierając" skomplikowane wyrażenia w eleganckie zdania w stylu "usuń obiekt X jeśli dojdzie do kolizji z obiektem Y". Uważam tę opcję za najbardziej opłacalną dla każdego osobnika chcącego tworzyć gry, a który nie chce jeszcze uczyć się określonego języka co nie znaczy, że może od tego uciekać przez całe życie. Wierzcie mi, że programowanie prędzej czy później jest nieuniknione.

Tworzenie gier bez programowania

Tworzenie gier bez programowania stało się możliwe w połowie lat dziewięćdziesiątych. Jednym z pierwszych oprogramowań tego typu jest The Games Factory wydany w 1996 roku.

TWORZENIE GIER W BEZ PROGRAMOWANIA. LISTA PROGRAMÓW

Czy to Steam, czy itch.io, gdzie się nie obejrzycie znajdziecie sporą ilość programów. Tym razem darmowe i płatne tytuły pozwalające na tworzenie gier bez programowania.

DARMOWE

PŁATNE

TWORZENIE GIER W BEZ PROGRAMOWANIA. GARŚĆ PORAD

Następne kilka wskazówek ze swojej strony jak miałem okazję bawić się takimi programami. To, że istnieje tworzenie gier bez programowania to wcale nie znaczy, że taki program to "anioł święty". Kilka rzeczy musicie mieć na względzie.

  • Mnóstwo programów tego typu oferuje możliwość wyeksportowania naszej gry na kilka platform jednocześnie, zatem o ile program ten został zbudowany na nasz system operacyjny, nie musimy się przejmować przenoszeniem projektu.
  • Dobrze jest wybrać taki program, który poza wizualnym edytorem zdarzeń oferuje też ręczne pisanie kodu, ponieważ gdy będzie brakować czegoś, czego twórcy nie uwzględnili, możemy sami to dodać do aplikacji za pomocą języka programowania. Choćby z tego względu warto już wtedy uczyć się kodowania.
  • Niektóre z programów mogą być zaopatrzone w swój unikatowy język programowania, który przeważnie jest połączeniem składni kilku języków. To może powodować ten dylemat, że trzeba się będzie uczyć języka który, wraz z opuszczeniem tego programu, przestanie być już użyteczny.

Powtarzam. Jeśli ktoś z Was chce już teraz tworzyć gry, to niech wybierze takie narzędzie, które go najbardziej wyręczy od brudnej roboty takiej jak delta time, renderowanie grafiki czy eksport do różnych platform. Uwierzcie mi, to już tak poszło w górę, że wystarczy praktycznie wybranie innej platformy z listy oraz kliknięcie przycisku i wtedy wszystko robi się samo. Tworzenie gier bez programowania jest jak najbardziej pożyteczną opcją, skupiacie się na konkretach. To już koniec tej serii artykułów. Wykonałem ją specjalnie w taki sposób, aby trochę sobie kupić czasu i znacznie później wrócić do mojej aktywności i przedstawić wreszcie jakieś efekty finalne. Jutro Wam to szerzej wytłumaczę.

Wczoraj napisałem o tworzeniu gier w C++, następny w kolejce jest C#. Tworzenie gier w C# budzi powszechne zainteresowanie z powodu silnika Unity, który najmocniej wspiera właśnie język wytworu Microsoftu. Przed Wami, opinia na temat C#.

TWORZENIE GIER W C#. INFORMACJE OGÓLNE

C# w przeciwieństwie do języka C i C++ jest dużo "młodszym" językiem powstałym w 2000 roku przez Microsoft. Bardzo ważna informacja jest taka, że zdecydowaną większość składni pobiera z języka Java (on też został omówiony wcześniej) oraz jak łatwo się domyślić, również "kręci się" dookoła paradygmatu obiektowego. Zatem, jeśli znamy dobrze język Java, to automatycznie poznajemy znaczną większość "C Sharpa". Język ten również jest mocno wspierany przez wiele programów i framework'ów. Bez większych problemów znajdziemy narzędzie przeznaczone na tworzenie gier w C#.

Język C#

C# jest bardzo dobrym "javapodobnym" językiem obiektowym wspieranym przez masę oprogramowań pozwalających na tworzenie gier.

TWORZENIE GIER W C#. LISTA PROGRAMÓW

C# również posiada własne pole do popisu jeśli chodzi o listę programów w których można pisać kod w omawianym języku. Nie chodzi o ilość, tylko jakość oprogramowań w tym między innymi Unity, jedno z najpopularniejszych narzędzi przeznaczonych do tworzenia zaawansowanych gier. Nie dopatrzyłem się żadnych płatnych tytułów. Oto kilka najbardziej znanych:

DARMOWE

TWORZENIE GIER W C#. GARŚĆ PORAD

Zanim zakończę omawianie C#, zerknijcie raz kolejny na porady które przedstawiłem poniżej.

  • Jak wspomniałem wyżej, C# bardzo dużo "czerpie" składni z Javy, zatem umiejętne posługiwanie się Javą znacznie przyspiesza opanowanie języka C#. Nie oznacza to wcale, że nie posiada własnych różnic.
  • C# wyróżnia się od innych języków tzw. właściwościami, możecie się jeszcze spotkać z nazwami "getter" i "setter". Pozwalają one na wygodną enkapsulację określonych danych bez konieczności definiowania metod dla jedynego "wydobycia" danej ("get") oraz ustawienia nowej wartości ("set").
  • Formalnie aby móc kompilować programy napisane w języku C#, wymagany jest system Windows mogący obsługiwać technologię .NET, natomiast programy w których można pisać w C# zwykle są niezależne od tej reguły. Wsparcie innych systemów operacyjnych jest już wtedy zależna od producenta oprogramowania.

Powodzenia przy pisaniu gier w C#, jest to naprawdę porządny język! To był już ostatni o którym planowałem napisać artykuł, natomiast na deser zostawiłem jeszcze opisanie tworzenia gier przy pomocy skryptowania wizualnego. Na czym to polega? Przekonacie się już jutro!

Środek tygodnia zostanie odznaczony artykułem jak zacząć tworzenie gier w C++. Wczoraj opisywałem sam język C, kliknijcie tutaj jeśli C++ Was nie interesuje i wolicie się zająć programowaniem strukturalnym.

TWORZENIE GIER W C++. INFORMACJE OGÓLNE

Język C++ stworzony przez Bjarne Stroustrupa w we wczesnych latach .80 jest powszechnie znany jako "język C poszerzony o klasy", choć na tym się nie kończą zmiany. Dodanie paradygmatu obiektowego spowodowało znacznie większe zainteresowanie językiem i do dnia dzisiejszego jest on doskonałym kandydatem do pisania dowolnych aplikacji i programów. Prawdziwy "kombajn" optymalnego i sprawnego funkcjonowania mogący wycisnąć z procesora wszystkie soki. Warto zaznaczyć taki fakt, że wszystkie narzędzia przeznaczone do języka C jak najbardziej mogą być wykorzystywane i w C++. Mimo tego, że posiadają kilka różnic, są ze sobą bardzo spokrewnieni a sam język C++ jest nadal wspierany, rozwijany i rozbudowywany co czyni go perfekcyjnym językiem na tworzenie gier.

Język C++

C++ przyszedłszy na świat w latach .80 "wzbogacony" o dodatkowy paradygmat obiektowy łączy optymalne działanie aplikacji z wygodnym pisaniem kodu.

TWORZENIE GIER W C++. LISTA PROGRAMÓW

Jak napisałem w poprzednim akapicie wszystko to, co dotyczy języka C, pozwala na tworzenie gier w C++. Pozwoliłem sobie jeszcze raz podać wszystkie tytuły dotyczące języka C oraz wprowadzić nowe, które dotyczą bezpośrednio języka C++.

DARMOWE

TWORZENIE GIER W C++. GARŚĆ PORAD

Jeśli wiemy już na pewno, że chcemy rozpocząć tworzenie gier w C++, zerknijcie na kilka uwag na ten temat. Pozwoliłem sobie skopiować te same porady, które znajdziecie w artykule poświęconym językowi C gdyż jak wspomniałem wcześniej, są to języki bardzo spokrewnione działające w ten sam sposób.

  • Język C++ (jak również C) nie jest przeznaczony dla amatorów. Aby umiejętnie się nim posługiwać, wymagana jest znajomość manualnego zarządzania pamięcią. Każda biblioteka / framework korzysta ze wskaźników w większym lub mniejszym zakresie.
  • Kompilator nie uchroni przed wszystkimi błędami w kodzie. Program może zostać uruchomiony, ale może posiadać błędy podczas funkcjonowania programu najczęściej związane z niepoprawnym alokowaniem pamięci. Mało tego, język C nie posiada zdolności "identyfikowania" długości tablicy czy listy. Musimy o to zadbać samodzielnie również w C++.
  • Każda biblioteka jest zdolna do wieloplatformowego eksportu, natomiast konieczne jest zaopatrzenie się w odpowiednie narzędzia. Android na przykład będzie potrzebował pakietu Android NDK, a kompilacja do HTML'a będzie dostępna tylko poprzez kompilację Emscripten. Należy zajrzeć do dokumentacji wykorzystywanej biblioteki i kierować się podawanymi wskazówkami co trzeba doinstalować i wykonać. Dotyczy to również języka C.
  • Wybór architektury systemowej (32 lub 64 bity) w języku C++ MA znaczenie! Nie tylko powoduje to dylemat niekompatybilności dla systemów z powodu niewłaściwej architektury, ale także może zmienić zakresy niektórych typów danych, przez co na jednej wersji będzie chodzić perfekcyjnie, a na drugiej może dojść do przekroczenia zakresu liczb całkowitych.

Oto koniec debat na temat języka C++. Zrobicie jak chcecie jednak stanowczo odradzam początkującym pisania od razu w C++! Jest masa dużo łatwiejszych języków, a na początku każdej drogi chodzi przede wszystkim o doświadczenie. Następnego dnia rzucamy okiem na wytwór Microsoftu jakim jest C#.

Poddajemy analizie następny język. Wczoraj opisywałem tworzenie gier w Pythonie, a teraz stwierdzam jak wygląda tworzenie gier w C! Czystym C, nie C++.

TWORZENIE GIER W C. INFORMACJE OGÓLNE

Język C powstały we wczesnych latach .70 przez Briana Kernighana i Dennisa Ritchiego do dziś jest wykorzystywany w aplikacjach, analizach i jak najbardziej, w grach. Takie hity jak Quake (1996) czy Return to Castle Wolfenstein (2001) korzystały przynajmniej częściowo z języka C. Łatwa przenośność kodu, dostęp do niskopoziomowych operacji, najszersze wsparcie ze strony społeczności. Czego chcieć więcej? Co prawda, częściej wybierany jest C++ do pisania programów i gier jak również dużo częściej spotykany w oprogramowaniach przeznaczonych do tworzenia gier, natomiast tworzenie gier w języku C również jest pomysłem doskonałym. Jeżeli stawiamy na pierwszym miejscu kompilację na wiele platform oraz szybkość działania, patrzymy w tej chwili na język idealny do takich zadań.

Język C

Język C powstały w latach .70 jest niezastąpionym kandydatem do tworzenia zarówno prostych, jak i bardzo zaawansowanych gier.

TWORZENIE GIER W C. LISTA PROGRAMÓW

Sam język C oferujący jedynie programowanie strukturalne nie posiada tak wiele programów czy framework'ów jak jego "bliźniak" z dwoma plusami na końcu, aczkolwiek obecnie można znaleźć trochę narzędzi, które wspierają ten język. Trzeba sobie uzmysłowić, że na tworzenie gier w C znajdziemy więcej bibliotek niż "pełnych" programów.

DARMOWE

TWORZENIE GIER W C. GARŚĆ PORAD

Jeśli decydujemy się na tworzenie gier w C, to znowu mam kilka porad na początek.

  • Język C (jak również C++) nie jest przeznaczony dla amatorów. Aby umiejętnie się nim posługiwać, wymagana jest znajomość manualnego zarządzania pamięcią. Każda biblioteka / framework korzysta ze wskaźników w większym lub mniejszym zakresie.
  • Kompilator nie uchroni przed wszystkimi błędami w kodzie. Program może zostać uruchomiony, ale może posiadać błędy podczas funkcjonowania programu najczęściej związane z niepoprawnym alokowaniem pamięci. Mało tego, język C nie posiada zdolności "identyfikowania" długości tablicy czy listy. Musimy o to zadbać samodzielnie.
  • Każda biblioteka jest zdolna do wieloplatformowego eksportu, natomiast konieczne jest zaopatrzenie się w odpowiednie narzędzia. Android na przykład będzie potrzebował pakietu Android NDK, a kompilacja do HTML'a będzie dostępna tylko poprzez kompilację Emscripten. Należy zajrzeć do dokumentacji wykorzystywanej biblioteki i kierować się podawanymi wskazówkami co trzeba doinstalować i wykonać.
  • Wybór architektury systemowej (32 lub 64 bity) w tym języku MA znaczenie! Nie tylko powoduje to dylemat niekompatybilności dla systemów z powodu niewłaściwej architektury, ale także może zmienić zakresy niektórych typów danych, przez co na jednej wersji będzie chodzić perfekcyjnie, a na drugiej może dojść do przekroczenia zakresu liczb całkowitych.

Tak się sprawy mają. Narzędzi za dużo nie ma, natomiast tworzenie gier w C jest rewelacyjnym pomysłem do pisania gier wszelakiego rodzaju. Już jutro, kolejny powszechnie znany język rozbudowany o paradygmat obiektowy, C++!

Przyszedł kolejny dzień i z samego ranka zabrałem się za artykuł o tym, jak zacząć tworzenie gier w Pythonie, zgodnie ze wczorajszą zapowiedzią. Klikając tutaj, można zobaczyć co sądzę o języku Java.

TWORZENIE GIER W PYTHONIE. INFORMACJE OGÓLNE

Język Python jako taki jest językiem interpretowanym wyróżniającym się inną składnią podobną do języka Lua, natomiast posiada konieczność tworzenia wcięć w celu utworzenia bloku funkcji czy pętli zamiast klamerek. Jest doskonały do obsługi baz danych czy rozwiązywaniu problemów dotyczących sztucznej inteligencji, natomiast w temacie tworzenia gier daleko mu do stanu powszechnej używalności. Nie ma za dużego wsparcia ze strony narzędzi przeznaczonych do produkcji gier nie tylko ze względu na wysoką abstrakcję języka powodującą obniżenie wydajności ale również dlatego, że Python nie potrafi zapewnić szerokiej niezależności platformowej. Do uruchomienia programu potrzebny jest Python. Każdy inny, kto będzie chciał zagrać w grę stworzoną w Pythonie, musi mieć Pythona. Tylko nieliczne narzędzia są w stanie chociaż częściowo zapewnić użytkownikowi wieloplatformowość. Warto jednak mieć na uwadze, że dotyczyć to głównie będzie systemu Windows, Mac i Linux. I to wszystko.

Tworzenie gier w Pythonie

Język Python prezentuje się bardzo dobrze jako język łatwy, lekki i przyjemny, natomiast jako język do tworzenia gier pozostawia wiele do życzenia.

TWORZENIE GIER W PYTHONIE. LISTA PROGRAMÓW

Język Python nie posiada dużej palety narzędzi przeznaczonych do tworzenia w nim gier bo po prostu nie jest do tego przeznaczony. Mimo wszystko, posiada kilka darmowych pozycji i poniżej są one zaprezentowane:

DARMOWE

TWORZENIE GIER W PYTHONIE. GARŚĆ PORAD

Na koniec, tradycyjnie wrzucam kilka porad dotyczących wszystkich chcących zacząć tworzenie gier w Pythonie.

  • Python ze względu na "nadprzyjemną" składnię, nie może zapewnić wysokiej wydajności aplikacji, dlatego też jest sens tworzyć w nim gry tylko i wyłącznie proste i nieskomplikowane.
  • Python nie posiada żadnej możliwości eksportu gry na pożądaną platformę. W celu wygenerowania pliku wykonywalnego (w przypadku Windowsa) czy pliku kompatybilnego z konkretnym systemem i tym samym, usunięcia konieczności wymagania instalowania Pythona, trzeba skorzystać z osobnych narzędzi konwertujących.
  • Ze względu na "bycie" językiem interpretowanym, Python w przypadku błędu zgłosi go programiście dopiero podczas działania gry. Nie da się sprawdzić kodu przed jego uruchomieniem, tak jak ma to miejsce w językach kompilowanych.

Moim zdaniem, Python nie powinien być w ogóle brany pod uwagę jeśli chodzi o tworzenie gier. Jeżeli jednak wzbudzi zainteresowanie i chęć stworzenia w nim czegoś małego, na sam początek taka "zabaweczka" jak najbardziej wystarczy. Koniec wypowiedzi tłumaczącej tworzenie gier w Pythonie. Już jutro, kolejny język do analizy, język C!

53760
Dzisiaj / TodayDzisiaj / Today107
Wczoraj / YesterdayWczoraj / Yesterday104
Tydzień / WeekTydzień / Week809
Miesiąc / MonthMiesiąc / Month2699