Siedemnasty odcinek wypada w Dzień Dziecka! I to kilka raptem dni po premierze nowego Wiedźmina! O czym więc dzisiaj będzie? No o grach, oczywiście :).
Moim i Waszym Gościem jest Przemek Czatrowski, który przez ostatnie lata pracował jako programista nad Wiedźminem właśnie. Oprócz tego lubi piwo i pisze o tym na blogu Prosto z Pokala. Lubi też podróże i o tym też pisze, razem z żoną, na blogu TroPiMy. Zachęcam do zajrzenia. Znajdziecie go również na Twitterze: @cz0per.
Tematem naszej rozmowy jest praca w gamedev. Dowiecie się czym różni się ona od pracy “normalnego” programisty. I jak można “zacząć” w tej branży. Oraz ponownie, bo to dość istotne: czy studia pomagają w takiej karierze? Znajdziecie też wątek o “drodze do celu”, jakkolwiek górnolotnie to nie zabrzmiało. No i jako bonus, ofkors, trochę ciekawostek zza kulis powstawania Wiedźmina.
Konkurs: w każdym odcinku mam dla Was fajny upominek. Nie może być inaczej i dzisiaj: rozdaję najnowszego Wiedźmina 3 (dowolna platforma). Grę otrzyma, jak zwykle, autor jednego z komentarzy pod tym postem. Więc do dzieła, dawajcie feedback, zadawajcie pytania, eccecera, eccecera.
Montaż odcinka: Krzysztof Śmigiel.
Ważne adresy:
- zapisz się na newsletter
- zasubskrybuj w iTunes, Spotify lub przez RSS
- ściągnij odcinek w mp3
Linki:
- blog podróżniczy Przemka i Szanownej Małżonki: TroPiMy (http://www.tropimy.com)
- blog piwny Przemka: Prosto z Pokala (https://prostozpokala.wordpress.com)
- Global Game Jam: http://globalgamejam.org
- REDKit (silnik, na którym powstawał Wiedźmin 2: Zabójcy Królów): http://redkit.cdprojektred.com/
- Unreal Engine: https://www.unrealengine.com/what-is-unreal-engine-4
- Unity: https://unity3d.com/
- jedno z największych forów twórców gier: http://www.gamedev.net/
- prezentacje
- Michał Słapa (pracuje przy AI w Wiedźminie) o drzewach zachowań (AI): https://www.youtube.com/watch?v=aXSWYDFOaYk
- Przemek o tym czym m.in. zajmuje się w CD Projekt RED (GDC 2014): http://www.gdcvault.com/play/1020686/Solving-Visibility-and-Streaming-in
Muzyka wykorzystana w intro:
“Misuse” Kevin MacLeod (incompetech.com)
Licensed under Creative Commons: By Attribution 3.0
http://creativecommons.org/licenses/by/3.0/
Prawie każdy kogo znam jak i ja sam na pewnym etapie chciał zostać game devem (zazwyczaj na etapie studiów lub jeszcze przed nimi). Temat odcinka idealny na dzień dziecka :D No i jak zawsze devtalk umila poniedziałkowy poranek.
O gamedev z Przemysławem Czatrowskim
Dziękujemy za dodanie artykułu – Trackback z dotnetomaniak.pl
Spoko. Dużo ciekawych rzeczy. Dzięki
Dawno nie słyszałem tak wciągającej rozmowy… Bardzo fajnie bo ja do gamedevu i próby napisania gry wracam co jakieś 2-3 lata. W sumie nigdy się nie udało, bo zawsze coś za dużego się robiło od razu i po tygodniu dwóch rura opadała, bo praca, bo koszenie trawy :)
Herołsy… eh dzieci… X-COM to były gry!
czyli gamedev nie ( zapisuje w pamiętniczku czego się nie uczyć bo matma)
To ja tak przy okazji zapraszam na gamedevowe spotkania Koła Naukowego Twórców Gier Polygon Politechniki Warszawskiej, jeżeli ktoś chce się zainteresować gamedevem, to jedno z fajniejszych miejsc do rozpoczęcia zabawy z gamedevem ;)
Updated: DevTalk – Programistyczny głos w Twoim domu
http://groopmark.com/link/details/181/devtalk-programistyczny-glos-w-twoim-domu?cid=11
Myślę że każdy programista powinien spróbować, choć raz w życiu napisać grę. Osobiście miałem styczność z gamdev, nawet brałem udział w amatorskich produkcjach, jednak wybrałem kierunek aplikacji biznesowych, według mnie łatwiejszy. Jeszcze kilkanaście lat temu nie do pomyślenia było, że jakaś polska firma może odnieść tak wielki sukces światowy jak CDProjekt. Nie pozostaje mi nic innego jak tylko złożyć im wielke gratulacje :) A wszyscy którzy są spróbować swych sił w tworzeniu gier polecam polskie forum amatorskich twórców gier: warsztat.gd
Ciekaw jestem czy programista od grafiki gry, musi mieć zaplecze od strony projektowania 3D? Sam kiedyś w 3D robiłem – teraz programuję i cały czas zastanawiam się nad ruszeniem w stronę game dev’u.
Drugie pytanie, czy przy projektowaniu tego typu gier, używa się open source’owych programów 3D typu Blender?
Jej, ten talk dał mi mnóstwo motywacji. Programować zacząłem w gimnazjum tworząc mody do counter-strike 1.6. Teraz na studiach już poziom nieco wyższy, ale cel ten sam. GameDev i’m coming ;)
Czy programista .NET ma szanse odnaleźć się w tego typu branży bez przebranżowienia na C++?
Dzięki za wszystkie komentarze, postaram się do nich odnieść pojedynczo :)
@pawelek: może zamiast “za dużego projekt” zrobić coś małego na początek, żeby sprawiło fun, a potem to rozbudowywać? Wiesz, niektórzy indie developerzy mieli najpierw pomysł na grę, potem iterowali nad tym jednym konkretnym mechanizmem gameplay’owym setki razy, aż wyszedł perfekcyjnie i potem kończyli / dobudowywali całą resztę. Bardzo dobry przykład to gra Braid, ze świetnie zaprojektowanym mechanizmem cofania w dowolnym momencie czasu i poziomach zbudowanych tak, że ich przejście jest możliwe tylko za pomocą tego mechanizmu.
@escapeplan: matma nie jest taka straszna ;) A bez niej też się da “wejść”, tylko z innej strony – robienie modeli / tekstur, pisanie historii, czy też np. testowanie.
@Paweł: co masz na myśli pod pojęciem “projektowania 3D”? Jeżeli chodzi o obsługę narzędzi, to oczywiście przydaje się znajomość czegoś do modelowania, chociaż w dużych firmach assety robią po prostu artyści. Jeżeli chodzi o Blendera – nie wiem jak jest w małych studiach, w większych najczęściej używa się 3D Studio Max lub Maya.
@Łukasz
Wydaje mi się, że na początku tak. WIększe produkcje to raczej C++, ale na początek można pisać w Unity3D w którym to używa się C#
@Mariusz Różański: robienie modów do gier to świetny start do gamedev’u :) To również dobra droga do budowania portfolio, pokazuje że masz umiejętności pracowania z cudzym kodem / narzędziami i używania tego w kreatywny sposób.
@Łukasz: we wspomnianym przeze mnie silniku Unity można pisać gry korzystając m.in. z C#, więc można :)
@Przemek Czatrowski: Racja mało precyzyjne wyrażenie, tak dokładnie chodziło mi o projektowanie 3D jako tworzenie modeli, riggowania, znajomości działania różnorakiego rodzaju map jak specular/normal/bump mapy itd.
@Paweł: wiesz, specular/normal/bump/roughness/whatever mapy to część pipeline’u graficznego, więc trzeba współpracować z artystami, żeby oni wiedzieli jak je mają tworzyć, a Ty jak je wykorzystywać przy oświetlaniu. Tak samo z programistami animacji i riggowaniem – jeżeli animatorzy wyriggują / zanimują model w innym formacie niż to później wczytujesz, to nic nie będzie z takiej animacji. Więc podstawa to komunikacja i dobre pipeline’y.
Cześć! Powracającym tematem wśród ludzi zaczynających przygodę z programowaniem jest temat studiów. Jak Pan myśli, czy studia programistyczne dla aspirującego game-dev’a (czy w ogóle programisty), to must-have, czy zdolna osoba z odpowiednią ilością motywacji, da sobie radę i bez studiów?
Heh, odpowiedź padła tuż po tym, gdy napisałem komentarz :-) Czyli jednak, wbrew obiegowej opinii, i matematyka, i studia są w zasadzie rzeczą, która się bardzo przydaje.
Chyba najlepsza rozmowa do tej pory, @Przemek jestes mega zaangażowany i twoja zajawka daje dużo motywacji, mimo ze nie robię gier, to takich osób chce sie słuchać. Oczywiście mnóstwo fajnych i ciekawych rzeczy. Pozdrawiam.
Nice! Bardzo ciekawy wywiad. Dzięki :)
W czym powstał edytor do redengine ?
Pozdrawiam
super wywiad
bardzo ciekawa rozmomwa
oby wiecej takich rozmow
Super artykul.
Mocno inspirujący “devtalk”. :) Ten przesłuchałem jako pierwszy, teraz muszę nadrobić zaległości z poprzednich podkastów.
Bardzo fajny podcast, trzymam kciuki aby tak dalej. :)
ludzie co wy pieprzycie
po co wam studia ?!
SAMI wlasnie udowodniliscie ze dostaliscie zadanie i musicie je zrobic – pewnie jak robiliscie projekt to nauka byla samotna i internetowa uczelni nic wam w projekcie nie pomogla
przestancie pieprzyc sami w swoich slowach udowadniacie ze nie warto
czyli polecacie studia a zaraz polecacie korzystac z jak najwiekszej ilesci gotowcow i frameworkow, opanujcie sie bo im dalej slucham tym smiech wiekszy, do tego te smieszne polskie pensje w gamedev, 3x mniejsze niz wszedzie indziej
na koniec najwikszy smutek – dla programistow i grafikow i calego teamu wieska poszla 1/3 kosztow, 2/3 zjadla reklama
dotrwalem do konca, o programowaniu bylo moze 2-3 zdania, reszta to sieczka, wybaczcie ale taka prawda
Niestety znów mam poczucie, że odcinek jest za krótki. Tym razem odczuwam to jakoś dotkliwiej… :(
@asdfgasdf i @asfasdfasdf (podejrzewam, że jesteś tą samą osobą, byłoby łatwiej i kulturalniej po prostu podpisać się imieniem / nickiem): tak, dostaliśmy zadanie, tak – musieliśmy je zrobić sami. Jednak wiedza prowadzących z zakresu fizyki, grafiki i pomoc polegająca na podsunięciu odpowiednich materiałów była nieoceniona. W dodatku wykładowcami byli ludzie, którzy mają ogromne doświadczenie PRODUKCYJNE (czyli na zajęciach były przykłady typu: “w firmie mieliśmy taki a taki problem i po wypróbowaniu tylu rozwiązań okazało się, że to jest najlepsze”). Poruszę też inną rzecz – w życiu nie nauczyłbym się tego, co miałem na studiach CAD/CAM sam. To były wykłady teoretyczne i tłuczenie sporej ilości materiału samodzielnie, bez przygotowania teoretycznego nie dałoby się tego zrobić. I odwrócę trochę sytuację – w pracy zawodowej też liczysz, że ktoś będzie Cię prowadził cały czas za rękę i podsuwał gotowe rozwiązania każdego problemu na jaki natrafisz? Jeżeli tak, to nie jesteś za bardzo potrzebny.
Co do frameworków – przypomnę pytanie, w kontekście którego padły: “jakie są szanse zrobienia gry przez każdego w domu”. Jeżeli chcesz – możesz zacząć robić silnik, nikt Ci nie broni. Tylko, że zanim napiszesz obsługę I/O, podstawowy renderer i gameplay – minie tydzień. Więc jeżeli nie wiesz czy robienie gier Cię kręci czy nie, to skorzystanie z gotowego framework’u i implementowanie samego “fun factor” lepiej Ci odpowie na to pytanie.
Pozdrawiam
@Jakub: cały RED Engine jest napisany w C++.
Ciekawy wywiad. Więcej takich :)
Kurczę, piekielnie ciekawy wywiad, który dał mi mega motywacyjnego kopa do dalszej nauki programowania :D
Super wywiad. Mialem tylko odczucie ze za krotki byl. Z checia bym wiecej wysluchal na ten temat. Mogloby byc wiecej o zarobkach w Polsce w tej branzy :)
Fajne
Witaj Przemku! Napisałeś że cały enigne jest napisany w C++. A używacie może HLSL dla PC/Xbox ? Spotkałeś się może kiedyś frameworkiem XNA dla .Neta? Pozdrawiam
Bardzo fajny odcinek. Muszę kupić “maść na bul dupy” bo takiego feedbacku od userów poza gamedevem chyba nie ma nigdzie.
@Krzysztof: engine jest napisany w C++, do tego shadery w HLSL / PSSL, i własny język skryptowy. W XNA dość dużo robiłem rzeczy na studiach, ale Microsoft przestał wspierać tą technologię, więc nie ma to za bardzo przyszłości.
Jak wyglądają zarobki w game devie? Czy są one porównywalne do tych jakie można uzyskać pisząc aplikacje biznesowe w korpo?
@Jakub: niestety nie mogę odpowiedzieć na to pytanie. NDA.
@Przemek. Też w czasie studiów trochę się bawiłem z XNA, zawsze to tego chciałem wrócić. Nawet bawiłem się w jakieś symulacje wody, odblaski :). Szkoda że XNA umarło ale żyje jeszcze MonoGame (http://www.monogame.net/).
Jak uważasz. lepiej inwestować czas w np Unity – gdzie się ma dużo gotowych rzeczy, a pisze się raczej skrypty i można szybciej coś wykreować.
Czy jednak próbować w XNA/MonoGame które jednak wymaga więcej czasu i kodowania między innymi związanego z wyświetlaniem grafiki, przez co potrzeba dużo więcej czasu poświeć, ale wydaje mi się że i więcej się nauczysz.
@Krzysztof: zależy co Cię bardziej pociąga. Jeżeli bardziej lubisz robienie gier i gameplay’u – Unity to lepszy wybór. Jeżeli silników / technologii – wtedy możesz zabrać się za coś niskopoziomowego. Ja zdecydowanie jestem za silnikami ;)
@Przemek. Dzięki za opinie !
Cześć, super odcinek!
Mam pytanie, co do narzędzi wykorzystywanych w gamedevie – czy możesz zdradzić jakiego IDE, systemu kontroli wersji, narzędzi do wspomagania procesu tworzenia oprogramowania używacie? Unit testing, analiza kodu, continous integration etc.?
Dzięki za odcinek. Zawsze zastanawiało mnie jak bardzo różni się game dev od tradycyjnych projektów webowych itp. Jednak poza czasem trwania wydaje sie to być podobne, aczkolwiek z większa ilością maty i grubych rozkmin nad optymalizacją, która web developerów nie zawsze interesuje ;).
Zgadzam się z tym, że każdy czasem powinien spróbować napisać swoją grę. Ostatnio z dwoma znajomymi napisaliśmy prostego, konsolowego dungeon crawlera opartego na znakach ascii. Było to bardzo ciekawe doznanie. W końcu można było użyć niektórych wzorców projektowych, które np. przy web developerce nie mają zastosowania. Takie ćwiczenia wg mnie otwieraja oczy na zupełnie nowe podejście do niektórych problemów. To podejście, na które bez napisania prostej gry moglibyśmy nawet nie wpaść, można potem wykorzystać w innych projektach :)
ps. herosy ftw
Świetny odcinek! :)
Do Pana Prowadzącego: Myślę, że przydałoby się na DevTalku więcej wywiadów (i dłuższych :D) z ludźmi z gamedevu, choćby z Michałem Iwanickim (pracował 3 lata w Naughty Dog, teraz półtora roku jako Technical Director w Activision – myślę, że warto), Bartkiem Wrońskim (programista 3D, wcześniej CDPRed, Ubisoft Montreal, teraz Sony Santa Monica), Michał Drobot (kolejny programista 3D, Ubisoft Montreal i teraz Principal Rendering Engineer w Infinity Ward bodajże).
Do Pana Przemka:
Bardzo dobrze się Pana słuchało :)
Mam kilkanaście pytań:
1) Odnośnie Visual Studio – jakiej w firmie używacie wersji tego IDE, czy korzystacie z takich narzędzi jak VisualAssist?
2) Z jakiej czcionki korzysta Pan i Pana koledzy w firmie? Consolas? :)
3) Jak to jest z rozwojem zawodowym? Tzn. chodzi mi o to, jak nadążacie za najnowszymi trendami, tj. C++11/14, DX12, nowe api, by być jak najlepszymi programistami? Jak do tego Pan i Pana koledzy z REDa podchodzą i jak to wygląda? Czy cała nauka jest w pracy (np. z SpeedTree, bo sądzę, że nie bierzecie sobie tego do domów i tam prototypujecie – licencja), czy też w domu, po godzinach? Pytam dlatego że właśnie jestem po maturze i zastanawiam się jak to wszystko ogarnąć :)
4) Czy toolsy ciągle piszecie pod wxWidgets? Pisałem pod tym sporo i bardzo mi się podoba, aczkolwiek głównym playerem na tym polu jest Qt.
5) Książki, książki. Jakie Pan poleca w dążeniu do bycia Engine Programmerem w CDP? Wiem, że dobre są Game Engine Architecture i Real-Time Rendering 3rd ed. A co jeszcze?
6) Poza książkami, inne strony i zasoby. Podobne pytanie: Jakie Pan poleca i z jakich Pan korzysta?
Uff, to chyba wszystko (jak na razie), czekam na odpowiedź.
Pozdrawiam serdecznie! :)
Warto iść na studia, jednak rodzi się pytanie bardziej szczegółowe – czy warto iść na magisterkę czy po licencjacie/inżynierze lepiej iść do pracy ?