Uważam, że aby zostać dobrym twórcą gier, musisz tworzyć gry.
Z perspektywy programisty , jakie są dobre gry dla początkujących, które zabrudzą Ci ręce? Jakie umiejętności i wyzwania uczy każda z tych gier?
Uważam, że aby zostać dobrym twórcą gier, musisz tworzyć gry.
Z perspektywy programisty , jakie są dobre gry dla początkujących, które zabrudzą Ci ręce? Jakie umiejętności i wyzwania uczy każda z tych gier?
Breakout
Łatwa gra, ponieważ nie musisz się zbytnio przejmować (jest to tablica wartości klocków - jeśli masz tylko jeden kolor klocka, jest to tablica flag), nie ma żadnej sztucznej inteligencji i możesz zrobić odrobinę fizyki, aby piłka odbiła się poprawnie.
Pasjans
Zasady są nieco bardziej złożone niż Breakout, a interfejs do nich jest zupełnie inny. Zmusza do myślenia o różnych metodach wdrażania gry. tzn. to, co działa w jednej grze, niekoniecznie musi być użyte w innej.
Pac-Man
Ten jest fajny, ponieważ możesz popracować nad odrobiną sztucznej inteligencji. Poprowadzenie duchów za graczem (ale nie za dobrze - chcesz, żeby gracz miał szansę) może zostać szybko zaimplementowane, a będziesz mieć zabawną grę, którą możesz ulepszyć i pochwalić się znajomym i rodzinie (pozytywne opinie są zawsze dobrze, gdy zaczynasz).
Uważam, że jeśli szukasz inspiracji we wczesnych grach wideo, możesz znaleźć mnóstwo pomysłów, które można stosunkowo łatwo wdrożyć. Ponadto możesz uciec od super prostej grafiki i dźwięków, ponieważ i tak kopiujesz coś tak prostego. Pozwala to skupić się najpierw na podstawach - uruchamianiu pętli gry, wymyślaniu, jak przenieść piksele na ekran, odtwarzaniu dźwięku, utrzymywaniu wyniku, uzyskiwaniu wkładu gracza w grę.
Prawie naprawdę nie ma znaczenia, którą grę wybierzesz jako pierwszą - po prostu wybierz coś prostego, z którym możesz uzyskać szybkie wyniki, w ten sposób możesz przejść następnego dnia i zrobić kolejną. I kolejny. I jeszcze jedno - im więcej będziesz robił, tym bardziej będziesz się naciskał i ostatecznie będziesz tworzyć złożone gry, zanim się zorientujesz.
Zdecydowanie polecam początkującym programistom rozpoczęcie najprostszej gry, którą naprawdę chcą napisać . Jak wspomniał Matt Rix, ogromna część pisania gry kontra demo przebija tę cholerną rzecz do końca - kredyty, menu, testowanie gry, wysokie wyniki, pauza, testowanie gry, poziomy trudności, czyste przejścia stanu gry, gra testowanie itp. Te rzeczy zajmują co najmniej połowę czasu, który zamierzasz włożyć, i to po prostu nie jest zabawne. To nie jest Więc jeśli nie podoba ci się ta koncepcja i nie masz prawdziwej motywacji, poddasz się i przejdziesz dalej, zanim gra stanie się grą .
Jeśli chcesz napisać RPG, wymyśl najprostszą i najłatwiejszą do zarządzania koncepcję RPG, którą możesz wymyślić , co chcesz zrobić i to zrobić. To samo, jeśli chcesz zrobić strzelankę science fiction, platformówkę o tematyce horroru lub cokolwiek innego. Wybierz coś, co skończysz, które nadal będziesz chciał ukończyć po zakończeniu zabawy, ale wciąż czeka Cię dziesiątki godzin pracy, zanim naprawdę skończysz.
Najlepsza gra, w której „zarobisz skrzydła”? Ten, który ukończyłeś. Nie obchodzi mnie, ile napisałeś w połowie gotowych wersji demo PONG / Breakout / Galaga / Tetris, nie jesteś programistą dopóki nie wydasz faktycznie ukończonej gry.
Plus, nikt nie chce grać kolejną wersję tych 40-letnich gier, a przynajmniej niektóre z punktu zapisu gry jest dla ludzi, aby grać , prawda?
źródło
Jakiś czas temu opublikowałem tę drabinę w TIGsource. Zaczyna się od bardzo podstawowego do bardzo złożonego.
źródło
Najważniejsza zasada uczenia się programowania gier: nauka programowania jest trudna. Nauka projektowania gier jest trudna. Uczenie się, jak tworzyć dobrą grafikę lub dźwięk w grach jest trudne. Próba zrobienia wszystkich tych rzeczy jednocześnie jest przepisem na porażkę. Naucz się jednej rzeczy na raz.
Wniosek: zaprogramuj grę, w której projekt, sztuka i dźwięk są już gotowe. Twórz klony, a nie oryginalne gry.
Na moich zajęciach zawsze polecam rozpoczęcie tych gier, aby:
1) Tetris. Sztuka to kolorowe prostokąty, które nawet całkowity klutz może narysować w Microsoft Paint. Nie potrzebujesz dźwięku. Programowanie jest stosunkowo proste, ale wciąż wymaga kilku kluczowych rzeczy: zrozumienia różnicy między wewnętrznym stanem gry a tym, co jest wyświetlane na ekranie; umiejętność rysowania na ekranie, kropka (prawdopodobnie obejmująca duszki i blitowanie); możliwość akceptowania danych wejściowych użytkownika w czasie rzeczywistym, a nie tylko za pomocą getch () lub scanf (), gdzie trzeba na nie poczekać.
2) Breakout / Arkanoid. Sztuka wciąż jest kolorowymi prostokątami i nadal nie potrzebujesz dźwięku. Wykorzystuje wszystkie podstawowe koncepcje Tetris oraz podstawowe wykrywanie kolizji i fizykę 2D, ponieważ piłka musi się płynnie poruszać i odbijać.
3) Typ Gradius / R. Prawdopodobnie możesz znaleźć kilka darmowych zestawów kafelków, aby to zrobić. Tutaj tło się przewija, więc musisz dowiedzieć się nieco więcej o tym, jak działa pamięć graficzna, korzystając z technik takich jak przewracanie stron, podwójne buforowanie i rysowanie elementów poza granicami widocznego ekranu. Masz również tendencję do odradzania się wroga i pocisków, więc musisz nauczyć się sprzątać po sobie (tj. Pozbyć się wrogów i pocisków, które opuszczają ekran, aby Twoja gra nie wyciekła z pamięci jak sito).
4) Super Mario Bros. Podobnie jak w poprzednim projekcie przewijania, z tym że przewijanie jest teraz pod kontrolą gracza i nie jest automatyczne. Musisz również poradzić sobie z grawitacją i wszystkimi zabawnymi rzeczami związanymi z kolizją (np. Nie spadanie z podłogi tylko dlatego, że w ostatniej klatce byłeś kilka pikseli powyżej i chcesz przejść do kilku pikseli poniżej w następnej klatce ). Zauważ też, że grawitacja jest warunkowa: wpływa na gracza i niektórych wrogów, ale zazwyczaj nie na platformy lub pływające monety lub cokolwiek, co jest nieco inne niż w prawdziwym świecie.
Jeśli potrafisz zrobić wszystkie cztery z nich, powinieneś być w stanie zrobić praktycznie dowolną grę 2D, jaką chcesz; wszystkie narzędzia są tam. Jeśli chcesz stworzyć grę 3D ... najpierw naucz się 2D, ponieważ jest to o wiele łatwiejsze i nie musisz rozumieć matematyki jako dogłębnej i musisz zrozumieć rzeczy 2D ... a potem, kiedy będziesz wygodnie, zacznij pracować z kilkoma podstawowymi narzędziami 3D (bibliotekami takimi jak Torque lub Unity lub grami typu open source, takimi jak oryginalny Doom i Quake).
Powodzenia!
źródło
To jest naprawdę dobre pytanie. Nie wiem, gdzie jesteś, więc zamierzam rzucić się w niebo i zakładam, że nigdy nie napisałeś linii kodu w swoim życiu. Odetnij każdą część nosa, która cię obraża, aby nadużyć frazy.
Myślę, że faktycznie odpowiem na nieco inne pytanie niż to, które zadałeś, i podam przykłady, aby zaspokoić pytanie, które zadałeś na miejscu. Powód, dla którego tak to robię, jest niewielki, ale uważam, że znaczna różnica jest z punktu widzenia: ważne są nie konkretne gry, ale sposób myślenia projektantów.
Wiesz, jak ludzie mówią o tym, że powinieneś uczyć się różnych języków programowania, aby jeść ich nastawienie, ich serca i wątrobę, a tym samym zdobyć ich potężną moc? Jest w tym prawdziwa prawda - po twoim pierwszym czystym lub prawie czystym języku programowania, nawet w językach imperatywnych, skończysz pisać w dużej mierze bez efektów ubocznych, ponieważ są one o wiele lepiej zdefiniowane i wszystko, co piszesz nawet w językach innych niż ta forma będzie dla niego lepsza. Nie ma szczególnego znaczenia, jakim jest językiem - haskell, ml / ocaml / smlnj, formulaONEONE, c ++ szablony, cokolwiek - nadal będziesz uczyć się, jak wykonywać wiele klas pracy bez polegania na stanie efektu ubocznego. Gdy po raz pierwszy nauczysz się solidnego języka programowania zbliżonego do maszyny, „ zamierzam dowiedzieć się o abstrakcji typu rozmiaru. Gdy po raz pierwszy nauczysz się języka deklaratywnego lub ograniczającego, dowiesz się o ograniczaniu jako o uznanym narzędziu. Kiedy po raz pierwszy nauczysz się języka wyszukiwania powrotnego, nauczysz się modlić Ia! Ia! C'thulhu F'tagn Nagn !, a potem wracamy do jedzenia serc i wątrób, a krąg życia się wypełnia.
Projekt gry nie jest inny. Nie musisz uczyć się żadnej konkretnej gry, równolegle z konkretnym językiem, ale raczej nauczyć się jakiejś reprezentatywnej gry, która obsługuje ten sposób myślenia, jak rodziny charakterystyczne dla języka. Jest też dużo jedzenia wątróbek i serc. Zdobądź krakersy z pieprzem.
Gag tutaj (przynajmniej tak widzę) polega na tym, że chcesz omówić dużą listę tematów. To jak odznaczanie biegłości na karcie postaci - udostępniasz sobie więcej mechanizmów, dzięki którym poradzisz sobie w danej sytuacji. Tak, są na poziomie, ale posiadanie punktu lub dwóch w tak wielu rzeczach, jak to możliwe, oznacza, że gdy przychodzi czas na użycie jednego, nie zaczynasz od zera i wiesz, jakie taktyki są dostępne abyś mógł skalować się o.
Więc spójrz.
Najpierw chcesz obciąć zęby. Są one również przydatne, gdy uczysz się celować na nową platformę lub gdy wracasz do zdrowia po amnezji. Te mają być szybkie, a nie niesamowite.
W porządku:
Gdy już je zdejmiesz, możesz rozpocząć atak na platformę i nauka może się rozpocząć.
Nie są w określonej kolejności. Możesz je zmienić według własnego uznania. Z każdym podam garść przykładów, ale nie są one normatywne; jeśli inna gra daje ci to samo doświadczenie i jest wystarczająco mała, aby wziąć udział w serii lekcji, możesz ją zamienić. Ze względów praktycznych dobrze jest biegle renderować ekran i wprowadzać dane stosunkowo szybko; będziesz ich dużo używał. Poczekaj kilka gier, zanim spróbujesz napisać lekcje abstrakcji; Państwo nie chce być złapany w naiwnej abstrakcji.
... eh. Znudziłem się.
źródło
Tetris
Bardzo popularna gra, wiele klonów open source, które mogą się rozerwać, jeśli utkniesz. Uczy podstaw grafiki 2D, obsługi danych wejściowych, oceniania itp.
Następnie weź ten oryginalny pomysł i uruchom go. Nauczyłem się podstaw grafiki 3D / opengl, pisząc trójwymiarową wersję Tetris dla mojej klasy grafiki komputerowej na studiach.
źródło
GameDev.net ma dobry artykuł zalecający rozwój gier, aby stopniowo uczyć się o rozwoju gier. Moją ulubioną radą z tej listy jest dopracowanie tych gier. Całkowicie wykończony, do stanu umożliwiającego zwolnienie.
Lista jest następująca (niektóre z nich podano w innych odpowiedziach):
źródło
Lubię zaczynać wszystkich moich facetów od Monopoly. Zazwyczaj używam „kodu kata” Monopolu Bretta Schucherta jako podstawy ćwiczenia, ale dużo do niego dodam. Jest kilka powodów, dla których naprawdę lubię to robić.
Dbam o dobre praktyki kodowania (wzorce projektowe, TDD, SOLID, ciągła integracja itp.) I nakładam wiele ograniczeń na moich programistów, którzy wykonują to ćwiczenie.
Prawie wszyscy znają zasady Monopolu, a całą grę można ukończyć w ciągu jednego dnia. Daje to nowym programistom szybką wygraną i naprawdę zwiększa ich zaangażowanie.
Początkowe wymagania zaczynają się od kontrolek klawiatury, ale później dodam wymóg dotyczący kontrolek myszy. To powoduje, że programiści zastanawiają się nad kilkoma rzeczami, jak przefakturować istniejący kod, programować zmiany części systemu na interfejsy zamiast konkretnych klas, lepsze / właściwe abstrakcje, co testować jednostkowo, czego nie testować jednostkowo, DLACZEGO testować jednostkowo i co sprawia, że DOBRE testy jednostkowe.
Czasami podłączamy bardziej wyrafinowaną sztuczną inteligencję, czasem nie. Czasami pracujemy z innymi grami planszowymi o nieco bardziej złożonej logice, takimi jak rynny i drabiny lub coś w tym rodzaju. Czasami całkowicie odrywamy się od gier planszowych i gramy w pokera lub blackjacka.
Dla mnie bardzo ważna jest to, że ludzie szybko wygrywają i widzą, jak elastycznie możesz tworzyć oprogramowanie, przestrzegając dobrych standardów programowania. Ćwiczenia te bardzo szybko budują zaufanie. Czasami bardziej doświadczeni programiści lubią robić to samodzielnie, po to, aby odpocząć od bardziej skomplikowanych projektów lub ćwiczyć nową technikę, którą właśnie nauczyli (prawo demeter?).
źródło
Wybierz swoją przygodę
Dostałam tę wskazówkę od znajomego, który zaczął programować od stworzenia gry, podobnej do wyboru książki przygodowej . Jest to w zasadzie prosta tekstowa gra przygodowa o następujących wynikach:
Stworzenie takiej gry powinno nauczyć cię tworzenia gameloopa, podstawowego wprowadzania na konsolę i podstawowych skryptów. Jest to dość proste do wdrożenia i łatwe dla początkującego, ponieważ nie potrzebujesz silnika graficznego, aby napisać grę. Zaawansowani początkujący prawdopodobnie napisaliby silnik skryptowy.
źródło
Z mojego doświadczenia z początkującymi programistami postęp wydaje się przebiegać mniej więcej tak:
źródło
Breakout, Pong lub asteroidy.
Istnieje ogromna różnica między grą a prototypem gry . Jeśli poważnie myślisz o ukończeniu wymarzonej gry, powinieneś po drodze ukończyć gry na poziomie podstawowym. Stworzenie części rozgrywki to tylko połowa sukcesu. Wszystkie dodatkowe rzeczy, takie jak menu i wysokie wyniki, często są pomijane lub ignorowane, ale zajmują znacznie więcej czasu, niż ktokolwiek by się spodziewał.
źródło
W innych odpowiedziach jest kilka dobrych sugestii, ale chcę tylko wrzucić mój głos na: Zacznij od czegoś, co wydaje się zbyt mizerne, aby sobie z tym poradzić.
Pong jest dobrym przykładem.
Cel jest taki: sprawić, by projektowanie gry i zasady były tak szalone, że możesz skupić całą uwagę na uczeniu się nowej rzeczy, której się uczysz (języka, platformy, interfejsu API) i nie musisz stale rób przerwy, aby dowiedzieć się, jak działa gra.
Kiedy zaczniesz, przekonasz się, że pong jest nieco bardziej skomplikowany niż się wydaje na pierwszy rzut oka. (Uczę faceta programującego i używa ponga jako swojego projektu edukacyjnego. Dodaliśmy kilka funkcji, a teraz rozprasza go nauka programowania, ucząc się, jak robić te wszystkie fajne funkcje :)
Po ukończeniu aplikacji nr 1, dopóki nie będzie gotowa dawać / sprzedawać innym, NASTĘPNIE weź coś nieco bardziej skomplikowanego (Tetris, przygoda lub cokolwiek lubisz), ale aby rozpocząć naukę nowej technologii, wykonaj rzecz, którą programujesz, jest niesamowicie prosta.
Inne przykłady:
Ale znowu - zacznij od czegoś, co jest zbyt łatwe, abyś mógł faktycznie coś ukończyć, spojrzeć wstecz i zobaczyć, co się z tym wiąże. Różnica między pisaniem JEDNEJ aplikacji w języku / platformie / SDK / silniku a pisaniem aplikacji ZERO jest OGROMNA . Różnica między 1 i 2 lub 2 i 5, a tym bardziej, więc możesz robić większe kroki, ale spraw, aby krok od 0 do 1 był malutki; będzie większy niż myślisz!
źródło
Flappy Bird
podobna. Jako profesjonalny programista jest to popołudniowa praca (no cóż, weekend, aby uczynić ją „przyjemną”), ale ucząc innego programowania, dowiedzieliśmy się, że to naprawdę ma wiele małych komplikacji. Ponownie, jedno jest o wiele więcej doświadczenia niż zero, a kiedy już je masz, będziesz miał znacznie lepszy pomysł na to, jak iść naprzód.Sprawdź tę stronę internetową: 12 pomysłów na projekty gier komputerowych
Niektóre z tych gier zawierają to, co powiedzieli inni:
Ale mówi również o innych grach, które możesz spróbować, takich jak:
Daje to również poczucie, co powinieneś najpierw zrobić, ponieważ daje poczucie trudności dla każdej gry (a zatem plan, w jaki sposób należy rozwiązać te gry):
źródło
Wiele osób zaczyna grę Breakout, ponieważ oferuje ona:
źródło
Najtrudniejszą częścią pisania gry - lub jakiegokolwiek oprogramowania - jest zastanawianie się, co robić. Absolutnie potrzebujesz specyfikacji! To zabawna część tworzenia klona istniejącej gry: specyfikacja już istnieje. Twoja specyfikacja brzmi: „Produkt musi robić wszystko, co robi inny produkt”, a jeśli masz pod ręką kopię innej gry, łatwo to zweryfikować.
Gdy już zorientujesz się, co musisz zrobić, dowiedz się, jak to zrobić zrobić to naprawdę nie jest takie trudne, jeśli jesteś kompetentnym programista. Nie mam na myśli wykwalifikowanego lub doświadczonego programisty; oznaczałoby to, że już wiesz, jak zrobić większość tego, co próbujesz zrobić. Ale musisz zrozumieć, jak myśleć abstrakcyjnie i mieć umiejętność rozwiązywania problemów i logiczne myślenie, które są podstawą programowania. Jeśli możesz to zrobić, możesz zrobić wszystko.
Powiedziawszy to, nie zgadzam się z tym, co większość ludzi mówi o próbie nauki pisania gier, pisząc coś naprawdę prostego. Nagroda jest wprost proporcjonalna do włożonego w nią wysiłku. Jeśli nauczysz się pisać gry, pisząc naprawdę prostą grę, wszystko, co na końcu będziesz wiedzieć, to jak pisać naprawdę proste gry, a to ci nie pomoże.
Z drugiej strony, jeśli zaczniesz od czegoś przytłaczającego, nigdy tego nie skończysz. Zacznij więc od czegoś umiarkowanie trudnego, co sprawi, że poradzisz sobie z poważnymi problemami. Budowanie RPG w stylu 2D lub przewijanej platformówki to bardzo dobry sposób na poznanie prawdziwych koncepcji programowania gier.
źródło
To zależy od twoich obecnych kompetencji. Jeśli jesteś stosunkowo nowy w programowaniu, wybierz jedną z konkretnych gier, które ludzie sugerowali. W przeciwnym razie powinieneś pomyśleć, jaki rodzaj gier pozwoliłby ci dobrze wykorzystać swoje wrażenia.
Kiedy zaczynałem swoją pierwszą grę, nie miałem doświadczenia w tworzeniu gier, ale przez kilka lat zajmowałem się tworzeniem aplikacji dla przedsiębiorstw / linii biznesowych. Mój pierwszy projekt gry był turową grą strategiczną, a pod względem architektonicznym nie różniła się niczym od aplikacji korporacyjnej. Używał systemu klient / serwer, a komunikacja odbywała się przez dupleksowy kanał usługi WCF. Większość operacji gracza ustawiono w kolejce jako „rozkazy” i wysyłano na serwer na koniec tury. Przetwarzanie wszystkich tur odbywało się na serwerze, po czym aktualizacje wszechświata gry były wysyłane do każdego klienta.
Ten pierwszy projekt pozwolił mi wkroczyć na ścieżkę rozwoju gier, jednocześnie rozpoczynając działalność na znanym terytorium. W miarę rozwoju projektu nauczyłem się myśleć bardziej jak twórca gier, a mniej jak twórca aplikacji dla przedsiębiorstw. Wynik końcowy działał całkiem dobrze i był nieco bardziej imponujący niż pancernik lub kółko i krzyżyk :).
źródło
Nibbles i Space Invaders
Stosunkowo prosta sztuczna inteligencja, grafika, rozgrywka, sterowanie i nie muszą one mieć efektów dźwiękowych ani muzyki, chyba że chcesz to dodać. Zacząłem od tych dwóch, kiedy uczyłem się programować w QBasic dla MS-DOS i myślę, że są świetne pierwsze gry. Pac-Man byłby moim drugim wyborem.
źródło
Gry w stylu Moonlandera są świetne (gdy masz rakietę pod wpływem grawitacji, gracze kontrolują kierunek i siłę ciągu, ograniczone zużycie paliwa podczas korzystania z ciągu). Zdobądź doświadczenie w implementacji bardzo prostej fizyki, a system kolizji może być dość prymitywny. Nie musisz się martwić AI, a co najważniejsze, jest zabawna i wciągająca :)
źródło
Odgórna strzelanka kosmiczna, taka jak Galaga, jest dość łatwa i dość dobrze uczy wykrywania kolizji! Może również różnić się poziomem trudności, od poziomu ze stacjonarnymi wrogami do wielu poziomów, na których ulepszenia broni i wrogów poruszających się w specjalnych wzorach.
źródło
Coś jak Rękawica, ponieważ potrzebujesz systemu bytu, sztucznej inteligencji wroga, pickupów, map kafelkowych, wykrywania kolizji, punktacji itp. To wszystko, ale nie w sposób przytłaczający.
źródło
Mini klon Zelda jest dobry i ćwiczy pewne umiejętności, o których tu nie wspomniano wiele. Dobrze jest przewijać dużą mapę kafelków i proste, 8-kierunkowe elementy sterujące ruchem. Punkty bonusowe, jeśli potrafisz atakować wrogów, ale nie martwiłbym się tym zbytnio.
źródło
Zrobiłem więcej niż kilka klonów Tetris. Za każdym razem, gdy to robiłem, robiłem to nieco inaczej. W dzisiejszych czasach zwykle robię jednak klony asteroid. Zrobiłem też więcej niż kilka spinoffów dowodzenia pociskami.
Zacząłem od podstawowej gry, a potem zacząłem dodawać do niej więcej rzeczy, ulepszeń itp.
źródło
Zawsze zaczynałem od gry Tanks / Gorillas / Worms. Pozwala ćwiczyć na prostym graficznym wyświetlaczu i czytać dane wprowadzane przez użytkownika, a także pętlę gry przykładającą grawitację do pocisku i testującą wykrywanie kolizji.
Potem pojawiła się gra jak bardzo prosta platformówka lub shoot-em-up, w której musisz czytać dane wejściowe użytkownika w czasie rzeczywistym, zamiast instrukcji INPUT, które działają dla Gorillas :)
źródło
Solitaire (lub tak naprawdę dowolna gra karciana) to dobra gra na zabrudzenie rąk nowym systemem interfejsu użytkownika, ponieważ wykonuje wiele widżetów i mechanizmów sprzężenia zwrotnego kontrolera, których potrzebujesz. Ponadto logika jest prosta i jednoznaczna, więc możesz skoncentrować się na nauce, a nie na projektowaniu gry.
W przypadku gier symulacyjnych w czasie rzeczywistym zawsze polecam Pong jako dobry prosty punkt wyjścia, ponieważ projekt jest prosty, podobnie jak interfejs kontrolera, dzięki czemu można przejść do sedna systemu - symulacji fizycznej.
źródło
Zawsze twierdziłem, że jeśli jesteś programistą gier, powinieneś być w stanie stworzyć jakąś formę Space Invaders . Cholera, gra jest na tyle prosta, że powinieneś być w stanie sam zrobić grafikę.
Mając wybór małych gier w twoim portfolio jako dodatkową korzyść z bycia całkiem przydatnym, na przykład, jeśli uczę się nowego języka programowania lub frameworka, często przenoszę jedną z moich prostych gier, aby zobaczyć, jak nowy sposób robienie rzeczy pasuje do sposobu, w jaki zostały napisane.
źródło
To naprawdę zależy od tego, jakie umiejętności masz już jako zwykły programista. Czy twoja matematyka potrzebuje pracy? Twoja wiedza graficzna? Czy masz oba w tajemnicy?
Chociaż ogólnie myślę, że Tetris i Breakout również byłyby moimi dwoma starterami. Wszystko łatwiejsze niż to nie zapewnia wystarczającego bodźca. Tetris to dobry test na to, jak ułożyć dane w algo, przełamanie jest lekkim przykładem matematyki. Zawsze mówię ludziom, aby celowali wysoko, celem jest utknięcie i wymyślenie rozwiązania.
Po tym niebo jest granicą. Ponownie celuj wysoko. Wypróbuj platformówkę z pochyłym terenem, Parralax, a masz dobrą torbę z technologią 2d. Dodaj jednoręki bandyta (przygotuj się na frustrację), a matematyka się poprawi.
Stamtąd przejdź do trzeciego wymiaru, naucz się podstawowych umiejętności (animacja, rendering) i powinieneś być stosunkowo dobrze przygotowany do radzenia sobie z różnorodnymi grami.
źródło
Powiedziałbym, że gra typu Tower Defense to najlepsze miejsce na rozpoczęcie. Możesz również zacząć od modyfikacji już istniejących gier / silników (WarCraft III / HalfLife2 SDK / itp.), Aby zrozumieć ogólną potrzebną logikę, a następnie przejść do korzystania z własnej bazy kodu.
źródło
Moja pierwsza gra była jak Super Mario.
Poruszaj się, omijaj przeszkody, skacz. Wszystkie te zadania można łatwo wykonać bez obliczeń fizycznych.
Idealnie jest wziąć prostą rzecz 2D, ponieważ nie będziesz polegać na konkretnej implementacji / ramie / silniku.
źródło