Kumpel z pracy i ja chcemy wkroczyć na scenę niezależną w celu tworzenia gier. Zrobiłem kilka demonstracji technicznych demonstrujących różne pomysły i podejścia do różnych problemów. Teraz czuję, że nadszedł czas, abyśmy zaangażowali się w projekt w celu opracowania portfolio na później.
Bardzo zmagałem się z tym, jak rozpocząć rzeczywisty projekt, a konkretnie stworzyć silnik lub użyć pakietu OTS, albo użyć jednego, a potem stworzyć jeden, albo stworzyć, a następnie użyć jednego ... itd.
Które wygląda lepiej dla potencjalnych pracodawców? Mniejszy portfel gier, który zawiera Twój silnik, czy (prawdopodobnie) większy, który został zbudowany przy użyciu czegoś OTS?
Jestem programistą. Nie jestem artystą. Będę wykonywał większość programowania dla tego projektu. Mój kumpel jest również programistą, ale biegle posługuje się narzędziami graficznymi (w ten sposób staje się artystą).
W pracy oboje jesteśmy programistami .NET (C #). Wiem, wiem: „Więc używaj XNA”, niektórzy będą na mnie krzyczeć. Dema, które ukończyłem do tej pory, były w XNA. Ale mam pewne obawy związane z budowaniem portfolio XNA. Chociaż miło jest wyodrębnić DirectX, martwię się, że nie zbuduję niezbędnej wiedzy, aby łatwo wyjść poza XNA. Przeciwnie do tego argumentu jest prawdopodobnie „możesz łatwiej przejść do DirectX po XNA”, ale skoro przeniosę kariery z rozwoju biznesu do tworzenia gier, czy warto w ogóle skupić się na XNA? Czy potencjalni pracodawcy będą chichotać, kiedy mówię XNA?
Czy powinienem skorzystać z doświadczenia XNA, wiedząc, że zdobyte koncepcje i wnioski przeważnie się przełożą? Lub gdzie spędzić mój najcenniejszy zasób (czas)?
Szukasz porady od weterynarzy z branży.
Odpowiedzi:
Od prawie czternastu lat jestem programistą w branży gier konsolowych i często brałem udział w podejmowaniu decyzji o zatrudnieniu.
Mówiąc więc, jako jeden z tych potencjalnych pracodawców, oceniając potencjalnego pracownika, szukam w nowym zatrudnieniu trzech rzeczy i szukam ich w tej kolejności.
Teraz odpowiadając na twoje pytanie. Cały problem „jaki projekt powinienem wykonać” dotyczy zdecydowanie najmniej ważnego z kryteriów, na których mi zależy. Bardziej zależy mi na tym, czy będziesz społecznie pasował do mojego zespołu, i na tym, jak szybko będziesz mógł się uczyć nowych rzeczy, niż na tym, czy użyłeś XNA lub własnego silnika gry w poprzednim projekcie. Ogólnie rzecz biorąc, zakładam, że będę musiał cię wyszkolić w naszym wewnętrznym silniku gry, więc twoje wcześniejsze projekty nie mają dla mnie żadnego znaczenia. Oczywiście, chyba że masz magiczne doświadczenie z konkretnym narzędziem lub technologią, o której potrzebuję kogoś, kto powinien wiedzieć. Ale to niezwykłe; zazwyczaj zakładam, że będę musiał cię przeszkolić, aby korzystać z naszego API.
Wszystko to nie oznacza, że nie chcę, żebyś wykonywał projekty domowe. Absolutnie tak. Ale tak naprawdę nie dbam o to, jakie są te projekty lub jakie technologie wykorzystały, ponieważ prawdopodobnie nie będą one miały związku z tym, co chcę, abyś dla mnie zrobił, ponieważ będziemy używać różnych bibliotek lub interfejsów API.
Ale chcę, żebyś mi opowiedział o swoich projektach. Chcę zobaczyć, jak entuzjazmujesz się, kiedy o nich mówisz, ponieważ to mówi mi o tym, jaką jesteś osobą (patrz punkt 1 powyżej). Chcę usłyszeć o problemach, które napotkałeś oraz o tym, jak je przezwyciężyłeś, rozwijając swój projekt (patrz punkt 2 powyżej). Absolutnie chcę, żebyś ukończył przynajmniej jeden projekt - będąc w stanie przepchnąć się przez ból i faktycznie coś ukończyć, wiele mówi o tym, kim jesteś, i mówi mi, że jesteś kimś, na kim będę mógł polegać na temat tego, kiedy („kiedy”) sytuacja stanie się trudna.
Tak szczerze mówiąc, żadna opcja nie jest „lepsza”; ważne jest, aby coś ukończyć. Każda technologia, której nauczysz się po drodze, będzie wisienką na torcie, ale prawie na pewno nie jest to, co skłoniłoby mnie do zatrudnienia.
(Ale ze wszystkim, co powiedział .. I będzie oczekiwać, aby być biegły w języku C ++. Tak czy owak, to naprawdę trzeba się nauczyć C ++, aby uzyskać zatrudniony w branży gier głównego nurtu. Twoje projekty domu nie musi być koniecznie w C ++, ale spodziewam się, że będziesz w stanie wykazać się płynnością.)
źródło
Jedną rzeczą, o której jeszcze nie wspomnieli, jest to, że ważne jest, aby zakończyć swoje projekty.
Posiadanie portfela z wieloma niedokończonymi rzeczami nie jest tak imponujące jak portfolio z jedną gotową, dobrze dopracowaną rzeczą.
Ponadto, jeśli oprzesz swoją pracę na czyimś istniejącym dziele (takim jak silnik open source lub ogólnodostępne zasoby sztuki), pamiętaj, aby wspomnieć w swoim portfolio, która część jest twoja.
źródło
Wydaje mi się, że odpowiedź zależy od tego, jakiego rodzaju programowanie gier chcesz wykonać.
Jeśli Twoim celem jest zostać koderem silnika lub graficznym , skorzystaj z przejścia pod maską i poznania zasad działania silników. Nie oznacza to, że nie możesz używać XNA ani innego gotowego silnika, frameworka itp. Zapoznanie się z wnętrzami silnika wysokiej jakości to świetny sposób na nauczenie się, jak zbudować silnik wysokiej jakości! Jeśli pójdziesz tą ścieżką, niekoniecznie musisz nawet pisać rzeczywiste gry. Portfolio samodzielnych demonstracji graficznych i / lub nietrywialnych rozszerzeń istniejącego silnika (np. Implementacja nowego modułu cieniującego w silniku itp.) Dobrze ci zrobi. Można spojrzeć na mojego portfela demo graficznych tutaj; jest już kilka lat nieaktualny, ale w zasadzie to właśnie dostałem pracę programistyczną w studiu gier.
Z drugiej strony, jeśli wolisz być programistą gry , jedną z osób, które pracują nad mechaniką gry, sterowaniem, wrogą AI itp., To twój czas nie będzie dobrze spędzony na kopaniu w Direct3D. Oczywiście dobrze jest mieć ogólne zrozumienie działania grafiki na wysokim poziomie, ale w kontekście zawodowym prawdopodobnie nie będziesz miał bezpośredniego kontaktu z grafiką niskiego poziomu. W takim przypadku absolutnie polecam użycie gotowego silnika, abyś mógł poświęcić czas na tworzenie rzeczywistych gier.
Podsumowując, jeśli chcesz grać, po prostu użyj istniejącego silnika; jeśli chcesz zrobić silnik / grafikę, zbuduj własne rzeczy i / lub rozbuduj istniejący silnik.
źródło
kiedy właśnie kończyłem uni, moje portfolio zostało przedstawione w tym artykule. wydaje się dobrym pomysłem, co robić, a czego nie robić, łącząc swoje portfolio
http://leewinder.co.uk/blog/?p=23
źródło
Nie rób swojego portfela na podstawie tego, jak postrzegasz „standard”. Powinieneś pracować nad projektami, które Cię interesują . Jeśli lubisz mechanikę gry, zrób kilka gier. Jeśli lubisz tworzyć ciekawe sztucznej inteligencji, może zrób demo dla konfiguracji podobnej do RTS. Jako przykład mam rosnące zainteresowanie programowaniem graficznym i poświęcaniem więcej czasu na naukę koncepcji renderowania i stosowanie ich w moim silniku. (W konsekwencji mój projekt gry został tymczasowo umieszczony na półce).
Kiedy pracujesz głównie nad rzeczami, które lubisz, to naprawdę uwypukla „ciebie” w portfolio. Z drugiej strony posiadanie co najmniej jednej ukończonej gry pokazuje, że możesz przejść przez „nieciekawe” etapy tworzenia gry. Dobrze jest mieć pewien stopień elastyczności, aby włamać się na mniej znane terytorium, ale nie zmuszaj się do niego zbyt intensywnie. Możesz odróżnić dobre portfolio od poziomu entuzjazmu i zainteresowania włożonym w pracę, a projekty oparte na twoich zainteresowaniach będą naturalnie najbardziej polskie. Niezależnie od tego, czym się interesujesz, w końcu będziesz musiał skupić się na tym obszarze programowania pracy.
źródło