Tworzenie gry 3D

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.

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#.

http://unity3d.com/learn/tutorials/modules

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.

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

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

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 ?

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

widzę pewne braki w wiedzy na tym polu…

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.

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.

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:

http://unity3d.com/unity/workflow/scripting

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.

Ś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.

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

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.

“Za darmo” to drogo?

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:

http://unity3d.com/unity/download/download-windows

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

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

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

  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.