Wszystko
Wszystkie
Archiwum
- 1
@Szmerg: GDQuest robi różne i czasami nawet ciekawe tutoriale - https://www.youtube.com/channel/UCxboW7x0jZqFdvMdCFKTMsQ - dotyczące najczęściej tylko jednej techniki.
Ja sam najwięcej skorzystałem z przykładów i poradników z dokumentacji - https://docs.godotengine.org/en/stable/
Ja sam najwięcej skorzystałem z przykładów i poradników z dokumentacji - https://docs.godotengine.org/en/stable/
- 1
@Szmerg: Jakiś czas temu HeartBeast zrobił bardzo dobrą serię jak zrobić grę typu ARPG w Godocie:
https://www.youtube.com/playlist?list=PL9FzW-m48fn2SlrW0KoLT4n5egNdX-W9a
https://www.youtube.com/playlist?list=PL9FzW-m48fn2SlrW0KoLT4n5egNdX-W9a
W końcu stworzyłem prostą generację obrazu, który dużo czytelniej(według mnie oczywiście) pokazuje rozłożenie pól podczas rozgrywki.
Moim pierwszym pomysłem było wrzucenie do menu wyboru po prostu rzutu z góry dla mapy z hexami(tak jak jest po lewej na obrazku), jednak rozwiązanie to znacząco by korzystało z karty graficznej(ogrom wierzchołków i w konieczność renderowania przestrzeni 3D), dlatego wybrałem pokazywanie obrazu 2D.
Zapewne przyda mi się napisany kod w tworzeniu minimapy, ale to będę testował dopiero później czy w ogóle jest to wystarczająco wydajne, bo nie mam do końca pomysłu jak mogłoby to działać.
Problemem
Moim pierwszym pomysłem było wrzucenie do menu wyboru po prostu rzutu z góry dla mapy z hexami(tak jak jest po lewej na obrazku), jednak rozwiązanie to znacząco by korzystało z karty graficznej(ogrom wierzchołków i w konieczność renderowania przestrzeni 3D), dlatego wybrałem pokazywanie obrazu 2D.
Zapewne przyda mi się napisany kod w tworzeniu minimapy, ale to będę testował dopiero później czy w ogóle jest to wystarczająco wydajne, bo nie mam do końca pomysłu jak mogłoby to działać.
Problemem
W końcu po kilku dniach stworzyłem jako taki(w miarę szybki i prosty do zrozumienia) algorytm do tworzenia map do mojej gry.
W danych mapach jedynym wymogiem było to, aby poszczególne hexy były połączone ze sobą(tak aby nie było między nimi pustych przestrzeni np. wysepek).
W pierwszym odruchu bazując na określonym wcześniej prawdopodobieństwie, wybierałem kilka punktów z samej góry i tworzyłem od nich ścieżki.
Problemem w nim było to, że czasami(w sumie dość często) były tworzone mapy z oderwanymi od siebie cząstkami, dlatego generacja była stworzona w pętli nieskończonej na której końcu było sprawdzanie czy można z każdego punktu A dojść do punktu B(wystarczyło sprawdzić jedynie drogi pomiędzy tymi hexami wcześniej wybranymi), bo jeśli nie to potrzebna była ponowna generacja.
W danych mapach jedynym wymogiem było to, aby poszczególne hexy były połączone ze sobą(tak aby nie było między nimi pustych przestrzeni np. wysepek).
W pierwszym odruchu bazując na określonym wcześniej prawdopodobieństwie, wybierałem kilka punktów z samej góry i tworzyłem od nich ścieżki.
Problemem w nim było to, że czasami(w sumie dość często) były tworzone mapy z oderwanymi od siebie cząstkami, dlatego generacja była stworzona w pętli nieskończonej na której końcu było sprawdzanie czy można z każdego punktu A dojść do punktu B(wystarczyło sprawdzić jedynie drogi pomiędzy tymi hexami wcześniej wybranymi), bo jeśli nie to potrzebna była ponowna generacja.
@qarmin: O kurde, trochę syf. Już na pierwszy rzut oka widać, że tego potężnego copypaste'a z ifa trzeba się pozbyć.
Hej,
Korzystając z niego większych map(10x10 w górę) w moim projekcie, natykam się na dość niską wydajność, głównie na laptopie z zintegrowaną grafiką Intel HD 3000.
Możliwą przyczyną niskiej wydajności jest chyba to, że każdy obiekt na mapie jest rysowany osobno(duża liczba draw calls na screenie) przez co nie jest to chyba najwydajniejsza forma prezentowania grafiki.
W
Korzystając z niego większych map(10x10 w górę) w moim projekcie, natykam się na dość niską wydajność, głównie na laptopie z zintegrowaną grafiką Intel HD 3000.
Możliwą przyczyną niskiej wydajności jest chyba to, że każdy obiekt na mapie jest rysowany osobno(duża liczba draw calls na screenie) przez co nie jest to chyba najwydajniejsza forma prezentowania grafiki.
W
@qarmin: Pola o takim samym wyglądzie przechowuj jako jedną instancję klasy i do niej dodajesz listę z pozycją (x, y)
- 0
@haxx: Cały teren jest w 3d i ma dla każdego bloczka ustawioną jedną określoną wysokość(różną dla każdego) dlatego to rozwiązania odpada.
@nowa_zielonka: ? Dla silnika to raczej obojętne jak przechowywane są dane modele(sam korzystam z jednej sceny z różnymi materiałami). Chodziło mi o wymuszenie rysowania przez GPU sceny za pomocą jednej/kilku instrukcji rysowania a nie jak to ma teraz miejsce kilku tysięcy.
Zapomniałem dodać, że te tereny mogą
@nowa_zielonka: ? Dla silnika to raczej obojętne jak przechowywane są dane modele(sam korzystam z jednej sceny z różnymi materiałami). Chodziło mi o wymuszenie rysowania przez GPU sceny za pomocą jednej/kilku instrukcji rysowania a nie jak to ma teraz miejsce kilku tysięcy.
Zapomniałem dodać, że te tereny mogą
Godot 3.2.2 wydany.
Mimo, że zmienił się jedynie ostatni numerek, to z racji tego że jest to wydanie LTS(gałąź 3.2 jest ostania przed 4.0, które pociągnie za sobą wiele zmian) to otrzymał on ogromną ilość nowych funkcji i ulepszeń.
Głównymi zmianami są:
- Dodanie eksportu projektów C# na iOS(Prawie 30% użytkowników używa tego języka, przez co można mówić o nim, że jest gotowy na "produkcję")
Mimo, że zmienił się jedynie ostatni numerek, to z racji tego że jest to wydanie LTS(gałąź 3.2 jest ostania przed 4.0, które pociągnie za sobą wiele zmian) to otrzymał on ogromną ilość nowych funkcji i ulepszeń.
Głównymi zmianami są:
- Dodanie eksportu projektów C# na iOS(Prawie 30% użytkowników używa tego języka, przez co można mówić o nim, że jest gotowy na "produkcję")
W jaki sposób najlepiej zliczać FPS w grze(własnej of kors)?
Posiadam zliczanie czasu od ostatniej klatki(delta) i za pomocą magicznego Viewporta i sześciu węzłów Line2D wyświetlam wyniki na ekranie.
Jednak jak widać na obrazie to jest zbyt dużo skoków wydajności.
Powinienem
Posiadam zliczanie czasu od ostatniej klatki(delta) i za pomocą magicznego Viewporta i sześciu węzłów Line2D wyświetlam wyniki na ekranie.
Jednak jak widać na obrazie to jest zbyt dużo skoków wydajności.
Powinienem
@qarmin: wydaje mi się, że skoki dużo mówią, i jeśli chciałbyś nad tym pracować to trzeba to robić w grze, a właściwie w jej silniku, chyba bardzo dużo pod tym względem wprowadził UE i jak ktoś umie to elegancko można pracować nad większością tego typu skokami - chyba to są większe operacje, duże odczyty z dysku i tak np. jest wczytywany tylko teren który ma się wczytać i żaden inny.
- 0
@Moroder: Test trwa 10 sekund i przy mniejszym klatkażu(np. 3 klatki na sekundę) boję się że wykres będzie źle wyglądał.
@miszczu90: W Godocie też można w wiele sposobów optymalizować takie sytuacje, a nie tworzę gry jakiejś super zoptymalizowanej, dodatkowo nie chce mi się używać takiej kobyły jak UE4, ponieważ Godota używam również na słabym laptopie(i to bez konieczności instalacji)
@miszczu90: W Godocie też można w wiele sposobów optymalizować takie sytuacje, a nie tworzę gry jakiejś super zoptymalizowanej, dodatkowo nie chce mi się używać takiej kobyły jak UE4, ponieważ Godota używam również na słabym laptopie(i to bez konieczności instalacji)
Tworzenie shadera trawy podobnego do tego w Zelda: Breath of the Wild
Jest to chyba dzieło użytkownika @lonegamedev, który zazdrośnie nie pochwalił się tym na wykopie ( ͡° ͜ʖ ͡°)
#godot #gamedev
Jest to chyba dzieło użytkownika @lonegamedev, który zazdrośnie nie pochwalił się tym na wykopie ( ͡° ͜ʖ ͡°)
#godot #gamedev
uznałem, że za słabe na wypok ( ͡~ ͜ʖ ͡°)
Zamiast tworzyć jakieś przydatne rzeczy, to ja się zajmuję jakimiś głupimi benchmarkami.
I jeszcze byłoby coś jakby mi wychodziło, ale zdarza się, że wyniki wydajności przy wyświetlaniu 9 hexów są mniejsze niż przy 100.
Benchmark jest przyspieszony 10 razy i powinien trwać około minuty, dlatego wszystkie wyniki końcowe należy pomnożyć przez 10(później to raczej naprawię/będę skalować) - Moje GTX970 nie jest zbyt słabe aby wyświetlić 108 wierzchołków z 4 teksturami w satysfakcjonującej wydajności.
High Graphics - włącza tło (world environment) a mimo to mam jakieś zakłócenia z wynikiem(powinien być mniejszy niż bez tła)
I jeszcze byłoby coś jakby mi wychodziło, ale zdarza się, że wyniki wydajności przy wyświetlaniu 9 hexów są mniejsze niż przy 100.
Benchmark jest przyspieszony 10 razy i powinien trwać około minuty, dlatego wszystkie wyniki końcowe należy pomnożyć przez 10(później to raczej naprawię/będę skalować) - Moje GTX970 nie jest zbyt słabe aby wyświetlić 108 wierzchołków z 4 teksturami w satysfakcjonującej wydajności.
High Graphics - włącza tło (world environment) a mimo to mam jakieś zakłócenia z wynikiem(powinien być mniejszy niż bez tła)
- 0
@qarmin: gdzieś podstawy masz skopane jak 970 nie daje rady wyświetlić 108 wierzchołków i 4 tekstur :D
Przy optymalizowaniu grafiki przydaje się siedzenie z profilerem a nie zlicznie klatek bo potrzebujesz wiedzieć co zajmuje najwięcej czasu i to optymalizować a zliczanie klatek nic ci nie mówi.
Z godota nie korzystałem więc nie pomogę za bardzo ale powinien mieć jakieś narzędzia profilujące.
Ja sam w unity dlubie mobilke 3d i taka
Przy optymalizowaniu grafiki przydaje się siedzenie z profilerem a nie zlicznie klatek bo potrzebujesz wiedzieć co zajmuje najwięcej czasu i to optymalizować a zliczanie klatek nic ci nie mówi.
Z godota nie korzystałem więc nie pomogę za bardzo ale powinien mieć jakieś narzędzia profilujące.
Ja sam w unity dlubie mobilke 3d i taka
Kolejny dzień, kolejne nikomu niepotrzebne ficzery.
Tym razem padło na tło 3D w menu.
Wygląda jako tako, bo ruch kamery jest stworzony tylko przy użyciu 4 klatek kluczowych.
#godot #polemrowkowe #gamedev
Tym razem padło na tło 3D w menu.
Wygląda jako tako, bo ruch kamery jest stworzony tylko przy użyciu 4 klatek kluczowych.
#godot #polemrowkowe #gamedev
Jakie tło wolicie 2D czy 3D?
- 3D dynamiczne (tak jak na filmie) 93.8% (15)
- 2D - zwykły obraz (zatrzymajcie sobie film) 6.3% (1)
Z racji wielu czynników, przede wszystkim brakiem czasu musiałem zawiesić prace na Polem Mrówkowym.
Jednak to co dobre to zawsze się kończy i teraz z racji korony mam nieco więcej wolnego czasu, który zamierzam przeznaczyć na dokończenie tego projekciku.
Od wczoraj udało mi się stworzyć podstawowe poruszanie kamerą po mapie za pomocą około 100 linijek kodu okraszonych cierpieniem w starciu z matematyką w przestrzeni 3D.
Dodatkowo za pomocą monitorów(mowa o angielskim monitors, który nie wiem jak do końca przetłumaczyć) dodałem wyświetlanie na ekranie gry informacji o zużyciu pamięci, FPS i innych pierdołach.
Jednak to co dobre to zawsze się kończy i teraz z racji korony mam nieco więcej wolnego czasu, który zamierzam przeznaczyć na dokończenie tego projekciku.
Od wczoraj udało mi się stworzyć podstawowe poruszanie kamerą po mapie za pomocą około 100 linijek kodu okraszonych cierpieniem w starciu z matematyką w przestrzeni 3D.
Dodatkowo za pomocą monitorów(mowa o angielskim monitors, który nie wiem jak do końca przetłumaczyć) dodałem wyświetlanie na ekranie gry informacji o zużyciu pamięci, FPS i innych pierdołach.
- 11
Od północy zabrałem się za naukę pisania prostej gry w Godot, myślałem, że to będzie totalna porażka, a tu się okazało, że UI godota jest naprawdę fajne, choć czasami trzeba dość dużo kroków podjąć aby dojść do jednej opcji a sam GDScript to rewelacja, jak ktoś zna pythona powinien połapać się w kilka godzin wraz z wbudowaną dokumentacją funkcji co jest też mega.
Mój pomysł na grę to stworzenie nowej odsłony gry Mario, ale więcej szczegółów nie powiem zanim nie skończę robić kolejnych scen, stworzenie punktacji, mądrzejszych potworków (bo teraz chodzą od kolizji do kolizji xD(a propo wizualizacje w godot można podejrzeć po uruchomieniu gry jak zaznaczysz opcje "Debug>Visible Colission Shapes") bardzo pomocne jak tworzysz kolizje dla roślin/potworków/bohatera czy drzew)
Ale co u mnie wygrywa, zamiast robić milion ifów do różnych akcji możesz zrobić AnimationTree wizualnie, połączyć z innymi akcjami etc. (sprawdźcie to sami! warto!)
W
Mój pomysł na grę to stworzenie nowej odsłony gry Mario, ale więcej szczegółów nie powiem zanim nie skończę robić kolejnych scen, stworzenie punktacji, mądrzejszych potworków (bo teraz chodzą od kolizji do kolizji xD(a propo wizualizacje w godot można podejrzeć po uruchomieniu gry jak zaznaczysz opcje "Debug>Visible Colission Shapes") bardzo pomocne jak tworzysz kolizje dla roślin/potworków/bohatera czy drzew)
Ale co u mnie wygrywa, zamiast robić milion ifów do różnych akcji możesz zrobić AnimationTree wizualnie, połączyć z innymi akcjami etc. (sprawdźcie to sami! warto!)
W
@morusek: Po pierwsze Godot ma mały installer, małe wymagania i jest open source. Co do pracy, to jak ze wszystkim trzeba się przyzwyczaić. Pracuje się inaczej, nie przypina się skryptów do obiektów jak w Unity, co bywa zaletą, jak i wadą. Dla mnie samodzielne robienie zaawansowanych graficznie gier 3D to w 2020 roku to słaby pomysł, dlatego nigdy nie byłem fanem UE. Polecam Godota! :D
@aptitude: Z jaki tutoriali korzystałeś?
Myślałem o tym, żeby się pobawić modelami samochodów i algorytmami do routingu coś jak w RTSach, tylko żeby preferował drogi i zatrzymywały się na światłach. Zacząłem od OpenGL i mi się odechciało chyba nie będę pisał własnego silnika :D
Myślałem o tym, żeby się pobawić modelami samochodów i algorytmami do routingu coś jak w RTSach, tylko żeby preferował drogi i zatrzymywały się na światłach. Zacząłem od OpenGL i mi się odechciało chyba nie będę pisał własnego silnika :D
Silnik Godot Engine zyskuje możliwość uruchomienia go z poziomu przeglądarki.
Póki co jest to wersja trochę okrojona, lecz z czasem będzie ona coraz bardziej podobna do zwykłej wersji.
Można przetestować go tu - https://godotengine.org/online/godot.tools.html
Wymaga do działania Firefox Nightly lub przeglądarki bazującej na najnowszej wersji Chromium np. Brave
Póki co jest to wersja trochę okrojona, lecz z czasem będzie ona coraz bardziej podobna do zwykłej wersji.
Można przetestować go tu - https://godotengine.org/online/godot.tools.html
Wymaga do działania Firefox Nightly lub przeglądarki bazującej na najnowszej wersji Chromium np. Brave
- 5
W czasie #koronawirus ludzie z #indiegamedev i #gamedev siedzą domu. Niby to nic dziwnego - cały ten development się zwykle w i tak domu odbywa, ale jakoś jest inaczej gdy ten pobyt jest wymuszony, a nie dobrowolny. Aby zatem przewietrzyć emocje, ekipa zrzeszona w #kurki games zrobiła podcast o tym, co się ostatnio działo.
Zapraszam do posłuchania wolnego wybiegu #1.
Jeśli macie pytania to zostawcie w komentarzach, na pewno odpowiemy.
Zapraszam do posłuchania wolnego wybiegu #1.
Jeśli macie pytania to zostawcie w komentarzach, na pewno odpowiemy.
OOO jestem tam! #neonprototype :D 35:00
- 0
ᕦ(òóˇ)ᕤ
- 3
#gamedev #android
Cześć! Chcę się przed Wami pochwalić moją nową i pierwszą, wydaną grą na Androida. Jest to mój pierwszy projekt, opublikowałem go na razie na itch.io oraz jestem w trakcie weryfikacji na google play. Do zrobienia gry użyłem #godot, którego się ciągle uczę. Gra nazywa się Block'n'roll. Jest kolorowa, rozgrywka krótka, towarzysząca muzyka (którą można wyłączyć) oraz mechanika pozwala się zrelaksować. Zapraszam do serwisu itch.io. Przygotowałem 20 kodów dla Was. Proszę o rozjechanie tej gry!
https://wkzgamesstudio.itch.io/blocknroll
20 świeżych
Cześć! Chcę się przed Wami pochwalić moją nową i pierwszą, wydaną grą na Androida. Jest to mój pierwszy projekt, opublikowałem go na razie na itch.io oraz jestem w trakcie weryfikacji na google play. Do zrobienia gry użyłem #godot, którego się ciągle uczę. Gra nazywa się Block'n'roll. Jest kolorowa, rozgrywka krótka, towarzysząca muzyka (którą można wyłączyć) oraz mechanika pozwala się zrelaksować. Zapraszam do serwisu itch.io. Przygotowałem 20 kodów dla Was. Proszę o rozjechanie tej gry!
https://wkzgamesstudio.itch.io/blocknroll
20 świeżych
- 40
Cześć Mirki i Mirabelki! Dziś zerknąłem sobie do git i co widzę?
Jutro upływa równo dwa latka jak zacząłem robić swoją gierkę - ΔV: Rings of Saturn. Ale ten czas leci. W sumie nad grą spędziłem pewnie z 1500 godzin - taki #gamedev w wolnym czasie. Zaczęło się od skromnego prototypu w #godot - jeszcze w wersji 2. Szybko przeszedłem na - niestabilny wtedy jeszcze - Godot 3 i cały czas rozwijam tą grę na nim.
Czym jest #deltav? To gra o Wykopach w Kosmosie. Jak zgrabnie podsumowano ją w Rock Paper Shotgun - gra biorąca najnudniejszą mechanikę wszystkich strzelanek kosmicznych i przerabiająca ją w satysfakcjonującą gierkę fizyczną. Dobre odwzorowanie przestrzeni kosmicznej jest przy tym moim konikiem - statki w grze zachowują się tak, jak prawdziwe, a fajną rozgrywkę zapewniam nie tyle naginając zasady, co wybierając ciekawe miejsce, gdzie dzieje
Sun Mar 18 17:52:53 2018 +0100 Initial commit
Jutro upływa równo dwa latka jak zacząłem robić swoją gierkę - ΔV: Rings of Saturn. Ale ten czas leci. W sumie nad grą spędziłem pewnie z 1500 godzin - taki #gamedev w wolnym czasie. Zaczęło się od skromnego prototypu w #godot - jeszcze w wersji 2. Szybko przeszedłem na - niestabilny wtedy jeszcze - Godot 3 i cały czas rozwijam tą grę na nim.
Czym jest #deltav? To gra o Wykopach w Kosmosie. Jak zgrabnie podsumowano ją w Rock Paper Shotgun - gra biorąca najnudniejszą mechanikę wszystkich strzelanek kosmicznych i przerabiająca ją w satysfakcjonującą gierkę fizyczną. Dobre odwzorowanie przestrzeni kosmicznej jest przy tym moim konikiem - statki w grze zachowują się tak, jak prawdziwe, a fajną rozgrywkę zapewniam nie tyle naginając zasady, co wybierając ciekawe miejsce, gdzie dzieje
- 4
ja jeszcze tylko dodam, że soundtrack do tej gry to jest po prostu miód, cud i orzeszki <3 :)
10
SIlnik gier Godot w wersji 3.2.1
Godot 3.2.1 - przegląd nowości w udanym Open sourcowym silniku gier
z- 0
- #
- #
- #
- #
- #
- #
#godot
Zajmował się ktoś kiedyś fizyką samochodu w Godocie? Czy VehicleBody jest wystarczający i czy da się włączyć jakoś więcej Ticków w fizyce? Bo przy większych prędkościach samochód nie wyłapuje krawężników
Zajmował się ktoś kiedyś fizyką samochodu w Godocie? Czy VehicleBody jest wystarczający i czy da się włączyć jakoś więcej Ticków w fizyce? Bo przy większych prędkościach samochód nie wyłapuje krawężników
- 0
@lukasX2002: o widze ze maluchracer 3 jest w pełnej produkcji
- 0
@wycz: XDD dokładnie tak
Jak w Godot zapisywać globalnie tekst użytkownika?
Mam Global.gd i dodałem jako singleton ale jak zapisać coś do zmiennej i jak później odczytać?
Coś typu: setstorage(‚klucz’, ‚wartosc’)
A później get
Mam Global.gd i dodałem jako singleton ale jak zapisać coś do zmiennej i jak później odczytać?
Coś typu: setstorage(‚klucz’, ‚wartosc’)
A później get
Jeśli chodzi ci o słownik tak jak podałeś w przykładzie to:
np.
w pliku Globals.gd będącym singletonem
var dict : Dictionary = {key:value}
np.
w pliku Globals.gd będącym singletonem
var dict : Dictionary = {key:value}
- 17
Od pojawienia się ΔV: Rings of Saturn w Early Access na #steam minęło prawie pół roku. Gra w tym czasie mocno się rozbudowała i poprzedni trailer nie pokrywał się już z rzeczywistością. Dziś z przyjemnością przedstawiam wam nowy:
https://postacnormalna.pl/pierwsza-przygoda-z-rustem-i-godotem/
#rustlang #godot #programowanie
unsafe
już nie jest potrzebny.