Silniki 19809 50

O temacie

Autor Sawik

Zaczęty 30.03.2015 roku

Wyświetleń 19809

Odpowiedzi 50

mgr Fartuess

mgr Fartuess

Użytkownicy
Kiedyś to były czasy!
posty1486
Propsy890
ProfesjaProgramista
  • Użytkownicy
  • Kiedyś to były czasy!
Nikt jeszcze o tym nie napisał to ja wspomnę.

Vulkan API (następca OpenGLa) został udostępniony publicznie 3 dni temu.

https://www.khronos.org/vulkan/

Póki co przykłady mi się nie odpalają i nie ma skąd się sensownie uczyć API :P
 
Popisuje się ciągle menda jedna...

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
A ten twój silnik jest w DirectXie czy OpenGLu?
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii


mgr Fartuess

mgr Fartuess

Użytkownicy
Kiedyś to były czasy!
posty1486
Propsy890
ProfesjaProgramista
  • Użytkownicy
  • Kiedyś to były czasy!
@Leinnan Mój w OpenGLu.

@Avallach
AMD zawaliło ze sterownikami i musiałem pobrać jeszcze raz poprawione. Teraz przynajmniej vkinfo mi działa. Ale przykłady z pojedyńczym trójkątem albo z kostką nadal nie działają :P
 
Popisuje się ciągle menda jedna...

Wonski

Wonski

Gry (themodders@telegram)
radio engineer
posty257
Propsy91
ProfesjaProgramista
  • Gry (themodders@telegram)
  • radio engineer

Wonski
Gry (themodders@telegram)

Silniki
Cześć,
Nie chcę zakładać nowego tematu, więc napisze tutaj...
Czy możecie polecić jakiś silnik do gier strategicznych, coś w stylu ClauseWitz (robiono na nim EU4).

Wiem, ze każdy silnik nawet typowo do fps można przerobić pod strategię, ale chodzi o silniki które były tworzone z myślą o strategiach.
Najważniejsze jest by kod pisało się w c++ oraz dokumentacja samego silnika była dosyć obszerna.

EDIT
Fajnie by było gdyby miał też jakieś community
 

Sawik

Sawik

Użytkownicy
Rebel
posty4791
Propsy3193
ProfesjaNierób
  • Użytkownicy
  • Rebel
Najprościej w świecie - takowy nie istnieje.
C++ jest używany do napisania samego silnika oraz narzędzi ponieważ ma to potencjał na bycie najwydajniejszą opcją, jednak większość mechaniki czy np. różne rodzaje jednostek są pisane w formie skryptów lub za pomocą "lżejszego" języka.
Generalnie złym pomysłem jest projektowanie silnika wyłącznie pod jeden tytuł, silnik projektuje się w sposób który pozwala na wielokrotne jego użycie, dlatego też "silnik typowo pod rts" również jako taki nie istnieje. Istnieją silniki których narzędzia są najbardziej zoptymalizowane pod wykorzystanie z określonym typem rozgrywki, jednak sam silnik jest w stanie wspierać również inne.

Jeżeli chcesz usilnie pisać wszystko w cpp, podejrzewam że będziesz wręcz zmuszony do użycia gotowych już silników graficznych (alternatywnie porwać się na pisanie własnego) i zaprogramowania całej reszty samemu.

A jeżeli korzystanie z cpp jest ważne, ale nie konieczne, to klasycznie - Unreal, Unity, CryEngine.
 
Życzę wam seksu analnego po stronie biernej.
Dropbox +500 mb na start
LowPoly
Wykonanie modelu niskopoligonowego to sztuka kompromisu. Nie jest to jedynie uproszczenie modelu wysokopoligonowego, ale głęboka modyfikacja oraz podejmowanie decyzji często zmieniających wygląd pierwotny obiektu, tak by przy najmniejszej ilości trójkątów uzyskać jak najwierniej odwzorowany kształt oryginału. Nie można też zapomnieć o tym iż musi nadal wyglądać przekonywająco i tak balansować by uzyskać efekt optymalny.

Podstawowym założeniem jest, że model nie powinien mieć zbędnych, niewidocznych dla gracza detali włączonych w geometrie. Większość obiektów jakie znajdują się w grze powinna prezentować się najlepiej z odległości około 3-5 metrów. Wszelkie detale, które zanikają, wydają się płaskie lub zlewają się z bryłą modelu należy uznać za zbędne i pozostawić je na normal mapie.

Fakt, iż gracz będzie w stanie podejść bliżej do obiektu i zobaczyć go z mniejszej niż 3m odległości nie powinno stanowić większego problemu, gdyż większą rolę odgrywają wtedy tekstury oraz dodatkowy detal zależny od materiału obiektu. To właśnie kompromis między wydajnością, a szczegółowością otoczenia.

Detal, którego nie widać z 3-5 metrów nie powinnien istnieć w geometrii modelu.
Krawędzie znajdujące się blisko siebie, które zlewają się z większej odległości należy uprościć do wspólnej płaszczyzny

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
W Godocie wiem, że moduły możesz dopisywać w C++. Same skrypty pisane są w GDScript(prawie że Python).
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii

mgr Fartuess

mgr Fartuess

Użytkownicy
Kiedyś to były czasy!
posty1486
Propsy890
ProfesjaProgramista
  • Użytkownicy
  • Kiedyś to były czasy!
Będę się czepiał słówek i naprostowywał definicje. Mam nadzieję, że mi to wybaczycie.

Najprościej w świecie - takowy nie istnieje.
C++ jest używany do napisania samego silnika oraz narzędzi ponieważ ma to potencjał na bycie najwydajniejszą opcją, jednak większość mechaniki czy np. różne rodzaje jednostek są pisane w formie skryptów lub za pomocą "lżejszego" języka.

O ile nie zaryzykuje z góry stwierdzenia, że takowy nie istnieje - mogą być jakieś niszowe projekty amatorskie, lub po latach otwarte silniki jakiś starych RTSów, to co do kwestii języków to się zgodzę. Używanie C++'sa do "skryptowania" czy ogólnie pisania gameplaya jest dość rzadkie.

Generalnie złym pomysłem jest projektowanie silnika wyłącznie pod jeden tytuł, silnik projektuje się w sposób który pozwala na wielokrotne jego użycie, dlatego też "silnik typowo pod rts" również jako taki nie istnieje. Istnieją silniki których narzędzia są najbardziej zoptymalizowane pod wykorzystanie z określonym typem rozgrywki, jednak sam silnik jest w stanie wspierać również inne.
Tu się nie zgodzę z Sawikiem - myli ogólne pojęcie game engine'u z game enginem przeznaczonym do licencjonowania. Jak taki Paradox robi tylko strategie, to dla nich jest sensownym napisać sobie silnik do strategii. Mogą sobie nawet niektóre rzeczy dooptymalizować wychodząc z założenia, że to nie będzie używane do shootera. Aczkolwiek takie silniki raczej nie są licencjonowane.

Jeżeli chcesz usilnie pisać wszystko w cpp, podejrzewam że będziesz wręcz zmuszony do użycia gotowych już silników graficznych (alternatywnie porwać się na pisanie własnego) i zaprogramowania całej reszty samemu.
Osobiście nie polecam pisania własnego silnika, jeśli twoim docelowym celem jest zrobienie gry. Spędzisz Sztywny na silniku miesiące (lata?) zanim będziesz miał cokolwiek grywalnego. Jak chcesz zrobić grę to weź gotowy silnik i zacznij na nim budować faktyczną grę.

A jeżeli korzystanie z cpp jest ważne, ale nie konieczne, to klasycznie - Unreal, Unity, CryEngine.
W UE4 możesz sobie spokojnie pisać gameplay w C++. W Unity możesz w C#, więc chyba taka różnica za bardzo nie będzie Ci przeszkadzać. Imo jeśli jesteś na poziomie takim, że ważny jest dla Ciebie C++, to poradzisz sobie Sztywny ze zrobieniem tego co chcesz na Unity/UE4.
 
Popisuje się ciągle menda jedna...

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
Możesz się też zainteresować grą RTS z własnym silnikiem wydaną na liberalnej licencji: https://github.com/MegaGlest
Możesz też wziąć jakiś silnik graficzny, jednak to wymaga więcej pracy od Unity czy UDK: http://www.ogre3d.org/

 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii

Wonski

Wonski

Gry (themodders@telegram)
radio engineer
posty257
Propsy91
ProfesjaProgramista
  • Gry (themodders@telegram)
  • radio engineer

Wonski
Gry (themodders@telegram)

Silniki
Pisanie własnego silnika absolutnie nie wchodzi w grę.
Mam wiedzę na temat dx11, ale pisanie frameworka pod to w pojedynkę to szaleństwo nawet gdyby to było w celach edukacyjnych.

Nie wydaje mi się optymalne korzystanie z tworów np zalinkowane megaglest, mimo wszystko dobry framework pozwala zaoszczędzić dużo czasu.
Chyba jednak zdecyduję się na UE z racji tego, że można pisać w c++. Z tego co mi wiadomo to w unity też można, ale tylko w wersji pro, więc odpada..

W sumie UE to raczej nie jest zły wybór. Owszem jest to zasobożerny kombajn, ale chyba jedyny, który spełnia moje oczekiwania, support mają nawet porządny, choć nie wiem jak sprawa z community...
no chyba, ze tutaj na forum mamy osoby co miały styczność z tym silnikiem? :D

tak btw
Na twiterze obserwuję ostatnio rozwój prac cryteku nad nową generacją ich silnika. Korzystałem z sdk chyba w wersji 3.51, równolegle z udk.
Powiem szczerze, że cryengine jest lepiej zoptymalizowane pod kątem mniejszych zasobów pamięci RAM. Przy 2GB, sdk od cryteku chodzi płynnie (~30fps), nawet przy nawaleniu assetów i podglądem AI. (Nawet gierki typu crysis 3 nie były pożeraczami zasobów jak się spodziewałem)
Podczas gdy udk zamulało już na samych szablonach i z miejsca zjadało całą dostępną pamięć RAM.

Jeżeli zachowali tą samą wydajność przy jednoczesnym efekcie jaki pokazują na screenach to jest to coś fenomenalnego.
 

mgr Fartuess

mgr Fartuess

Użytkownicy
Kiedyś to były czasy!
posty1486
Propsy890
ProfesjaProgramista
  • Użytkownicy
  • Kiedyś to były czasy!
Coś tam UE4 umiem, ale głównie część nieprogramistyczną. Sporo rzeczy jest podobnych do UDK. Ale niedługo mam się zabrać za nieco programowania na UE4, więc może niedługo będę lepiej zorientowany.
 
Popisuje się ciągle menda jedna...

inż. Avallach

inż. Avallach

Administrator
posty7706
Propsy5229
NagrodyV
ProfesjaProgramista
  • Administrator

inż. Avallach
Administrator

Silniki
#31 2016-04-07, 08:38(Ostatnia zmiana: 2016-04-07, 08:43)
Chyba jednak zdecyduję się na UE z racji tego, że można pisać w c++. Z tego co mi wiadomo to w unity też można, ale tylko w wersji pro, więc odpada..
Dawno nieprawda - wersja darmowa już od dawna ma właściwie wszystko to co płatna.
http://docs.unity3d.com/Manual/NativePlugins.html

Dla funkcji C++ napisanych w swojej bibliotece musisz napisać / wygenerować wrappery w C#:
[DllImport ("NazwaPlugina")]
static extern int getHealthPoints ();
static extern string getNpcName(int id);
Część odpowiadająca za bezpośrednie interakcje z silnikiem musi być po stronie C#, ale całą logikę gry możesz zrobić w swojej libce. To podział który stosuje się nawet pisząc wszystko w C#, bo pozwala na łatwe przenoszenie gry na nowsze wersje silnika lub nawet inne silniki. Trochę przypomina MVC - model i controller masz w module zawierającym "logikę gry", a view w module który współdziała bezpośrednio z silnikiem.

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
Czyli dobrze zakładam, że w założeniach przypomina to custom modules z Godota? http://docs.godotengine.org/en/latest/reference/custom_modules_in_c++.html
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii

inż. Avallach

inż. Avallach

Administrator
posty7706
Propsy5229
NagrodyV
ProfesjaProgramista
  • Administrator
Nie wiem, nie interesuję się Godotem.
To jest zwyczajne używanie natywnych bibliotek, w żaden sposób nie jest to rozwiązanie specyficzne dla Unity. Możesz tak robić w dowolnych aplikacjach C#, Java też ma swój odpowiednik używany na masową skalę w aplikacjach Androidowych.

Miltenox

Miltenox

Użytkownicy
posty1
ProfesjaNierób
  • Użytkownicy
Witam wszystkich.
Jaki jest waszym zdaniem najlepszy silnik 2D w którym można pisać w Javie(koniecznie)?
 

Karen

Karen

Użytkownicy
Recovery Team
posty38
Propsy18
ProfesjaGracz
  • Zbanowany
  • Recovery Team

Karen

Silniki
#35 2017-01-01, 20:22(Ostatnia zmiana: 2017-01-01, 20:48)
Jaki byście polecili silnik 2D? Najlepiej gdyby pisało się w C#.
Spoko gdyby był darmowy z możliwością wydania gdy na Windowsa i Androida.
Testowałem już Unity ale to silnik dobry dla gier 3D. 2D mi sie tam nie spodobało.
Sprawdzałem też Godot Engine no i by było wszystko git gdyby nie GDScript  :trollface:
Z góry dzięki za odpowiedź :)

mgr Fartuess

mgr Fartuess

Użytkownicy
Kiedyś to były czasy!
posty1486
Propsy890
ProfesjaProgramista
  • Użytkownicy
  • Kiedyś to były czasy!
Dunno. Osobiście jakbym robił grę 2D to bym wybrał któryś z tych dwóch wariantów właśnie. Ale ja jestem akurat od 3D, więc wynikałoby to z tego, że nie znam zbytnio alternatyw poza tymi wariantami, albo wystartowaniem prac z poziomu frameworka a nie silnika :P


A tak na boku - co jest nie tak z Unity albo GDScriptem?

Edit:
Znalazłem takie coś
https://duality.adamslair.net
 
Popisuje się ciągle menda jedna...

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
Pozostaje jeszcze MonoGame(dawne XNA), ale to już bardziej niskopoziomowo schodzimy.
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii

neko

neko

Użytkownicy
BE CURIOUS!
posty25
Propsy11
ProfesjaProgramista
  • Użytkownicy
  • BE CURIOUS!
Monogame do 2D jest świetne, a jak coś spoza c# to sdl2 albo pygame.
 

Leinnan

Leinnan

Administrator
torsonic polarity syndrome
posty2672
Propsy3598
ProfesjaProgramista
  • Administrator
  • torsonic polarity syndrome
SDL mi nie leży ze względu na brak obiektowości. Już wolę korzystać z SFMLa, Jedyny powód dla używania SDLa zamiast już chociaż GLFW to według mnie wsparcie od Valve co widać głównie po obsłudze kontrolerów.
 
Mit der Dummheit kämpfen die Götter selbst vergebens

steam | slavic castles |  last.fm | moddb.com | Stary, najlepszy lider Sclavinii


0 użytkowników i 1 Gość przegląda ten wątek.
0 użytkowników
Do góry