• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Rzeczy, które pomogą przy tworzeniu silnika gry

Object Storage Arubacloud
0 głosów
551 wizyt
pytanie zadane 30 czerwca 2018 w Nasze projekty przez go north Nowicjusz (230 p.)
edycja 30 czerwca 2018 przez Patrycjerz
Witam,

Jestem w trakcie tworzenia silnika gry. Wiem, że w internecie jest masa gotowych silników, lecz już zrobiłem swoją grę w ramach nauki. Następnym celem jaki sobie postawiłem jest silnik gry, lecz pojawił się problem, bo nie wiem jak mam zacząć. Szukam różnych wskazówek oraz źródeł, z których mogę korzystać, np. książki, blogi czy filmy na YouTube. Mile będą również widziane wasze rady od siebie.

Z góry wszystkim dziękuję i miłego dnia.
1
komentarz 30 czerwca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Człowieku, bój się Boga… "źrudeł", "bendą". Edytor na forum chyba podkreśla takie babole.
komentarz 30 czerwca 2018 przez go north Nowicjusz (230 p.)
Dobrze bendę pamiętać na przyszłość ;)
komentarz 1 lipca 2018 przez WireNess Stary wyjadacz (11,240 p.)

Będę

5 odpowiedzi

+3 głosów
odpowiedź 1 lipca 2018 przez criss Mędrzec (172,590 p.)
wybrane 4 lipca 2018 przez go north
 
Najlepsza

Pisz dalej swoją grę, ale wszystkie podstawowe mechanizmy napisz tak, żebyś mógł je wykorzystać w dowolnej innej grze. Tak powstaną zarysy silnika, a dalej już powinieneś sam wpadać na pomysły/potrzeby co do dalszego rozwoju. Na początek możesz napisać swoją biblioteke matematyczną (działania na wektorach chociażby, macierzach jeśli potrzebujesz [nie wiem na jak niski poziom chcesz wchodzić pisząc silnik], quaternion), klasę do obsługi inputu i inne takie niezbędne rzeczy. Później klasy/interfejsy w stylu sf::Drawable czy sf::Transformable (przykłady, twój silnik może działać ofc działać w inny sposób :D) z ktorych użytkownicy silnika będą mogli dziedziczyć pisząc swoje klasy - to jak już będziesz miał więcej konkretów jak silnik będzie wyświetlał rzeczy w oknie..

Dużo zależy od tego na jak niski poziom chcesz schodzić o czym już wspomniałem. Czy będziesz bazował na tym co oferuje sfml czy inna biblioteka graficzna czy chcesz od zera pisać swój renderer (w takim wypadku musisz zacząć od nauki jakiegoś interfejsu graficznego (OpenGL, DirectX, Vulkan przy czym zdecydowanie odradzam Vulkana na początek)). Czy chcesz wykorzystać przechwytywanie inputu z jakiejś biblioteki czy samemu się babrać w API systemów operacyjnych? Podobnie z tworzeniem samego okna i kontekstu dla wybranego przez ciebie interfejsu graficznego. Także powtarzam - bardzo wiele zależy od tego na jak niskim poziomie chcesz się bawić, ale to od czego możesz na pewno zacząć napisałem ci w pierwszym akapicie :)

komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)

Pisz dalej swoją grę, ale wszystkie podstawowe mechanizmy napisz tak, żebyś mógł je wykorzystać w dowolnej innej grze.

Rozumiem, że kolega jest początkujący, ale IMHO jest to bardzo poważny błąd projektowy. Nie powinno się pisać ani projektować uniwersalnych rozwiązań przez pryzmat projektu, lub produktu. Wiele firm tak robiło chwaląc się własnymi frameworkami. Potem zatrudniasz się w takiej firmie, patrzysz na kod autorskiego frameworka i... crying​​​​​​, pot oraz wyrywanie sobie włosów. 

1
komentarz 1 lipca 2018 przez criss Mędrzec (172,590 p.)

Cóż, ja w ten sposób zacząłem pisać swoje biblioteko-coś i przynajmniej w celach samorozwoju wg mnie to bardzo fajny sposób. I na więcej niż samorozwój na razie nie ma co liczyć, bo wiadomo, że z pierwszego silnika nic wyjątkowego nie wyjdzie :P

Potem zatrudniasz się w takiej firmie, patrzysz na kod autorskiego frameworka i... crying​​​​​​, pot oraz wyrywanie sobie włosów. 

Co masz na myśli? Co jest z tym kodem nie tak tylko dlatego, że to autorski framework?  

komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)

No właśnie wszystko. Firmy z reguły są nastawione na podejmowanie działań przynoszących zyski. Zobacz jakie marki pozwalają sobie na tworzenie uniwersalnych rozwiązań. Facebook, Google, Amazon.

Za każdym razem kiedy słyszę korzystamy z własnego frameworka pali mi się w głowie czerwona lampka, bo w skrócie oznacza to: syf w kodzie, projekt na ponad 1k plików. ​​​​​​

No chyba, że mowa o bibliotekach w stylu isarray:

var toString = {}.toString;

module.exports = Array.isArray || function (arr) {
  return toString.call(arr) == '[object Array]';
};

https://github.com/juliangruber/isarray

komentarz 1 lipca 2018 przez criss Mędrzec (172,590 p.)
Ok, ale skoro jesteś przeciwko "własnym frameworkom", to za czym jesteś i jak to się przekłada na pisanie silnika przez autora tematu?
komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)
Jestem jak najbardziej za frameworkami i libkami, ale pisanymi tak by rozwiązywać ogólne problemy, a nie te przy tworzeniu jednego projektu.
komentarz 1 lipca 2018 przez criss Mędrzec (172,590 p.)
Dlatego podkreśliłem, żeby generalizować mechanizmy tak żeby były.. generyczne. Równolegle z gierką fajnie jest to pisać, bo można na bieżąco testować bez pisania jakichś exampli specjalnie.
+1 głos
odpowiedź 30 czerwca 2018 przez marcin99b Szeryf (82,180 p.)
Nie bawie sie w gamedev, ale akurat ja wziąłbym jakąś biblioteke powiązaną z grafiką, np popularny jest sfml

I jedziemy, spójrz jakie opcje udostępniają inne silniki i spróbuj zrobić coś podobnego
komentarz 30 czerwca 2018 przez go north Nowicjusz (230 p.)
Dzięki
+1 głos
odpowiedź 1 lipca 2018 przez profesorek96 Szeryf (91,420 p.)
komentarz 4 lipca 2018 przez go north Nowicjusz (230 p.)
A mógłbyś dodać jakiegoś PDF'a tej książki?
komentarz 6 lipca 2018 przez profesorek96 Szeryf (91,420 p.)
Niestety zasmucę cię, nie popieram piractwa to raz dwa ja wszystkie ksiazki kupuje bo uwielbiam czytac normalnie a nie na świecącym czymś i mieć fizycznie książkę a nie kawałek plastiku.
–2 głosów
odpowiedź 1 lipca 2018 przez MAXIM7 Obywatel (1,990 p.)
Spróbuj wykorzystać XNA
–2 głosów
odpowiedź 1 lipca 2018 przez pawinnek Nowicjusz (180 p.)
Wrzuć jakiegoś screena gry to to może ktoś oceni czy masz jakieś szanse żeby napisać silnik. Prostą grę można napisać w jeden dzień natomiast naprawdę użyteczny silnik samemu w minimum rok.
komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)

Wrzuć jakiegoś screena gry to to może ktoś oceni czy masz jakieś szanse żeby napisać silnik. 

I niech wrzuci zdjęcie obiadu, to ocenimy jak smakuje. no

1
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Ehlert, co ma wnosić twoja uwaga? Jeśli nie zgadzasz się z odpowiedzią, to uargumentuj to jakoś, a nie wrzucasz bezsensowną docinkę. Ja po części zgadzam się z pawinnek. Może sam wygląd gry wiele nie mówi o kunszcie programistycznym, no ale jest wyznacznikiem dbałości o szczegóły.
komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)
Uważam, że moje porównanie było trafne. Mogę wrzucić screena z dwoma czerwonymi kwadratami. Wywnioskujesz z tego czy to unreal czy kilka marnych linijek w SFMLu?
komentarz 1 lipca 2018 przez Patrycjerz Mędrzec (192,320 p.)
Oczywiście że nie, ale po treści posta stwierdzam, że kolega stworzył grę w C++ (jest taki tag), więc tym bardziej byłoby to miarodajne. Myśl jak uważasz, ja tylko dorzuciłem swoje trzy grosze do tej dyskusji.
komentarz 1 lipca 2018 przez Ehlert Ekspert (212,670 p.)
Szanuję Twoje zdanie, ale dalej uważam że to jak ocenianie smaku jedzenia po jego wyglądzie.
1
komentarz 4 lipca 2018 przez go north Nowicjusz (230 p.)
Ehlert zgadzam się z Tobą, ponieważ nie da się rozpoznać po ss jak działa gra itp.
komentarz 13 sierpnia 2019 przez pawinnek Nowicjusz (180 p.)
Wiem że trochę późno ale jak ktoś tu trafi przez przypadek

Silnik graficzny =/= gra

Silnik graficzny =/= silnik fizyki

Nie znasz się na grafice, nie rób. Nie ma sensu żeby człowiek tworzył nowy silnik żeby skopiować funkcjonalności unity czy innego RPG makera. Trzeba się uczyć na czyiś błędach jak np. Archaika

Podobne pytania

0 głosów
0 odpowiedzi 156 wizyt
pytanie zadane 24 kwietnia 2019 w Nasze projekty przez Ajver Bywalec (2,430 p.)
0 głosów
1 odpowiedź 314 wizyt
pytanie zadane 1 czerwca 2018 w PHP przez Muhin Gaduła (4,120 p.)
+3 głosów
3 odpowiedzi 415 wizyt
pytanie zadane 2 kwietnia 2016 w Nasze projekty przez MisterVento3 Użytkownik (830 p.)

92,572 zapytań

141,423 odpowiedzi

319,645 komentarzy

61,959 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...