Chcę pobrać kod źródłowy gry Open Source, aby móc zapoznać się z architekturą gry. Czy ktoś wie o grze z kodem źródłowym, który jest czytelny i łatwo zrozumiały?
Edycja: Po zastanowieniu chciałbym stworzyć grę, w którą można grać na komputerze stacjonarnym lub telefonie Andriod z grafiką 2D.
architecture
open-source
source-code
jumpnett
źródło
źródło
Odpowiedzi:
Nie jestem pewien, o którą grę prosisz, ale istnieje gra typu open source o nazwie OpenTTD napisana w c ++. Myślę, że możesz użyć go jako dobrej próbki.
niektóre cechy, które czynią tę grę wyjątkową:
--Edytować--
Właśnie dzisiaj zacząłem czytać ich kod od samego początku. Aby zrozumieć, co napisali, musisz być porządnym programistą C i C ++ (chociaż ich kod jest dobrze skomentowany)! Mam na myśli, że musisz być mistrzem obu języków, ponieważ używają struktur z obu! więc jeśli nie jesteś wystarczająco pewny swoich umiejętności programistycznych, nie zbliżaj się nawet do tego kodu! to najbrudniejszy kod, jaki kiedykolwiek widziałem! (i sam jestem brudnym programistą, ale to coś innego!)
Myślę, że teraz mogę zasugerować sprawdzenie kodu supertuxu . jest to gra platformowa (podobnie jak Super Mario) i do tej pory ich kod wydaje się bardzo czysty (sprawdziłem kamień milowy 1.3). mają w tym kodzie kilka komentarzy, ale tylko w miejscach, w których możesz się pomylić.
źródło
Myślę, że dobrym pomysłem jest wybranie gry, która ci się podoba i sprawdzenie takich gier typu open source. Klony gry open source lista mogłaby pomóc w ostatnim etapie, dużo.
źródło
Są takie ostrzeżenia jak Quake 3 lub jeśli chcesz czegoś nieco prostszego (i 2D), spójrz na niezależną grę Gish . Oba używają OpenGL i są również wieloplatformowe.
Gish jest jednak trochę zaniedbany.
źródło
Polecam najpierw skupić się na tym, jaki rodzaj architektury gry chcesz poznać - potok 3D, fizyka, sztuczna inteligencja itp.
Z ogólną prośbą o dobry przykład programowania gier, myślę, że najeźdźcy kosmiczni gl są trudni do pokonania, ponieważ mają czysty kod oraz otwartą grę i interfejs gl, utrzymując przy tym dość prostą rzecz.
Twoje zdrowie
źródło
Chociaż czytanie kodu może być przydatne, jeśli jesteś początkującym w domenie, niczego się nie nauczysz. Zwłaszcza jeśli spojrzysz na kod dużych projektów, takich jak Q3A lub OpenTTD. Zostały one wykonane przez cały zespół, przy czym każda osoba ma inne praktyki kodowania, różne pomysły na to, jak to zrobić. Dostaniesz tylko duży obraz, a nie drobne szczegóły, które sprawiają, że wszystko się łączy.
Rozwijaj się, nie udawaj, spróbuj ponownie, aż znajdziesz coś, co wydaje się być dobre, ponawiaj porażkę, płucz i powtarzaj, aż uzyskasz coś dobrego. Różni programiści oznaczają różne pomysły na implementację rzeczy. Tylko dlatego, że został zakodowany przez Carmacka / Znanego programistę, który stworzył dobrą grę, nie oznacza, że jest to najlepsza rzecz od czasu krojonego chleba, a inna implementacja może być wyraźniejsza i szybsza.
źródło
Myślę, że jedną z najważniejszych rzeczy, które możesz zrobić, jest wybór gry, w którą lubisz grać. Pomoże ci to zainteresować i sprawi, że zapoznasz się z tym, jak sam kod przekłada się na perspektywę graczy.
Po wybraniu tej gry, niezależnie od jej wielkości, nie musisz próbować wymyślić, jak działa każda linia kodu. Wybierz kawałek i spójrz na to. Na przykład spróbuj dowiedzieć się, jak przechowywane są dane odtwarzacza lub jak rysowany jest element menu itp.
Następną rzeczą, którą możesz zrobić, podobnie jak mój poprzedni bit, jest próba zmiany czegoś. Nie jest to coś wielkiego (na początku), tylko coś prostego i zauważalnego w grze. Nawet coś tak prostego, jak tekst na przycisku w menu lub dodanie pozycji menu lub zmiana obliczeń obrażeń. Może uważasz, że powinni byli zrobić coś inaczej, spróbuj to zmienić samemu.
Kiedy po raz pierwszy zainteresowałem się tworzeniem gier, naprawdę interesowałem się grami RPG 2D. Znalazłem więc źródło jednego z nich online i zacząłem na nim budować. Dodawanie własnych funkcji i poprawianie, naprawianie błędów itp. To było w VB6 kilka lat temu, a teraz używam C # i XNA i piszę własną grę od podstaw. Ponieważ podobały mi się gry, motywowało mnie to do pracy nad tym, aby było lepiej. Nawiasem mówiąc, w ten sposób nauczyłem się wielu technik programowania, debugowania i rozwiązywania problemów, których używam dzisiaj w mojej pracy niezwiązanej z grą.
Jest to również bardzo pomocne, jeśli gra ma społeczność modderów, z której można zadawać pytania oraz uzyskać pomoc i przykłady. Ale z drugiej strony, nawet jeśli to nie istnieje, jesteś już tutaj i jesteśmy gotowi pomóc.
źródło
Wyróżniającą się platformową platformą Android 2D typu open source jest Wyspa Replik .
Źródło znajduje się na Google Code i rozwój został kronikę w autorskiej dev bloga .
Oto lista 15 gier typu open source na Androida, które również mogą być przydatne.
źródło
Spójrz na półcienie . Wygląda na świetne miejsce do nauki.
źródło
Przewijanie Gra Development Kit 2 pozwala rzeczywiście stworzyć 2D gry i odtwarzać je za pomocą graficznego interfejsu użytkownika bez konieczności pisania kodu. Ale pozwala także zobaczyć i edytować kod osadzony w projekcie, który reprezentuje platformę / silnik gry. Większość kodu jest ujawniana za pomocą GUI, chociaż niewielka jego część generowana jest na podstawie tego, gdzie umieszczasz duszki i jakie mapy tworzysz. Jednak nawet ten kod jest widoczny, jeśli wygenerujesz projekt, a następnie otworzysz pliki wynikowe w Visual C # Express. Cały program (IDE) również jest open source. Jest zbudowany na bibliotece OpenTK (której używa do współpracy z OpenGL od C #), która jest również open source.
źródło