Jak zacząć będąc programistą


#1

Panowie i Panie (jeśli takie są) potrzebuję rady odnośnie technologii. Programistą jestem od jakichś 10 lat, jednak siedzę w PHP, ewentualnie Javascript. Trochę dłubię też w C/C++ ale to raczej pozostałość z początków i jestem raczej na etapie zapominania bibliotek.
Szukam informacji od czego powinienem zacząć chcąc zrobić grę w 2D i tylko w 2D. To całe 3D nigdy mnie nie bawiło. A tytuły które są dla mnie wzorem to np Rimworld i Factorio, czyli ogólnie duże mapy w 2D z setkami jak nie tysiącami interaktywnych przedmiotów. No i gra musi być instalowana na komputerze.
Zgaduję że powinienem w takim wypadku napisać jakiś silnik operujący na danych a do tego dołączyć nakładkę graficzną pobierającą dane z danego obszaru.
Proszę o radę, jakiego języka i bibliotek używa się do takich zadań. Jestem totalnym amatorem w temacie tworzenia gier i potrzebuję nakierowania na odpowiednią ścieżkę.


#2
  1. zasada:
    jeśli chcesz zrobić grę, wybierz istniejący silnik (do 2D najlepiej Godot, czy Unity) - start small.
    Alternatywnie możesz wykorzystać biblioteki dostępne w praktycznie każdym języku - pogooglaj - np. C++ SFML (jest też port na C# - SFML.NET), Java LibGDX (mobilki), JavaScript Phaser.

Najlepiej dobrze się zastanów. Albo robisz grę, albo silnik.
Stworzyć własny silnik, a potem na nim grę kiedy nie ma się ani pojęcia o tym czym są silniki, ani o tym jak robi się gry = porażka od razu na starcie. Po co na nowo wymyślać koło, po co się niepotrzebnie stresować? W najlepszym przypadku zajmie Ci to tyle czasu, że zapomnisz o co Ci chodziło.
Chyba, że nie obchodzi Cię czas, i po prostu chcesz poeksperymentować - droga wolna.


#3

Oczywiście mam zamiar robić grę a nie silnik, po prostu nie wiem czym to się je. Nazwy silników są dla mnie bardzo pomocne, już mam co googlować i wiem skąd tyle książek o Unity :wink:

Jeśli ktoś ma inne rady to będę wdzięczny, chociażby odnośnie IDE.
Na razie wygooglałem tutoriale Unity i będę drążył. Bardzo zachecajace jest to że Rimworld jest właśnie w Unity i C#, wystarczyło dowiedzieć się o co zapytać google…

O i jeszcze ważna rzecz. Jak wygląda sprawa z późniejszą sprzedażą takiej gry z gotowym silnikiem nawet za symboliczne 5zł? Może się okazać że cena licencji zadecyduje o silniku.


#4

Pogoogluj wszystko o licencji jest w necie. W większości przypadków wygląda to tak że po przekroczeniu jakiegoś progiu w skali roku musisz wydawać silnika odpalić albo stała kwotę albo %. Na każdy oficjalnym webie te info jest podane .

Dodatkowo zachęcam dołączyć do naszej mikro społeczności na serwerze discord, gdzie na pewno uzyskasz odpowiedzi na wszystkie nurtujące Cię pytania.


#5

Panowie pojawiło się kolejne pytanie. Skąd brać grafikę 2D do gry komercyjnej? Ogólnie nie mam jakichś super wymagań na początku, ale jakoś to musi wyglądać. Przejrzałem banki zdjęć ale raz że nie zawsze da się znaleźć to czego się chce, a dwa że jest dość drogo.
Może jest jakaś alternatywa, darmowe zbiory grafik na początek? Żeby nie płacić 2000zł za coś co być może mi się znudzi, albo przynajmniej coś gdzie pojedyncza grafika kosztuje kilka złotych.


#6

Darmowe assety albo poszukaj taniego amatora lub początkującego grafika.


#7

Jako grafik 2D odpowiem - daj zarobić grafikowi 2D :wink: A tak naprawdę to wiele osób zrobi Ci elementy za darmo lub tanim kosztem. Ty przy okazji zyskasz, ucząc się współpracy w zespole, bo prędzej czy później najprawdopodobniej się w nim znajdziesz.

Jeśli nie to rozwiązanie, pozostają darmowe assety z sieci.


#8

A ja proponuję narazie słowo konercyjna gra schować do szuflady, i czerpać z darmowych grafik. Jak już całość znacznie nabierać realne kształty zmienić grafikę to nie wielki problem.


#9

#10

Palanthir wielkie dzięki za ten link :slight_smile:

Spicmir i tak i nie, wszystko zależy od ilości i wykrywania kolizji. W każdym razie nie jest to 5 minut.
A na początku to jednak grafik nie jest najlepszym pomysłem. Lepiej założyć wymianę grafiki w chwili gdy okaże się że sam content jest interesujący i ktoś chce to kupić.
Z zawodu jestem backendowcem, więc zawsze olewałem warstwę wizualną stawiając na funkcjonalność :smile:


#11

Więc zrób tak i tym razem. Placeholdery i do przodu :wink: