Jak daleko można się dostać z Garry's Mod i bez pieniędzy? [Zamknięte]


18

Mój szóstoklasista bardzo interesuje się tworzeniem gier FPS, ale nie sądzę, że uchwycił się wielkości zadania, które przed nim stoi. Jest fanem Halo, więc jego obecnym celem jest stworzenie podobnej gry, ale lepszej. Heh Nie zniechęcę go jednak.

Dałem mu konto Steam, a on sam odkrył Garry's Mod i zainstalował svn tortoise, aby dodać paczki (i je zagrać). Pobrał również i przeglądał UDK oraz wersje próbne Visual C ++ i SoftImage. Kiedy mówię „sam”, mam na myśli, że poprosił swoich internetowych znajomych o porady i sugestie, a także obejrzał niezliczone filmy instruktażowe na Youtube (klasa przyszłości).

Chociaż jestem programistą, moja wiedza nie opiera się na grach. Trudno mi zrozumieć, co obejmuje mod Garry'ego. Jak daleko może się z tym dostać i jakie dodatkowe narzędzia powinienem mu pomóc?

Odpowiedzi:


16

Garry's Mod to modyfikacja silnika Halflife 2. Możesz tworzyć własne mody silnika Halflife 2 za pomocą zestawu SDK Halflife 2 lub możesz próbować modyfikować Garry's Mod za pomocą skryptów. Nie sądzę, abyś mógł modyfikować kod źródłowy w modzie Garry'ego.

Jeśli naprawdę chciałby stworzyć swój własny FPS typu „halo” od zera, to będzie chciał pracować z silnikiem źródłowym, pakietem Halflife2 SDK. Jest to całkowicie bezpłatne, jeśli posiadasz DOWOLNĄ grę źródłową (więc prawdopodobnie już ją masz, ponieważ masz mod Garry'ego na Steam). Dostarczy ci to kilka projektów C ++, które owijają silnik źródłowy i pozwalają robić z nim naprawdę WSZYSTKO, co chcesz. Mnóstwo komercyjnych gier AAA i niezależnych gier ze wszystkim, od RTS po RPG i FPS, powstaje przy użyciu silnika źródłowego. Jest niezwykle elastyczny.

To powiedziawszy, bardzo trudno będzie zaangażować się waszemu młodemu synowi. Jak silne są jego koncepcje programistyczne? Będzie musiał być ROCK SOLID na C ++, aby zacząć pisać własną grę / mod za pomocą silnika źródłowego.

Jeśli więc brzmi to dla niego zbyt zniechęcająco (dla szóstej równiarki nie wyobrażam sobie, żeby jedno dziecko mogło dostać się gdziekolwiek, pisząc własną grę wideo od podstaw, realistycznie. Stare gry, takie jak Mario i Mortal Kombat, miały małe zespoły programistów, mógłby SPRÓBOWAĆ napisać grę 2D od zera, ale nadal będzie ona CIĘŻKA. Te gry wymagały pisania 10 programistów z dyplomami rocznie. Nie jest tak wykwalifikowany, a jest tylko jeden. Nowoczesny, Gry 3D, AAA wymagają zespołów od 20 do 50 programistów i miliardów dolarów. EDYCJA: okej, miliony, przesadzam. Nawet jeśli byłbyś największym programistą na świecie, napisanie własnej hitu zajęłoby ci wieczność. niemożliwe dla każdego.)

Zamiast tego może spróbuj tylko małych mutacji zamiast pełnego modu konwersji. Możesz spróbować użyć skryptów lua obsługiwanych przez Garry's Mod, aby wprowadzić niewielkie zmiany w grze, być może dodać nowy przedmiot lub nową funkcję. Nie bawiłem się skryptami Garry's Mod, więc nie mogę mówić z własnego doświadczenia o silniku źródłowym.

Wspomniałeś o UDK, który jest całkiem fajny, ale znowu, to tak, jakbyś wziął silnik źródłowy i zaczął od zera. To trwa wiecznie i jest NAPRAWDĘ trudne.

Sposób, w jaki zacząłem, kiedy pierwszy raz programowałem (i to było w 9-10 klasie, pamiętajcie) napisałem mutacje do Unreal Tournament. Mają swój własny język (nierealscript), ale jego dość czytelny i dość wysoki poziom (brzmi mniej więcej jak Java) i fajną rzeczą jest to, że Epic zawsze miał mnóstwo wsparcia dla modów i mutacji w Unreal Tournament. Możesz więc zacząć pisać mutację, która przyspieszy rakiety lub rakiety zwolni, a następnie możesz wskoczyć do Unreal Tournament i zagrać w swoją mutację. W ten sposób możesz zacząć od małych. Jeśli spróbujesz zakodować cały mod od podstaw jako pierwsze doświadczenie, zaufaj mi, nigdy nie przejdziesz pomysłu.

Mam nadzieję, że to nie było zbyt demoralizujące. Myślę, że to niesamowite, że twój syn jest pasjonatem gier w tak młodym wieku! (Zainstalował Tortoise SVN na własną rękę i jest poważnie w szóstej klasie? Ten dzieciak z pewnością jest przyszłym programistą!). Ale dzieci z pewnością nie rozumieją, ile pracy zajmuje budowanie ich ulubionych gier, a pisanie własnego Halo to potok.

Powiedziałbym, że zacznij od prostszych rzeczy. Niech piszą ponga, a potem kosmicznych najeźdźców. Następnie idź do Unreal Tournament i napisz kilka mutacji, a kiedy jest dobry w mutacjach, możesz pomyśleć o modach.

A jeśli chodzi o narzędzia, zrobiłem pierwsze mutacje UnrealTournament w Wordpad! Bez żartów! To całkiem proste, piszesz, zapisujesz, a następnie używasz wiersza poleceń, aby skompilować go za pomocą narzędzi, które są już dostarczane z UT przez Epic Games.

Jeśli zamierzasz pracować z silnikiem źródłowym, potrzebujesz studio wizualnego. Prawdopodobnie możesz uciec z Visual Studio Express w porządku, ale być może będziesz musiał pobrać Windows SDK, jeśli otrzymasz wersję Express. Poza tym, tylko mnóstwo cierpliwości i dobre podstawy programowania. :)


Nie sądzę, żeby kiedykolwiek istniała gra o budżecie miliarda lub większym.
AttackingHobo

2
„budżet w wysokości miliarda lub więcej” - Duke Nukem Forever ?
Cyclops,

7
+1 Za udzielenie odpowiedzi na zadane pytanie zamiast powiedzenia „Zamiast tego użyj!”
rlb.usa,

Najbardziej podoba mi się ta odpowiedź, ponieważ zawiera mnóstwo użytecznych informacji odpowiednich dla znacznika „uczący się”. Dzięki. (Inne odpowiedzi są również przydatne, więc nie przestawaj je otrzymywać).
Henry

„Powiedziałbym, że zacznij od prostszych rzeczy. Niech on napisze ponga, a potem kosmicznych najeźdźców”. Game Maker i The Games Factory doskonale nadają się do tego rodzaju prostych rzeczy 2D.
James

13

Gorąco polecam, żebyś sprawdził Unity3D . To fantastyczny silnik gry z edytorem wizualnym świata i kilkoma solidnymi opcjami skryptowymi. Ma świetną społeczność i jest całkowicie darmowy do tworzenia niezależnych programów.

Garry's Mod jest świetny, jeśli chce się uczyć i bawić, zwłaszcza z FPS, ale jestem pewien, że nie możesz tworzyć z nim komercyjnych gier (chociaż nie wiem, czy to nawet cel twojego syna).


+1. W sekcji „Wsparcie” na stronie Unity znajduje się kilka przykładowych projektów, które mogą być dobrym źródłem do rozpoczęcia zabawy z silnikiem. Przykład FPS jest tutaj: unity3d.com/support/resources/example-projects/3rdpersonshooter
bummzack

7

Kiedy byłem mniej więcej w wieku twojego syna (około 13 lat), pierwszą rzeczą, która mnie wciągnęła w tworzenie gier, był program o nazwie Klik n Play. Był to program, który pozwolił ci tworzyć proste gry 2D bez żadnego kodowania, używając edytora zdarzeń akcji / reakcji „wskaż i kliknij”, aby go „zaprogramować”. Już nie istnieje, ale wierzę, że jego potomek, Multimedia Fusion ( http://www.clickteam.com/eng/mmf2.php ), jest nadal obsługiwany i dostępny, który ma podobną niską barierę wejścia, nie wymagającą programowania. Wadą tych programów jest to, że efekt końcowy może być mniej niż inspirujący, ponieważ w zasadzie ogranicza się do stosunkowo prostych gier 2D.

Alternatywnie gorąco polecam Unity ( http://unity3d.com/), który zawiera kilka świetnych samouczków i ma podobną funkcjonalność do UDK, ale moim zdaniem jest o wiele łatwiejszy. Wadą jest to, że twój syn będzie mógł szybko stworzyć całkiem imponujące gry 3D (i 2d), chociaż minusem byłoby to, że wiąże się to z (stosunkowo niewielkim) programowaniem. Znowu jest to łatwiejsze niż UDK, ale z podobnymi wynikami. Opcje programowania obejmują Javascript, C # i Boo. Jak wspomniałem, na ich stronie internetowej jest kilka niesamowitych (przynajmniej dwa z ponad 80 plików PDF, które uczą jak robić fajne rzeczy) samouczków, co sprawiło, że nauka była dla mnie dziecinnie prosta, chociaż moje zastrzeżenie jest że zacząłem używać Unity już od kilku lat profesjonalnie programując, co może mnie uprzedzić (choć łatwiej niż UDK!).

Jedność jest darmowa. Multimedia Fusion kosztuje 100 USD.


6

Mody do Garry's Mod są napisane całkowicie w Lua . Jeśli uda mu się zaznajomić z Luą i nauczyć się interfejsu API Garry's Mod API, który jest naprawdę dobrze udokumentowany na tej Wiki ... Myślę, że mógłby dojść całkiem daleko. Może korzystać z modeli 3D, map i dźwięków dołączonych do gry, a po prostu zacząć kupować skryptowanie różnych broni i przejść do bardziej zaawansowanych rzeczy, takich jak cele gry, gdy będzie mu wygodniej.


4

Myślę, że nie ma nic lepszego do rozpoczęcia programowania gier / grafiki komputerowej niż XNA. To nie jest silnik, ale tylko biblioteka z mnóstwem przydatnych funkcji i klas. Pozwala także bardzo łatwo przenieść swoją grę na Xbox. Istnieją ograniczenia, jeśli chcesz zrobić coś dużego, ale to nie jest przypadek twojego syna przez kilka następnych lat :). Moja pierwsza gra została w nim napisana i otworzyło mi drzwi do lepszego programowania w prawdziwym DirectX i OpenGL.

Polecam również, aby nie próbować tworzyć gry 3D za pierwszym razem. Gry 2D są znacznie łatwiejsze. I nie potrzebuje zbyt wiele matematyki, ponieważ możesz sobie wyobrazić lub narysować wszystko na papierze. Jeśli twój syn chce zacząć programować w 3D. Poleciłbym mu, aby zaczął uczyć się algebry liniowej, tego właśnie potrzebujesz w 3D codziennie.

Chcę też zachęcić go do tego. Byłem małym chłopcem, który też chciał się bawić. Trzymałem się tego marzenia i teraz pracuję w renderze programistycznym branży filmowej dla prawdziwych filmów. Nie wyobrażam sobie lepszej pracy. Praca z grafiką komputerową sprawia tyle radości. To samo dotyczy artystów i inżynierów.


1

Jeśli chodzi o mod Garry'ego, prawdopodobnie użyję go na poziomie podobnym do Game Maker. Możesz robić skrypty Lua, a ja grałem z nim bardzo fajne mody (mój ulubiony nazywał się Trouble In Terrorist Town, który grał jak Call of Duty w połączeniu z Murder In The Dark).

Przypomniało mi to jednak czas, w którym grałem w Unity 3D. Aby przejść dalej, prawdopodobnie powiedziałbym, że Unity3D, tak jak Matt Rix, właśnie ze względu na podobieństwo do GMod - większość akcji znajduje się w oknie WYSIWYG, ale ponieważ skrypty odgrywają większą rolę, możliwość dostosowania jest również większa.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.