Skocz do zawartości
Czołg Krymski

Twuj Stary

Rekomendowane odpowiedzi

Twuj Stary

fabuła:

póki co trochę jej brak. Z kolejnymi wpisami wypełnię to polę

gatunek: walking simulator, narrative

grafika: ja

udźwiękowienie: ja

programowanie: ja

 

Zobaczymy jak się ten projekt potoczy. Jak na razie pracuję nad technicznymi sprawami, później zajmę się samym gameplayem. W zamyśle ma to być gra typu walking simulator nastawiona na obyczajową fabułę, eksplorację i muzykę. Wstępna moja idea jest taka, że jesteśmy pewnym mężczyzną, który postanawia odwiedzić swojego starego samotnego ojca gdzieś w górach. Wokół tego obuduję cały plot. No i będzie towarzyszyć graczowi piesek

n91Rlpq.png

1kF5Tlp.png

tgu7fKb.png

 

6J5DXw6.png

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

jestem fanem twojego humoru (zwykle (np teraz))

 

e: no gra tez spoko wyglada

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Ciekawi mnie jak zrobisz psa bo ta technika rysowania postaci jest dobra jak postac jest wysoka i chuda, ale z psem będzie ciężko żeby to jakoś wyglądało.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

psem może być długa bryła i takie krótkie nóżki rysowane jak u jamnika

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

właśnie ogarniam sobie system jazdy starą Vespą, która będzie przydatnym środkiem transportu, ale nie będzie mogła wjechać na pagórki większe, dlatego będzie zdana na drogi. Symulowana fizyka jazdy jeszcze troszkę kuleje, ale i tak cud, że udało mi się coś wyskrobać, bo ni cholery nie ogarniałem jak to ugrać z heightmapą. Postać jeszcze nie siedzi na skuterze, bo to tylko prototyp. Nie umiem modelować i chociaż wygląda to niczego sobie, to jednak cholercia troszkę chyba za dużo poligonów i się nieco gryzie z oprawą. Jeszcze pokombinuję nieco

 

edit: z tym dźwiękiem strasznie mi się to kojarzy z łazikami z Colobota xD

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

benc. Strasznie się napieprzyłem, żeby jakoś niekartonowato bohater ujeżdżał tę maszynę, ale ostatecznie ruchy wyszły bardzo naturalne

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Super w akcji- ale sam skuter stanowszo zbyt gładki i ładny w porównaniu do reszty- rozpikselować!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

no właśnie wiem, a cholernie mi się nie chce :D modelowanie to dla mnie udręka i nie wiem za bardzo jak to zrobić, by było i czytelnie i low poly. Może jakiś gmclanowicz by nieco pomógł w stworzeniu modelu :D?

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

dobra, wyskrobałem se prlowskiego komara. Niech już będzie

C3ug5N6.png

 

edit:

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Niesamowita jest u ciebie dbałość o szczegóły bardzo mi się podoba, kolizje wiadomo do dopracowania.

A o co chodzi dokładnie z tym? Jaki masz problem?

bo ni cholery nie ogarniałem jak to ugrać z heightmapą

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Niesamowita jest u ciebie dbałość o szczegóły bardzo mi się podoba, kolizje wiadomo do dopracowania.

A o co chodzi dokładnie z tym? Jaki masz problem?

 

a dziękuję bardzo. Co do heightmapy po prostu jest to jedyny element (prócz dlla do dźwięków), który opieram czysto na gotowych skryptach, bo nie rozgryzłem jego działania. No i użyłem bardzo starego surowego przykładu co już używałem z dobre 5 lat temu http://www.host-a.net/u/the%20sivart/3d%209.gmk Problem był taki, że nie wiedziałem z początku jak rozwiązać kwestię zmiany nachylenia motoru względem powierzchni, ale potem po prostu po łebkach zrobiłem to tak, że sprawdzam wysokość na heightmapie punktu tuż przed przodem pojazdu, odejmuję ją od wysokości X Y samego motoru i mam jakąś ładną liczbę, która mówi jak zmienia się nachylenie podłoża i od tego sobie wszystko już uzależniłem. Teraz za to mam inny poważniejszy problem z tym wszystkim, bo chciałbym jednak móc sobie nałożyć jakąś teksturę na tego terraina ale bez powielania - rozciągniętą na całą długość heightmapy. I cholera nie wiem jak to zrobić bazując na skryptach, których używam :(

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Wiem o co chodzi i wiem w którym miejscu zmienić, tzn tutaj:

GML (terraincreate)
adraw=true;

for (yy=0;yy<global.sheight;yy+=1){

adraw = !adraw;

z2=ds_grid_get(global.terraingrid,yy,xx+1);

d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,(xx+1)*global.terrainsize,z2,0,0,1,adraw,1);

z1=ds_grid_get(global.terraingrid,yy,xx);

d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,xx*global.terrainsize,z1,0,0,1,adraw,0);

}

 

Zmienić trzeba argumenty xtex i ytex w d3d_model_vertex_normal_texture tylko muszę pomyśleć w jaki sposób.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

o jeny, kłaniam się nisko :) też pogrzebię w tym kodzie i zobaczę, czy da się coś ugrać. Jeszcze raz dzięki!

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Dobra ogarnąłem to:

GML
var maxX1 = (global.sheight-1)*global.terrainsize;

var maxY1 = (global.swidth-1)*global.terrainsize;

 

for(xx=0;xx<global.swidth-1;xx+=1)

{

d3d_model_primitive_begin(global.terrainmodel,pr_trianglestrip);

for (yy=0;yy<global.sheight;yy+=1)

{

z2=ds_grid_get(global.terraingrid,yy,xx+1);

d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,(xx+1)*global.terrainsize,z2,0,0,1,

(yy*global.terrainsize)/maxX1,

((xx+1)*global.terrainsize)/maxY1);

 

z1=ds_grid_get(global.terraingrid,yy,xx);

d3d_model_vertex_normal_texture(global.terrainmodel,yy*global.terrainsize,xx*global.terrainsize,z1,0,0,1,

(yy*global.terrainsize)/maxX1,

(xx*global.terrainsize)/maxY1);

}

d3d_model_primitive_end(global.terrainmodel);

}

 

 

To co zrobiłem to podzieliłem pozycję każdego wierzchołka terenu przez maksymalną szerokość i wysokość terenu.

No i oczywiście wywaliłem te adraw bo już do niczego nie są potrzebne.

 

 

EDIT: Tutaj masz optymaniej

GML
var maxX = (global.sheight-1)*global.terrainsize;

var maxY = (global.swidth-1)*global.terrainsize;

for(xx=0;xx<global.swidth-1;xx+=1)

{

d3d_model_primitive_begin(global.terrainmodel,pr_trianglestrip);

for (yy=0;yy<global.sheight;yy+=1)

{

var z2 = ds_grid_get(global.terraingrid,yy,xx+1);

var xPos = yy*global.terrainsize;

var yPos = (xx+1)*global.terrainsize;

d3d_model_vertex_normal_texture(global.terrainmodel, xPos, yPos, z2, 0, 0, 1, xPos/maxX, yPos/maxY);

 

var z1 = ds_grid_get(global.terraingrid,yy,xx);

var xPos = yy*global.terrainsize;

var yPos = xx*global.terrainsize;

d3d_model_vertex_normal_texture(global.terrainmodel, xPos, yPos, z1, 0, 0, 1, xPos/maxX, yPos/maxY);

}

d3d_model_primitive_end(global.terrainmodel);

}

 

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

o materdeje, działa elegancko :) dziękuję z całego serca za fatygę, bardzo mi tym zadanie ułatwiłeś

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Tylko nie rób gigantycznej tekstury terenu. Jak chcesz zrobić ogromny świat to polecałbym podzielić go na chunki. Wiesz złączyć 4 (lub więcej) modeli terenu ze sobą, żeby te textury nie były takie rozmyte

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Tylko nie rób gigantycznej tekstury terenu. Jak chcesz zrobić ogromny świat to polecałbym podzielić go na chunki. Wiesz złączyć 4 (lub więcej) modeli terenu ze sobą, żeby te textury nie były takie rozmyte

 

nie no, starcza mi skromna tekstura max 300x300 tylko żeby móc wyodrębnić kolorystycznie niektóre wzniesienia, piach etc. Podział na chunki to jednak kawał roboty, a otwartość mojego świata też nie będzie powalająca, dlatego wolę zadowolić się całym terrainem bez podziałów. Tym bardziej, że heightmapa jest rzędu 64x64, także komputer się nie spoci

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

also, majstruję teraz najbardziej przy optymalizacji i z racji, że chciałbym mieć nieco większe pole renderowania to rezygnuję z klimatów typowo leśnych na rzecz bardziej podhalańskich wiosek, coby zmniejszyć ilość drzew w ostateczności. Ajajaj, gdybym tak znał jakieś tajniki na dużą i efektywną roślinność bez uszczerbku na fpsach :(

wnGd1m7.png

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

to ile te drzewa mają poli? bo wygladaja na 10

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Stawiałbym że nie chodzi o poly w sumie a o ilość instancji, wiesz jakie GM ma problemy z dużą ich ilością.

 

A właśnie ty to robisz w GM8? Bo tam jest gorzej z optymalizacją niż w GMS.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach
Stawiałbym że nie chodzi o poly w sumie a o ilość instancji, wiesz jakie GM ma problemy z dużą ich ilością.

 

A właśnie ty to robisz w GM8? Bo tam jest gorzej z optymalizacją niż w GMS.

 

no i tu pies jest pogrzebany właśnie. Mogę sobie na upartego w jednej instancji rysować dwadzieścia drzew, ale robi się to problematyczne w kwestii kolizji. Ano, ciągle sentyment mnie trzyma przy ósemce. Jak znajdę czas to przerzucę projekt do studio i zobaczę, czy będzie sprawniej działać

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Do takich gęsto położonych obiektów stosuje się quadtree: https://gamedevelopment.tutsplus.com/tutori...ce--gamedev-374

 

Można też podzielić mapę na równe części i wtedy przypisać obiektom do którego chunku należą. To stosowałem parę razy bo jest łatwiejsze.

Udostępnij tego posta


Odnośnik do posta
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się tutaj.

Zaloguj się tutaj

  • Przeglądający   0 użytkowników

    Brak zarejestrowanych użytkowników, przeglądających tę stronę.

×