Nowy język Google w Go jest jeszcze w powijakach i nie znalazł jeszcze powszechnego zastosowania lub wsparcia w świecie rzeczywistym. Mimo to wydaje się to obiecującym eksperymentem i zastanawiam się, czy może mieć przyszłość w rozwoju gier. Nie byłem w stanie znaleźć dużo dyskusji na temat Go w innych grach i uznałem, że dyskusja CW może być odpowiednia.
Kilka myśli:
- Według golang.org , programy Go „działają prawie tak szybko, jak porównywalny kod C lub C ++” - wystarczająco szybko?
- Czy funkcja usuwania śmieci Go nadaje się do gier?
- Ile mentalnego przeprojektowania jest potrzebne do tworzenia gier w krainie współbieżnych goroutines?
- Go jest często nazywany językiem „systemowym”, z przykładem oprogramowania serwera. Słysząc to, trudno nie myśleć o serwerach gier dla wielu graczy.
Twoje myśli?
Odpowiedzi:
Moje zdanie na twoje pytania:
Moim zdaniem, jeśli masz dość siły, by spróbować pisać gry z językiem, idź na całość. Oczywiście, jeśli zastanawiasz się nad tym, masz do tego pasję i dlaczego nie podążać za tą pasją zamiast zmuszać się do przestrzegania normy? Mógłbym powiedzieć dużo więcej, ale już w mojej odpowiedzi na pytanie „Czy Ruby jest odpowiednim językiem do tworzenia gier?”.
źródło
Napisałem mały silnik w Go dla OSX (używając OpenGl do okna graficznego). Mam pewne doświadczenie z silnikami gier C ++ ( http://morganjeff.weebly.com/ ) i postanowiłem wypróbować Go po przeczytaniu o niektórych jego funkcjach.
Począwszy od wersji Go 1.1, Go obsługuje większość funkcji potrzebnych do napisania silnika gry (tak naprawdę rdzeń gry, ponieważ silnik sugeruje edytorom, a co nie), w tym:
Niektóre zalety korzystania z Go (w przypadku dużego projektu):
Niektóre zalety korzystania z Go w ogóle:
Niektóre wady korzystania z Go:
Są sposoby na uzyskanie surowej pamięci w go (importowanie „niebezpieczne”), a link do artykułu, który pokazuje, jak program go może być profilowany pod kątem pamięci i szybkości. Podsumowując, twierdzenie Go, że jest to nowoczesne C, wydaje się bardzo prawdziwe. Myślę, że jest „elegancko” zaprojektowany (z wielu powodów, o których wspominałem) i, co ważniejsze, jest dobrze udokumentowany. Silnik zaprojektowany w Go będzie trochę inny niż silnik zaprojektowany w C ++ (coś, do czego wciąż się przyzwyczajam), ale silnik Go rozwiązuje wiele problemów, które tak naprawdę nie są rozwiązane w C ++ (mianowicie równoległość, złożoność języka C ++ i niewłaściwe użycie dziedziczenia).
Oto obiecany artykuł: http://blog.golang.org/2011/06/profiling-go-programs.html
-Jeff
źródło
Należy jeszcze pomyśleć o tym, że ponieważ Go jest wciąż stosunkowo nowy, może nie być jeszcze powiązań dla wielu popularnych bibliotek używanych do tworzenia gier.
źródło
Nie używaj Go do rozwijania gry, będzie to po prostu albatros na szyi. Łańcuch narzędzi do tworzenia gier rozciąga się o wiele głębiej niż tylko język, w którym piszesz rzeczy, że na każdym kroku znajdziesz przeszkody, których po prostu nie będzie, jeśli pójdziesz z czymś ustalonym.
Nie zrozum mnie źle, uwielbiam grać z nowymi językami, ale jeśli próbujesz zmusić gry do wybrania języka, który ma społeczność i wsparcie, a będziesz znacznie lepiej.
źródło