Skocz do zawartości

Zablokowane RTS w game maker


Wojo

Rekomendowane odpowiedzi

dzięki ferrari za pomoc mam to fajny przykład tylko czasami nie chce się zaznaczyć ale mniejsza z tym teraz mam pytanko jak zrobić hud w którym wyświetla się ilość surowców np.drewna i jak zrobić ruchy typowego rts'a coś jak settlers korzystając z spritów z stronki http://reinerstileset.4players.de/humansE.html

Edit:Prosił bym to w formie przykładu

Edit2:najbardziej zależy mi na tych ruchach

Odnośnik do komentarza
Udostępnij na innych stronach

Zrobienie RTS to nie takie hop siup, musisz zmagać się z problemami typu pathfinding, ai, czy wydajność gry. Sam robię rtsa i przy 30 rycerzykach na ekranie + bryzgające particle krwii + otoczenie fps spada o 75%, często jestem zmuszony do tworzenia placów boju na gołym polu bo inaczej jest masakra z klatkami na sekundę. Pomyśl czy warto brać za to.

Odnośnik do komentarza
Udostępnij na innych stronach

A wpiszesz nas do credits?? :sp_ike:

 

Huda możesz zrobić w ten sposób:

w o_hud

GML (draw)
draw_text(16,16,'Drewno: '+ string(global.drewno)

draw_text(16,32,'Zloto: '+ string(global.zloto)

draw_text(16,48,'Zywnosc: '+ string(global.zywnosc)

 

E. z tymi runami nie za bardzo wiem o co chodzi bo w settlers'ów nie grałem mógłbyś bardzie to opisać, bo mi runa kojarzą się z "Spell Force Zakon Świtu"?

 

A ap ropo jeśli bierzesz się za gry rts to poszukaj jest wiele materiałów na gmc bo wielu ludzi chciało stworzyć grę tego typu niestety projekty za każdym razem upadały chyba najdalej wysuniętym projektem była wersja beta "krain wirgotu" nad którą podobno ciągle trwają prace, bynajmniej ja nie zauważyłem ich upadku ale pewnie i tak projekt upadnie bo autor wziął się za kolejny projekt

Odnośnik do komentarza
Udostępnij na innych stronach

Robienie RTS'a jest a raczej może być długie. Trzeba znać GML by wykorzystać go w przeróżnych sytuacjach. Na początek proponuje zapoznać się głębiej ze zmiennymi, ja na nich pracuję zawsze :D Możesz nimi zrobić surowce, jakieś odliczanie itd... Do wrogów możesz użyć losowego patha a z grafiką to już sam wiesz...

Pozdrawiam!

Odnośnik do komentarza
Udostępnij na innych stronach

A wpiszesz nas do credits?? :sp_ike:

 

Huda możesz zrobić w ten sposób:

w o_hud

GML (draw)
draw_text(16,16,'Drewno: '+ string(global.drewno)

draw_text(16,32,'Zloto: '+ string(global.zloto)

draw_text(16,48,'Zywnosc: '+ string(global.zywnosc)

 

E. z tymi runami nie za bardzo wiem o co chodzi bo w settlers'ów nie grałem mógłbyś bardzie to opisać, bo mi runa kojarzą się z "Spell Force Zakon Świtu"?

 

A ap ropo jeśli bierzesz się za gry rts to poszukaj jest wiele materiałów na gmc bo wielu ludzi chciało stworzyć grę tego typu niestety projekty za każdym razem upadały chyba najdalej wysuniętym projektem była wersja beta "krain wirgotu" nad którą podobno ciągle trwają prace, bynajmniej ja nie zauważyłem ich upadku ale pewnie i tak projekt upadnie bo autor wziął się za kolejny projekt

No i drugi człowiek który mi pomógł napisze was w credits jeśli mi pomożecie z tymi animacjami postaci resztą to ja się postaram zrobić i chodzi mi o ruch postaci jak w większości rtsów

Odnośnik do komentarza
Udostępnij na innych stronach

O ile pathfinding w GM Pro da się zrobić za pomocą jednej funkcji, to z wersją Lite... kiedyś próbowałem, ale musiałbym całą tablicę danych zrobić, nie chciało mi się męczyć.

Zrobiłem tez system budowania budynków, ale jest niekompletny (choć podstawy działają).

 

E: jeśli robisz RTS-a sam, to lepiej sobie odpuść, to potrwa (co najmniej) 3 miesiące, a po takim czasie prawie każdy samotnik odpada...

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Wracając do tematu, rts w GM jak najbardziej da się zrobić, zarówno w wersji pro, jak i lite, jednakże w tej drugiej nie podjąłbym się zadania z paru powodów - m.in. wbudowany pathfinding jest znaaaacznie szybszy od tego, który sam napiszesz w gmlu, a w rts odnalezienie drogi jest kluczowym algorytmem. Dodatkowo w lite nie można stosować dlli, a może się okazać, że jakieś newralgiczne skrypty trzeba będzie przenieść do języka niższego poziomu. Tutaj przyda się dodatek bodajże snake'a, który umożliwia z poziomu c++ wywoływanie funkcji gm'owych. Można by było także wykorzystać dodatek do obsługi języka lua (nie pamiętam kogo autorstwa).

 

Drugą istotną sprawą jest fakt, że większość ludzi nie potrafi zoptymalizować silnika tworzonej gry do granic możliwości gm'a. Przykładem jest skrypt Lecha444:

GML
draw_text(16,16,'Drewno: '+ string(global.drewno)

draw_text(16,32,'Zloto: '+ string(global.zloto)

draw_text(16,48,'Zywnosc: '+ string(global.zywnosc)

Powyższy skrypt jest niepotrzebną stratą wielu fps. Huda, to się robi na surface i tylko RAZ wyrysowuje teksty typu złoto, żywność i drewno, a numerki odświeżasz przy ich zmianie. Polecam zapoznać się z moim dodatkiem o nazwie system delegacji (coś jak sygnały w QT). Był tworzony specjalnie na potrzeby budowania GUI w GM, a także do gier gdzie trzeba zaimplementować dużo akcji, które wykonują się w razie konkretnego zdarzenia.

Odnośnik do komentarza
Udostępnij na innych stronach

create:

GML
grid = 0

path = path_add()

 

mp_grid_path(grid,path,112,112,500,300,true);

 

step:

 

GML
if mouse_check_button_pressed(mb_left)

{

 

pos_x=(mouse_x div 32*32)+16;

pos_y=(mouse_y div 32*32)+16;

path_end();

path_clear_points( path );

 

grid = mp_grid_create( 0, 0, 62, 62, 32, 32 );

mp_grid_path( grid, path, x, y, pos_x, pos_y, true )

path_set_kind( path, 0 );

mp_grid_destroy( grid );

 

path_start( path, 2, 0, 1 );

}

 

 

przykladowy ruch wyrownany do siatki 32x32 ;/

Odnośnik do komentarza
Udostępnij na innych stronach

dzięki a gif ma być jaki ?? że wszystkie obrazki ruchu w jednym czy każdy z osobna i w jakiej kolejności

EDIT:coś sam kombinowałem i przyjrzałem się kodu na stronce i pomyślałem że opcja ,,path'' jest w pro i nie działa na lite ale dzięki za dobre chęci

Odnośnik do komentarza
Udostępnij na innych stronach

Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...