Autor Wątek: Skladam Team do gry multiplayer (Unity 3d) -przeczytaj wiecej-  (Przeczytany 6143 razy)

Offline Adam7

  • Użytkownik
    • warsztat.gd

# Listopad 08, 2010, 16:30:16
Mam jeszcze pytanie do programistow: Co potrzeba  aby stworzyc swiat w 3d na podobnej zasadzie jak w Minecraft (czy mozliwe jest zmniejszenie rozmiaru elementow mapy i jak bardzo obciazalo by to silnik,lub czy jest jeszcze inna mozliwosc stworzenia swiata gdzie teren moze byc modyfikowany [niszczony/nadbudowywany] przez gracza tak aby nie obciazac nadmiernie silnika gry) Jakie obiekty i ewentualnie w jakim formacie do tego uzyc

Pozwolę sobie na odpowiedzenie na to pytanie.
To jak obciąży CPU/GPU zmniejszenie rozmiarów elementów (wnioskuję że kosztem zwiększenia ich ilości) zależy od silnika jaki wykorzystasz, na pewno im więcej obiektów tym bardziej "zżerasz" ram. Jeśli chcesz aby na mapie było bardzo dużo obiektów to musisz się postarać aby nie miały zbyt drobną siatkę, co do formatu to możesz wymyślić swój własny :)

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline Smoke

  • Użytkownik

# Listopad 08, 2010, 16:38:30
Smoke, ściągnij Unity3d

Chcialem podziekowac jeszcze raz, wlasnie przegladam tutoriale i widze ze sporo opcji ma ten programik.
Prubowalem cos robic w Gamemakerze ale wydaje mi sie ze jest bardziej przystosowany do gier 2d i bez umiejetnosci programowania zrobic cos w 3d bylo dla mnie zbyt trudne. Unity3d ma juz wbudowane opcje ktore w gamamekerze trzeba bylo pisac kodem. Nie jestem jeszcze pewien jakie sa mozliwosci aby stworzyc fizyke maszyn i mozliwosc konstruowania jaka opisalem. Ale przez to ze w tym programie uzywany jest jezyk java i inne  (chyba) a nie jezyk stworzony jedynie dla tego programu, jestem dobrej mysli. Dodatkowo sama obsluga (drag & drop) przypomina mi SL tak samo jak poslugiwanie sie skryptami i umieszczanie ich w obiektach. W sumie same plusy :D mam nadzieje ze rusze cos z tym co bede mogl zaprezentowac i na tej podstawie zlozyc team.

@Adam7

Zgadza sie zmiejszajac rozmiar elementow musial bym powiekszyc ich ilosc, chodzi mi glownie o to aby poprawic jakosc i szczegolowosc, nie chcial bym aby gra byla az tak kwadratowa jak MC tymbardziej ze maszyny ktore beda tam budowane nie mogly by byc zbyt zlozone jezeli uzylo by sie zbyt duzych obiektow

Jezeli chodzi o siatke to mysle ze najlepiej uzyc kwadratow
a co do formatu to chcialem uzyc "*.obj"  jako ze jest chyba najbardziej rozpoznawany przez programy do edycji 3d
« Ostatnia zmiana: Listopad 08, 2010, 16:49:01 wysłana przez Smoke »

Offline Adam7

  • Użytkownik
    • warsztat.gd

# Listopad 08, 2010, 20:28:07

@Adam7

(...) chodzi mi glownie o to aby poprawic jakosc i szczegolowosc (...)
Do poprawy jakości i szczegółowości wykorzystuje się tekstury o dużej rozdzielczości i mapowanie normalnych.

Offline MadBonsai

  • Użytkownik
    • Ifrit

# Listopad 08, 2010, 22:16:04
Chłopaki, Smoke rzucił rekrutację dla projektu na Minecrafcie. Minecraft jest pisany w Javie i jakiekolwiek dyskusje o lepszości któregoś języka nad Javą są bezsensowne. Proszę zatem ich zaprzestać. To prośba ode mnie jako moderatora. Następny kontynuujący świętą wojną zarobi warna. Rzadko chce mi się tu moderować, ale święte wojny chętnie wytępię :)

@Smoke
Rodacy lubią polskie literki. Zrób coś dla Polski i zainstaluj je ;)

Offline Panek

  • Użytkownik

# Listopad 08, 2010, 22:47:27
W Unity3d powstał klon Minecrafta.

http://www.wooglie.com/playgame.php?gameID=409

Wydaje mi się że Unity do twojej gry będzie dobrym wyborem, chyba łatwiej będzie znaleźć programistów(Unity obsługuje C#, JV). 

Offline Smoke

  • Użytkownik

# Listopad 08, 2010, 22:59:46
@ MadBonsai jezeli to naprawde az tak wazne to postaram sie zrobic cos z polskimi literkami, moj problem to przyzwyczajenie do niemieckiej klawiatury gdzie uklad znakow jest nieco inny do ktorego przyzwyczajalem sie ponad rok piszac zamiast Z Y i odwrotnie nie mowiac o : ? / nawiasach itd

Co do unity 3d to tak wlasnie mam zamiar zrobic. Od momentu kiedy sciagnelem ten program faszeruje sie tutorialami. Pozatym program ten ma silnik wystarczajacy do mojego projektu i obsluguje Modele Animacje i Tekstury ktore jestem w stanie zrobic. Jedyny moj problem to skrypty. Wiec szukam programistow najlepiej z doswiadczeniem w Unity a w miedzyczasie pruboje sam nauczyc sie chociaz podstaw jezykow uzywanych w Unity

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Listopad 09, 2010, 03:27:40
Unity3D wystarczy w 100% do twojego projektu, wbudowany silnik PhysX daje możliwości fizyki na poziomie niemalże równym superprodukcjom, możesz nawet podpiąć efekt ragdoll (ręcznie lub za pomocą kreatora). Symulacja tkanin stoi na przyzwoitym poziomie, nie ustępuje tej z Mirrors Edge, gdzie nie tylko można poruszać materiałem, ale i rozrywać czy dziurawić go wedle uznania. Mając assety łatwiej jest zrobić gotową grę, a przy tym nie trzeba się martwić o wydajność o ile nie przesadzisz z efektami i modelami. Nauka C#/JS na potrzeby Unity nie jest trudna, znacznie trudniej jest opanować funkcje związane z 3D- wectory, punkty, kwaterniony i całą resztę rzeczy (nawet jeżeli liczą to za ciebie funkcje), aby nasz chłopek zachowywał się zgodnie z oczekiwaniami. Technologia dla "nieprogramistów" pozwalająca stworzyć każdy rodzaj gry istnieje, choć pewne wymagania programistyczne ma i trzeba się tych rzeczy nauczyć/zrozumieć.

Odnośnie ogłoszenia, to wybacz, ale moi przedmówcy już powiedzieli prawdę na ten temat. Nie znajdziesz żadnej sensownej osoby w ten sposób. Projekt gry przedstawiony średnio, sam pomysł też mocno średni, zwłaszcza, że istnieją już klony Minecrafta, nawet wykonane Unity. Nic, co przyciągnęłoby programistów, a tym bardziej graczy. Aby zwrócić uwagę programistów lub nawet wydawców na swój projekt gry, musi być ciekawy, jest to bardzo proste i zarazem bardzo skomplikowane. Pamiętaj, że jak jak dotąd nie pojawił się godny następca Tetrisa, może tobie uda się zrobić coś, co przykuje graczy na kolejne dekady. Najpierw zrób demko pierwszej misji, jak będzie dobry pomysł, to ludzie sami się znajdą. Podobno jak robili Quake, to żeby ściągnąć programistów, zrobili przyjęcie z pizzą i piwem, a programiści sami się zlecieli znikąd. Najlepiej więc zapomnij o klonowaniu i stwórz coś swojego wykorzystując zdobyte doświadczenie w 3D i jako gracz.

Offline intoxicate

  • Użytkownik
    • Jak zrobic gre FPP

# Listopad 09, 2010, 08:08:19
Fajnie, że masz motywacje Smoke :)

Naucz się JavaSrcript (chyba ten język jest w Unity, nie pamiętam, pracowałem na nim jakieś pół roku temu a moj mózg szybko traci informacje ;/) i postaraj sie samemu skleić prototyp. Tutoriali masz bardzo dużo. Jesteś osobą, która chce zrobić grę w którą chciała by zagrać - to jest największa motywacja, powinno Ci starczyć do tego by się nauczyć JavaScriptu i pociągnąć jakiś prototyp na Unity. Z takim prototypem znajdziesz ludzi, nie tylko programistów.

Cytuj
Unity3D wystarczy w 100% do twojego projektu, wbudowany silnik PhysX daje możliwości fizyki na poziomie niemalże równym superprodukcjom, możesz nawet podpiąć efekt ragdoll (ręcznie lub za pomocą kreatora).
Nie łudź się tym co Ci ludzie piszą. To, że Unity ma wbudowany silnik PhysX nie oznacza, że wszystko będzie Ci działać 'z buta'. Settingsy fizyki można tweakować przez parę miesięcy w doświadczonym teamie. Samo stworzenie prototypu na Unity nie jest problemem, ale jak chcesz zrobić pełno wymiarową grę to jest to spore wyzwanie, dla paru osób i nie jest tak różowo jak byś myślał. Nawet używając gotowca (silnika) wpadniesz na masę problemów, które trzeba będzie rozwiązać, możliwe nawet, że z Twórcami Unity.


Offline Avaj

  • Użytkownik

# Listopad 09, 2010, 10:27:08
odnośnie wydajności, komorra ostatnio pisał na ircu grę "minecraftopodobną" i całkiem nieźle mu wyszła wydajność jak zapakował wszystko do VBO i trochę frustum cullingu dorzucił

Offline Smoke

  • Użytkownik

# Listopad 09, 2010, 13:00:27
No wiec chcial bym podkreslic ze nie chce tutaj robic clona MC tylko ze ta gra mnie zainspirowala swoja prostota a mimo to uzalezniajacym gameplayem. Moj projekt to platforma do walk miedzy grupami gdzie podstawa jest to ze gracze musza uzyc swoich umiejetnosci kreatywnych aby trzymajac sie praw fizyki budowac swoje oreze i to nie z gotowych przykladow czy wzorow ale od podstaw przy uzyciu danych nazedzi. Co do unity to bardzo spodobal mi sie ten program i wlasnie przerabiam Tutoriale zwlaszcza te o skryptowaniu bo jak narazie jest to moj najwiekszy problem. Co do modeli i grafiki 3d to nie widze tu zbyt duzo problemow i mam wrazenie ze z tymi co sie pojawia doskonale sobie poradze. Jak narazie moim  najwiekszym problemem jest wykonanie swiata. A mianowicie to ze chcial bym aby byl on jak naj wiekszy i umozliwial modyfikacje terenu. Wspominalem tu duzo o MC wlasnie z tego powodu ze tam "stworzenie pojedynczych obiektow z ktorych sklada sie cala mapa umozliwialo modyfikacje terenu na duza skale, sam wiem ze spedzilem godziny rozkopujac mape, robiac tunele, jaskinie itp. Chetnie bym uzyl poprostu zwyklego terenu jednak nie wiem ani nie mam pomyslu jak mugl bym wtedy umozliwic graczowi podane wyzej opcje. Jezeli ktos zna jakies rozwiazanie jak mozna na terenie z plaszczyzny "kopac" lub "nasypywac" teren to niech da znac

Offline owyn

  • Użytkownik

# Listopad 09, 2010, 13:31:54
Poczytaj trochę o Voxelach:

http://www.youtube.com/watch?v=5XTJABlV9zw

Co prawda one korzystają z takiego samego modelu świata jak Minecraft (czyli trójwymiarowe klocki), ale pozwalają uzyskać bardziej realistyczny wygląd.
« Ostatnia zmiana: Listopad 09, 2010, 14:21:47 wysłana przez owyn »

Offline Lamer

  • Użytkownik
    • www.inwriter.wordpress.com

# Listopad 09, 2010, 13:36:26
Twoim największym problemem nie będzie pisanie skryptów do świata (tworzenie broni, modyfikacja terenu, etc), ale napisanie dobrego multiplayera. O ile się nie mylę unity ma wbudowany moduł obsługi multi po sieci za pomocą klasy Network, która zawiera takie metody jak Connect czy Disconnect. Jest to pewne ułatwienie, niemniej jednak czeka cię masa rzeczy, które trzeba zrobić, żeby wszystko odpowiednio zgrać, optymalizacja ma tu spore znaczenie. Multi dla kilku osób po sieci, gdzie ktoś stawia serwer a reszta się dołącza na czas gry jest skomplikowane, ale coś na wzór MMO to już kompletnie inna bajka. Należy zapisywać gdzieś informacje o postępach w jakiejś bazie na bieżąco, trzeba już naprawdę znać się na rzeczy. Do tego będziesz potrzebował dodatkowej aplikacji serwerowej, np. SmartFoxServer. Musisz pamiętać, że nie przyciągniesz nikogo, dopóki nie stworzysz jakiegoś demka, które zachęci innych do współpracy, więc i tak powinieneś to wszystko ogarnąć.

Offline Smoke

  • Użytkownik

# Listopad 09, 2010, 17:02:34
To mi wyglada na troche bledne kolo, Nie znajde programisty puki nie zrobie dema.
A raczej malo prawdopodobne ze uda mi sie zrobic demo bez programisty. Puki co staram sie ogarnac skryptowanie przynajmniej na podstawowym poziomie.

@owyn
Dzieki za podsuniencie tematu o Voxelach, wydaje sie ze mogl bym cos z tym zrobic w dalszych wersjach bo jednak budowanie mapy z miliona kwadratow nie wydawalo mi sie najlepszym pomyslem, Puki co mysle ze uzyje 2 rodzajow wydobywania mineralow, naziemne i podziemne . Naziemne beda to skalki lub fragmenty mineralow umieszczone losowo na mapie. Podziemne bedzie bardziej zaawansowane lecz bardziej symboliczne tzn. Gracz bedzie potrzebowal 2 przyzadow jeden to skaner do wykrywania mineralow (gdzie skaner sam w sobie bedzie generatorem zrudla mineralow) i extraktor czyli uzadzenie ktore samo wykonuje odwiert i wyciaga mineraly.  Mam juz tez maly pomysl na tytul-  Digital Knights. Jako ze nazedzia ktorymi gracze beda sie poslugiwali beda dosyc futurystyczne. Jednak Maszyny przez nich budowane opieraly sie beda jedynie na prostych zasadach fizyki przypominajace sredniowieczne katapulty kusze i cokolwiek przyjdzie graczowi do glowy. Zadnych broni energetycznych czy palnych/wybuchowych.

Co do multiplaya narazie sie nad tym nie zastanawiam skoro nie mam z kim zrobic demka.
Mam jednak asa w rekawie, wrazie co. Mam znajomego z ktorym pracowalem juz nad projektami w SL
i jestem pewien ze w razie problemow z multi lub z takimi z ktorymi naprawde nie mogl bym sobie poradzic
bedzie mogl mi pomoc. Problem w tym ze narazie u niego ciezko z czasem poniewaz podjal prace dla duzej firmy i dotego doucza sie. Tak wiec  nie mogl sie przylaczyc do mojego projektu. A wiadomo ze przy takim projekcie nie mozna se wskoczyc napisac skrypt i po sprawie tylko trzeba isc razem z projektem na biezaco dlatego jest to dosyc czasochlonne. Nie mysle tez o tym aby w miesiac wystawic gre lecz poswiecic jej conajmniej 4 miesiace lub pol roku przynajmniej na wersje  beta , a potem juz tylko poprawki i dodatki. Sporo zalezy rowniez od teamu jaki uda mi sie uzbierac (o ile wogole sie uda)
« Ostatnia zmiana: Listopad 09, 2010, 19:15:42 wysłana przez Smoke »

Offline owyn

  • Użytkownik

# Listopad 09, 2010, 17:20:38
@owyn
Dzieki za podsuniencie tematu o Voxelach, wydaje sie ze mogl bym cos z tym zrobic w dalszych wersjach bo jednak budowanie mapy z miliona kwadratow nie wydawalo mi sie najlepszym pomyslem,

Akurat voxele też opierają się na sześcianach, więc jeśli chodzi o tworzenie mapy, to nie będzie się to niczym różniło. Takich map raczej nie tworzy się ręcznie, tylko generuje losowo (z tego co się orientuję, tak właśnie jest to zrobione w Minecrafcie i podobnych grach, np. Dwarf Fortress).
Ewentualnie można losowo wygenerować "podstawę" (czyli np. teren z drzewami i minerałami), a później ręcznie dodać własne obiekty, np. budowle.
« Ostatnia zmiana: Listopad 09, 2010, 17:22:35 wysłana przez owyn »

Offline Smoke

  • Użytkownik

# Listopad 09, 2010, 17:54:52
mialem na mysli to ze. Wygenerowanie mapy z taka iloscia obiektow napewno obciazy silnik. A zalezy mi na tym aby fizyka przy budowaniu Maszyn byla najwazniejszym punktem w grze. Takze na starcie wole zrezygnowac z takiego typu terenu. A Gdy juz Fizyka i budowanie maszyn bedzie gotowa a silnik nie bedzie obciazony nadmiernie, wtedy zabiore sie za rozwinencie terenu i pomysle jak do tego dostosowac wydobywanie mineralow.