Pierwsze kroki
Pierwszą grę stworzyłem jeszcze podczas studiów. Powstała ona we Flashu i polegała na spekulowaniu akcjami spółek notowanych na Giełdzie Papierów Wartościowych. Po latach trochę żałuję, że nie poszedłem wtedy za ciosem i na drugi podobny epizod przyszło mi czekać do 2014 roku, kiedy to brałem udział w wydarzeniu zwanym "Krak Jam". Był to maraton programistyczny, podczas którego w nieco ponad 60 godzin powstała moja (w 50% - zespół dwuosobowy) druga gra. Jednak za największy sukces tego wydarzenia uważam nie samą grę a to, że w ciągu ponad 60 godzin spałem niecałe 6, co w moim przypadku jest wielkim osiągnięciem, bo sen to jedno z moich ulubionych zajęć ;)
Czas mijał, ja przyswajałem nową wiedzę i oto jest rok 2018, w którym pojawić ma się kolejne, tym razem ponownie w 100% moje dzieło, w założeniu dużo bardziej zaawansowane.
W tej serii artykułów uchylę rąbka tajemnicy o procesie powstawania gry, który obecnie zajmuje mi każdą wolną chwilę.
First steps
I created my first game while studying. I made it in Flash and all it was about to speculate shares of companies listed on Stock Exchange. Regret that I did't go on and for the next similar episode I had to wait until 2014, when I took part in an event called "Krak Jam". It was a programming marathon, during which in just over 60 hours, my (in 50% — two-man team) second game was created. However, it's not the game itself, what was the big success of this event for me, but the fact that during this 60 hours I slept less than 6, which in my case is great achievement, because sleeping is what I truly love :)
Time passed, I acquired new knowledge and here we are in 2018 when my next game is about to be released, this time 100% of my work, assumed to represent much higher level.
In this series of articles, I will unveil secrets about the game creation process, that takes up my every spare moment.
Zaczynamy!
Pierwsza podstawowa sprawa w każdym projekcie to przygotowanie środowiska, w którym będzie on powstawał. Na środowisko projektu składa się tak naprawdę wszystko, co jest potrzebne do powstania końcowego produktu. W przypadku tego konkretnego projektu (którego nota bene wg niektórych metodyk prowadzenia projektów, nie powinienem nazywać „projektem”, gdyż do jego wykonania wystarczy jedna osoba) na środowisko będą składać się: materiały biurowe (kartka i długopis), stanowisko komputerowe z potrzebnymi aplikacjami oraz smartfony do testowania produktu (im więcej różnych modeli, tym lepiej).
O ile papier i długopis, jakkolwiek niezwykle ważne, niezbędne i niejednokrotnie niedoceniane narzędzia, nie wymagają szerszego opisu, o tyle na omówienie komputera poświęcę resztę tego artykułu.
Let's go!
The first matter in each project is to prepare the environment which the project will be created in. The project's environment contains essentially everything that is needed to create the final product. In case of this particular project (which, according to some project management methodologies, I should't even call a "project", because it's one man work), the environment will contain: office supplies (a notebook and a pen), a computer workstation, necessarily with suitable applications installed, and smartphones to test the product (the more different models the better).
While the paper and pen, however extremely important, crucial and frequently undervalued tools, doesn't require broader description. I'll devote the rest of this article to describe the hardware.
Sprzęt
Specyfikacja komputera determinuje możliwości obliczeniowe, a przez to wpływa bezpośrednio na tempo pracy. Trzeba spojrzeć prawdzie w oczy, stary laptop nie będzie dobrym rozwiązaniem. Będziemy używać programów do grafiki 3D, których apetyt na moc obliczeniową „dąży do nieskończoności”. Moim zdaniem, dzisiejsze minimum umożliwiające w miarę wygodną pracę, to stanowisko wyposażone w mocny przynajmniej 4-rdzeniowy procesor, pamięć operacyjną o wielkości 16 GB, kartę graficzną (raczej NVIDIA – później wyjaśnię dlaczego) z 3GB RAM na pokładzie, dysk twardy 1TB, najlepiej dwa nośniki, w tym jeden zewnętrzny, który będzie służył do przechowywania kopii zapasowych – nie chcemy stracić tygodni, czy miesięcy pracy przez jakąś awarię. Przydatna bywa także druga karta graficzna (jedna do wyświetlania obrazu a druga do renderingu) czy drugi monitor, dzięki któremu łatwiej zagospodarujemy przestrzeń roboczą, jednak nie są one konieczne – da radę na jednym ekranie i jednej karcie.
Nadmieniłem o karcie graficznej od NVIDII z racji tego, że będziemy pracować w Blenderze, przez co nie mogę niestety polecić kart ze stajni AMD. Przez jakiś czas próbowałem działać na ich sprzęcie i miałem wielkie problemy z kompatybilnością (artefakty podczas renderowania za pomocą GPU – czyli procesora karty), co spowodowało, że przy całej sympatii do AMD zmuszony byłem przesiąść się na NVIDIĘ, która bezproblemowo obsługuje GPU rendering. Taki zestaw wg mnie wystarczy, aczkolwiek jak to mówią „od przybytku głowa nie boli”. Im wydajniejszym sprzętem będziemy dysponowali, tym płynniejsza będzie praca. Sam działam na 6 rdzeniowym (12-wątkowym) procesorze intela, 64 GB RAM i 6 GB karcie graficznej. Nie jest to demon prędkości, choć wystarcza do w miarę efektywnej pracy.
W skład stanowiska wchodzą także oczywiście urządzenia peryferyjne, jak myszka, klawiatura, może tablet graficzny, manipulator 3D i koniecznie... smartfon, za pomocą którego będziemy testowali jak działa nasza gra, oraz kabelek do połączenia z komputerem. Tak naprawdę warto mieć kilka smartfonów o różnej wzdajności. Dzięki temu, wiele niedociągnięć można wyłapać zanim jeszcze komukolwiek pokaże się produkt.
Mając przygotowane stanowisko, można przystąpić do instalowania oprogramowania, ale to już temat na następny artykuł.
CDN.
Hardware
The computer specification determines computational capabilities, and thus directly affect the pace of work. Let's make it straight, the old laptop will not be a good solution. We will use a 3D graphics programs which appetite for computational power "tends to infinity." In my opinion, nowadays minimum that will allow for relatively comfortable work, is workstation equipped with a 4 core processor, 16 GB operating memory, graphics card (rather NVIDIA — later I'll explain why) with at least 3GB RAM, 1TB hard disk, preferably two drives, including one external, which will be used to store backups — we do not want to lose weeks or months of work, cause of some failure. Second monitor would also be useful, equally second graphic card — it makes work more comfortable.
As I mentioned, the NVIDIA graphics card will be better solution due to the fact that we will work in "Blender" (3D program), that is why I can't unfortunately recommend cards from AMD. For some time I tried to work with their cards and have had compatibility problems, so despite I prefer AMD, I was forced to switch to NVIDIA, which seamlessly supports GPU rendering. Workstation like this should be sufficient, although the more efficient equipment we have, the smoother work will be. I work with 6 core (12 threads) Intel processor, 64 GB of RAM and graphic card with 6 GB installed. It's not demon of velocity but do the job.
Workstation should of course contain some peripheries like keyboard, mouse, maybe graphic tablet, 3d manipulator and necessarily smartphone, which we'll be using to test our game, and wire to connect it to the workstation. It's better when you can use many devices from low cost to top smartphones. That help to menage more bugs before first issue.
When we have it all prepared, we can approach to install software, and that will be the subject of next article.
To be continued...
Powodzenia :) Sam kiedyś grzebałem w Unity, podstawa to samozaparcie :)!
Dzięki! Fakt... motywacja i dyscyplina to klucz do sukcesu.
@absenscarens you were flagged by a worthless gang of trolls, so, I gave you an upvote to counteract it! Enjoy!!
Thank You! :)