Większość innych postów będzie brzmiała: „stwórz grę, a nie silnik”, ale zakładam, że masz na myśli konkretną grę, którą chcesz stworzyć i chcesz wiedzieć, kiedy warto zacząć od kodu innej osoby oprzeć lub zacząć od zera.
Nie powinieneś rzucać własną technologią, chyba że wiesz, że musisz rzucić własną . Może to zabrzmi źle, ale to naprawdę jedyna poprawna odpowiedź. Podobnie jak w przypadku większości decyzji, istnieją kompromisy. Tylko Ty możesz określić dla swojej konkretnej sytuacji analizę kosztów / korzyści.
Powinieneś rozumieć następujące rzeczy (ta lista nie obejmuje wszystkich).
- Jakie oprogramowanie pośrednie jest już dostępne („silnik” lub w inny sposób)
- Co to oprogramowanie pośrednie przynosi na stół, pod względem funkcji.
- Jak dojrzałe / sprawdzone jest oprogramowanie pośrednie, szczególnie jeśli zależy Ci na obsłudze wieloplatformowej
- Jakie narzędzia zapewnia lub nie zapewnia oprogramowanie pośrednie, aby przyspieszyć programowanie (nie dyskontuj narzędzi własnymi technologiami)
- Jakie ograniczenia ma oprogramowanie pośrednie (jako prosty przykład Unity 3.x nie robiło cieni w czasie rzeczywistym z dynamicznych świateł na iOS)
- Jakie konkretne funkcje musi mieć Twoja gra .
- Jakie są twoje terminy i ile czasu będziesz musiał poświęcić, aby dostać się do punktu, w którym dostaniesz oprogramowanie pośrednie, a ile kosztuje to oprogramowanie pośrednie.
- Jak rozszerzalne jest oprogramowanie pośrednie (na przykład możesz obejść problem z cieniem w iOS w Unity, używając cieni kropelkowych. A może cieni projekcyjnych).
(Zauważ, że specjalnie nie umieściłem tam „większej kontroli”. To załadowane wyrażenie może mieć zakres od „Nie lubię kodu, którego nie piszę” do „Muszę być w stanie widzieć, rozumieć i popraw wszystkie zmienne w silniku fizyki, aby osiągnąć ten konkretny efekt. „Pierwszy nie jest tak naprawdę uzasadniony, ale drugi jest.)
Osobiście uważam, że wdrożenie własnej technologii w grze o niskim budżecie nie jest nigdy warte wysiłku. Ilość mocy, jaką zyskujesz obecnie w tanich silnikach, jest absurdalna. Nie jesteś w momencie, w którym decydujesz się na wielomiliardową potrójną licencję silnika A, czy nie. Nie będziesz w stanie pokonać tego, co, powiedzmy, oferuje Unity za 3 000 $. Lub Cocos2d za cokolwiek kosztuje (czy to nie za darmo?).
Teraz, jeśli twoja gra koncentruje się głównie na technologiach, których inne silniki nie są w stanie zapewnić lub zapewniają rozsądną szybkość klatek, być może warto zbadać, co możesz zrobić. Nie oznacza to jednak, że całkowicie wyrzucasz inne oprogramowanie pośrednie. To, że potrzebujesz własnego, powiedzmy, renderera, nie oznacza, że nie możesz użyć innego oprogramowania pośredniego do fizyki, dźwięku, interfejsu użytkownika ani tego, co masz.