Witamy na forum PC Format Zapraszamy do REJESTRACJI


Użytkownicy przeglądający ten wątek: 2 gości

Wybór języka

#1
Wybór języka
Witam, w jakim języku pisać gry indie?
Chodzi mi o Java/C++ itp.
 System operacyjny: windows_ten Przeglądarka: chrome
#2
RE: Wybór języka
Generalnie najlepiej chyba C# + Unity. Grafika w Blenderze.

https://pl.wikipedia.org/wiki/Unity_(silnik_gry)

https://www.blender.org
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#3
RE: Wybór języka
Zgadzam się z Ajgorem. Jeśli chcesz stworzyć grę w pojedynkę, zwłaszcza jeśli jest to twoja pierwsza gra, to warto wykorzystać gotowy silnik. Unity jest silnikiem, z którego ludzie często żartują (ze względu na masę słabych gier) ale pozwala stworzyć pokaźną grę (chociażby Gwint od CD Projekt Red śmiga na Unity).

C# jest ogółem dosyć przystępnym językiem programowania. W pracy wykorzystuję zarówno C# jako i C++ i jeśli chodzi o przystępność to C# wygrywa pod każdym względem. C++ pozwoli na lepszą optymalizację silnika (większość gier segmentu AAA wykorzystuje silniki napisane w C++) ale łatwiej w nim o błędy, chociażby wycieki pamięci. Java jest w zasadzie bratem bliźniakiem C#.

Także C# i Unity to dobry wybór. Tym bardziej że w grach indie liczy się bardziej koncepcja, pomysłowość i warstwa artystyczna niż wspaniałe technikalia.
"Każdego specjalistę da się zastąpić skończoną liczbą stażystów"
 System operacyjny: windows_seven Przeglądarka: firefox
#4
RE: Wybór języka
Przede wszystkim C# jest natywnym językiem silnika Unity. Wszystko w unity, czego nie da się wyklikać, pisze się w C#.
Co do C++ to mam wrażenie (chociaż mogę się mylić), że od jakiegoś czasu jest coraz rzadziej używany (nie licząc ludzi, którzy używają go od lat i nigdy nie zmienią na inny Wesoły )
Java jest bliźniakiem C# ale do pewnego momentu. Zawsze koronnym argumentem za Javą była jej przenośność. Że można było napisać grę w Java, i uruchamiać na każdym systemie, a w C# nie. Tylko że... Po pierwsze nie do końca tak jest. Jak się w Java tworzy interfejsy graficzne, to używa się natywnych kontrolek itp. A wtedy kończy się przenośność. A z C# aktualnie jest dokładnie odwrotnie. Od pewnego czasu Microsoft powoli podmienia główny framework. Odchodzi od .NETFrameworka, i przechodzi na .NET Core, który jest całkowicie przenośny. Nawet stworzyli środowisko VisualStudio Code, w którym można pisać w C# pod Linuksem, albo MacOS-em. Nowy .NET 5.0 który wchodzi do użytku lada dzień ma mieć zintegrowany .NETFramework i .NET Core. Chociaż przyznam, że póki co nie mam pojęcia, jak wygląda tworzenie interfejsów graficznych w NET Core pod innymi systemami.
Ale za to powoli rodzi się coś ZUPEŁNIE nowego, co z czasem może dokonać niezłej rewolucji w tworzeniu zaawansowanych serwisów internetowych (w tym gier). Dotychczas zaawansowane strony po stronie przeglądarki były tworzone w HTML5 + CSS + JavaScript. I nie było żadnej alternatywy. Niecałe dwa lata temu twórcy największych przeglądarek stworzyli nową technologię - WebAssembly, która ma umożliwić tworzenie stron po stronie użytkownika (frontend) w dowolnym języku (a nie w JavaScripcie). I Microsoft już się dostosował, i wypuścił nowe środowisko uruchomieniowe o nazwie "Blazor", działające w przeglądarce. Czyli praktycznie JUŻ można tworzyć strony w HTML5 + CSS + C#. A jak do tego dodasz backend w C#, to nie zdziwię się, jak za jakiś czas takie gry, jak GTA 6, czy Cyberpunk 2077 - 2 wyjdą jako gry przeglądarkowe, wcale nie ustępujące grom desktopowym. Na razie wszyscy się uczą Blazora, więc trochę potrwa, zanim pokaże swoje prawdziwe oblicze, ale myślę, że to będzie coś dużego.
Pozdrawiam.
Ajgor
 System operacyjny: windows_ten Przeglądarka: chrome
#5
RE: Wybór języka
C++ wcale nie wychodzi z użytku. Wspomniany przez Ciebie Cyberpunk 2077 śmiga na REDEngine 4, napisanym właśnie w C++. Unreal Engine to też C++. CryEngine to C++. Ubisoftowy Anvil to też C++. Pod tym względem wyłamuje się Unity, napisany w C#. Od lat mówi się o tym, że Rust zastąpi C++ ale nadal to głównie odległe prognozy.

Co do WebAssembly, to z pewnością jest to technologia przyszłościowa ale jeszcze latami C++ będzie królował jako język silników gier. Ma przede wszystkim jedną zaletę nad Javą, C#, Pythonem itd. Jest kompilowany do kodu binarnego a nie interpretowany jak Python czy kompilowany do kody bajtowego jak Java czy C#. Cierpi na tym przenośność, zyskuje optymalizacja. A w sytuacji gdy sprzęt nadal stanowi ograniczenie dla gier AAA to optymalizacja jest kluczowa. Do chodzi do tego pełna kontrola nad pamięcią, GC w Javie i C# nadal jest niedoskonały i nie gwarantuje że w porę zwolni zasoby lub że w czasie zwalniania zasobów nie spadnie wydajność.

A czy przenośność jest nam potrzebna? Zaryzykuję, że nie. Gra pisana na tablety i komórki musi mieć zupełnie inne sterowanie niż gra na komputery, więc mało która gra nadaje się do portowania, pomijając fakt mniejszych zasobów. Z kolei gry na Linuxa i Windowsa mogą być dość swobodnie przenoszone, o ile korzystają z OpenGL.
"Każdego specjalistę da się zastąpić skończoną liczbą stażystów"
 System operacyjny: windows_seven Przeglądarka: firefox
#6
RE: Wybór języka
Mowa o grach indie więc zdecydowanie C# i tutaj nie ma co sie zastanawiać, bo unity daje spore możliwości a i sporo osób w tym działa więc masa problemów zostałą już rozwiązana i wisi na stacku i innych.
 System operacyjny: windows_ten Przeglądarka: chrome
Programy: Polecane / Nowe / Inne




Podobne wątki (Wybór języka)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Prośba o pomoc przy wyborze języka do konkretnego projektu. romands 6 7048 05.04.2020, 14:07
Ostatni post: romands
  Jak zaczynaliście naukę języka C#? irask2 6 5098 30.08.2014, 12:43
Ostatni post: biaaly13
  Nauka programowania. Przyszłość języka PHP. elbroth 14 14058 20.08.2014, 18:39
Ostatni post: Szachista

Skocz do:


Wybrane wątki (Wybór języka)
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Oczekiwanie na Akcje przycisku wanhelsing 8 8793 01.03.2020 19:44
Ostatni post: Szachista
Toungue Wybór szkoły średniej przez potencjalnego programistę Zikinan 1 8375 09.02.2020 15:58
Ostatni post: dzikuu86
  Poszukuję pomysłu na prosty program ;) janciu96 5 17906 13.12.2019 23:32
Ostatni post: Ajgor
  Programowanie Batch (CMD) Informatyk2019 0 9183 11.12.2019 18:30
Ostatni post: Informatyk2019
  [JavaScript] Znajdowanie przedziału czasu rafal12999 0 4398 10.12.2019 17:58
Ostatni post: rafal12999
  Przekazywanie wskaźnika przez referencję w Qt Trojan3000 3 17296 10.12.2019 13:16
Ostatni post: Ajgor
  Proszę o pomoc w uzupełnieniu ankiety dt. Zawodu Programisty MaleMonki 0 4554 17.11.2019 12:47
Ostatni post: MaleMonki
  Spring framework – jakie strony polecacie do nauki? olek23 5 10429 15.11.2019 15:57
Ostatni post: Alsenas
  Programowanie windy (problem) w C++ mysza2323 2 9785 06.11.2019 23:04
Ostatni post: mysza2323
  Programy w C ~Anonim 1 9889 22.10.2019 17:48
Ostatni post: Szachista
  Wyświetlanie informacji z bazy danych na stronie www PitPlay 1 10315 16.09.2019 11:18
Ostatni post: Ajgor
  Błąd przy uruchamianiu programu w Java z wiersza poleceń Physicist 3 4942 30.08.2019 14:16
Ostatni post: Physicist
  Python z wiersza poleceń Physicist 15 27490 21.08.2019 20:14
Ostatni post: Physicist
  Transfer plików via FTP Visual Basic FireBytes 3 7457 15.08.2019 07:41
Ostatni post: Szachista
  Menu wysuwane z boku patryk67 1 10001 07.08.2019 12:43
Ostatni post: aht