Tworzenie gry 3D


(Damimiko94) #1

Witam,

Ogólnie wiem że jest sporo wątków o takim temacie, ale większość osób zakładające takie tematy zna bardzo dobrze programowanie a prawie wgl nic nie robiła w grafice 3D. Ja mam przeciwnie, bo modele umiem tworzyć w 3ds maxie a programowania znam podstawy (dokładniej to C++). Ogólnie chciałem się wziąć za tworzenie gier przy użyciu własnych grafik. A dokładniej to najlepszym rozwiązaniem by było coś takiego (jakiś program, silnik), żebym mógł tam napisać np. że w konkretnych współrzędnych jest taki obiekt i tak tworzyć ten wirtualny świat. No i oczywiście żeby można było dodawać warunki (bo bez tego gra by nie powstała), czyli mówiąc krótko chodzi mi o to żeby na razie stworzyć chociaż mały świat 3D w którym poruszałbym się postacią, z wykorzystaniem podstaw C++ albo z jakimiś tutorialami w których będzie opisane jak pisać odpowiednio warunki w danym silniku itd.

System jakiego używam to Win7.

Nie wiem czy dobry dział, więc jak zły to proszę o przeniesienie, ale stwierdziłem że to jest ściśle powiązane z programowaniem.


(Jawor87) #2

Ze swojej strony polecałbym Ci Unity3d.

Dlaczego ?

  • działa na wszystkim (pc, mac, linux, xbox, ps3, android, ios, web player)

  • ma darmową licencję podstawową

  • pozwala na prosty import z 3ds

  • jest prosty do opanowania

  • istnieje mnóstwo tutoriali i poradników - także po polsku

Minus dla Ciebie to fakt, że będziesz musiał się przestawić na C#.


(Damimiko94) #3

Dzięki. Na pewno sprawdzę to Unity3D, a jak ktoś ma jeszcze jakieś inne programy do tworzenia takich gierek to piszcie :slight_smile: A to że na C# będę musiał się przestawić to tak się domyślałem, bo ktoś mi już kiedyś o tym wspominał, że do takich gier ten język się przyda.


(Frankfurterium) #4

Z tego co pamiętam, do niekomercyjnego użytku możesz sobie ściągnąć pełną wersję CryEngine.


(Marcin86s) #5

Polecam UDK, bawiłem się trochę i nawet były efekty.


(Rosiak115) #6

Zamiast C# lepiej javascript. Szybkość ta sama, bo oba języki przekazują tylko instrukcje, które silnik wykonuje.

Dlaczego nie C# ?

Język którego będziesz się uczył przyda Ci się na pewno nie tylko do gier, a jak można tolerować język, którego idee wymusza monopolistyczna firma, skupiona na własnych pieniądzach ?


(Frankfurterium) #7

Znaczy się, radzisz komuś zrezygnować z narzędzia, bo jest niezgodne z twoją ideologią? Każda forma fanatyzmu jest głupia.


(Konrad Kosowski) #8

widzę pewne braki w wiedzy na tym polu...


(Rosiak115) #9

Nie sądzę, jeśli różnica jest to na pewno nie zauważalna. W końcu język pełni głównie funkcje przekazywania poleceń, które są wykonywane przez silnik.

Dalej jednak myślę że nie ma sensu tracić czasu na C#, który jest zwykle na jeden słuszny system (.NET). Podczas gdy w js teraz jest w czasie "świetności" gdzie z jego pomocą jedna aplikacja/gra mobilna zadziała na każdym systemie. (Na desktopy też się da)

-- Dodane 03.08.2013 (So) 21:47 --

Nie. Ale głupie jest uczyć się języka, który wymusza pisanie oprogramowania na jeden "słuszny system". A to już chyba nie tylko kwestia mojej ideologi, a jej poparcie w faktach.


(Konrad Kosowski) #10

Jednak? Naprawdę? Czy wiesz czym jest CIL? Wiesz co to jest kompilacja? To po pierwsze.

Po drugie - sięgnij po csharp. Dowiedz się więcej o nim. Spróbuj coś w nim napisać. RAZ. Wtedy chętnie podejmę dyskusje.


(Rosiak115) #11

Nie chcę wywoływać kłótni. Chcę, aby autor był w pełni świadomy podejmowanej decyzji. Unity pod wieloma względami to dobry silnik, ale język którego będzie się uczył, przyda mu się pewnie w wielu innych projektach. Ważne więc aby znał jego wady, które posiada przecież każdy język.

A co do postu niżej, polecam zapoznać się z oficjalnym źródłem:

Są do wyboru 3 języki; C#, JS i Boo. I tylko to jest najważniejsze, autora nie będzie interesowało co jest czego podzbiorem, czy co zostało dzięki czemu zbudowane.


(Konrad Kosowski) #12

Świetnie, że nie chcesz się kłócić. To dobrze o Tobie świadczy. Nie wiesz za wiele w tym temacie, więc nie podejmujesz dyskusji. +1.

Gdybyś na przykład wiedział, że Unity nie ma za wiele wspólnego z JS, że (o ironio) silnik ten oparty jest o Mono, czyli opensourcową implementację .NETa, pisząc aplikację działające na tym silniku używa się UnityScript, który inspirowany jest na ECMAScripcie, którego nadzbiorem jest JavaScript... być może byś w ogóle nie podejmował dyskusji. Tymczasem upierasz się, że lepiej nosić parasol niż plecak, bo czasem pada deszcz.


(Semtex) #13

Panowie, wymiana argumentów jest mile widziana, jednak w jej trakcie nie odbiegajcie za daleko od tematu. Dziękuję za uwagę.


(Nakhi) #14

Sądzę, że Unity3d jest drogim zakupem.

Szczerze mówiąc jeśli ci się podoba c++ to radzę ci się uczyć biblioteki OpenGL. Jest ona darmowa. Bardzo wiele ładnych gierek można przy jej pomocy stworzyć. Ogólnie ją polecam, mam nadzieję, że pomogłem.


(Frankfurterium) #15

"Za darmo" to drogo?


(Gerard Zurek) #16

Pewnie kolega miał na myśli Unity Pro z 30-dniowym Trialem:

https://store.unity3d.com/products/v18/feature_1_pro.en.html

Jednak tutaj chodzi o Unity Free Version:


(somekind) #17

'

Generalnie firmy skupiają się na pieniądzach, tak działa świat. Z drugiej strony, jak wydasz tyle kasy na cele charytatywne, ile Microsoft, to będziemy mogli uznać, że masz prawo to oceniać. Z trzeciej strony, stosując Twoją argumentację należałoby też nie tolerować Javy, wszakże za nią też stoi zła korporacja.

Fakty są takie, że C# jest standardem ISO, dokładnie ISO/IEC 23270:2003 do pobrania tutaj: http://standards.iso.org/ittf/PubliclyA ... index.html


(Rosiak115) #18

I wady prawne javy i "zajadłość" twórców mogliśmy już obserwować.

http://www.dobreprogramy.pl/Sad-oddala- ... 33601.html


(kostek135) #19
  1. Oracle nie jest "twórcą" javy

  2. Nikt Tobie nie każe korzystać z biblioteki do której prawa ma obecnie Oracle, java to pewien standard, ale nikt nie zabrania nikomu napisać własnej implementacji tego standardu, użyj Open JDK.