Słowacy, część: oby ostatnia!

Jak można robić atrybuty komponentu bindujące encje tylko po to, by w inicjalizacji komponentu nadpisywać je encjami szukanymi po nazwie z dupy? O.o
Przecież to jest jawne gwałcenie ideii komponentowości, jeśli to programista ustala takie rzeczy, a nie designer..

NO JAK TAK MOŻNA? i oni mówią, że nie znają się na PlayCanvasie, bo robili w Unity - przeto tak samo to działa w Unity. Jak można tak #!$%@?ć
Właśnie opuściłem Mordor banicji, tzw. #tangodown - Za co? za śmieszkowanie o śmierci @NadiaFrance w dzień tragedii Paryskiej.
Żeby było to jasne: Dostałem bana słusznie, to logiczne. Nie mniej wcale nie czuję się z tym źle - koleżanka śmieszkowała niegdyś w tagu #programowanie, to pomyślałem, że pośmieszkuję sobie z jej życia. Tak z grubej rury ( ͡° ͜ʖ ͡°)

A co by być w temacie programowania:
https://github.com/playcanvas/engine/blob/master/src/asset/asset_registry.js
Pobierz
źródło: comment_6SuukGjitPg6BFb58QXFywJwoLL43aFq.jpg
O Pany!
Wlazłem w kod materiałów PlayCanvasa (głównie w Physical, który nadal nazywa się Phong ( )) - ogurwa, ale sieczka. Faktycznie, twórcy PlayCanvasa stawiają na wizualną jakość gier, ale totalnie olewają wydajność O.o
właśnie tworzę własny materiał do sprajtów w 3D (który poprzez hooka ma zastąpić Physicala/Phonga) i szkoda, że tak strasznie utrudnili tworzenie customowych materiałów, które chciałyby być zgodne z API Physicala/Phonga, ale przez
1. Zacznij zlecenie dla dużej firmy.
2. Zobacz kod i assety gier.
3. Otrzymaj informacje, że potrzeba zoptymalizować gry (przede wszystkim sprawić, że się uruchomią)
4. Przeczytaj, że masz na to 2 dni.
5. 2 #!$%@? dni na zoptymalizowanie 5-6 jebitnie niedziałających gier.
6. Zastanów się, czy tak duży hajs jest warty prób wytłumaczenia im, że cokolwiek się zrobi, to 2 dni nie wystarczą na uruchomienie tego na mobilach.
7. Ani ja,
Pobierz
źródło: comment_YEnQv949y7N2V1j1CjFgMGboTQ4g9p2a.jpg
@PsichiX: nie pisz ze sie nie da tylko....

Witam ble ble - przeanalizowalem kod zalaczonych projektow i przedstawiam wstepna analize tematu

1 - gry nie trzymaja sie standartow [rpgramowania co utrudnia pelna analize problemow
2 - wstepnie moge ocenic iz wyszukanie porblemu to ok 7h na jeden projekt
.... cos tam cos tam

W zwiazku z tym prosze o przelozenie terminu odbioru projektow na 7dmy pazdziernika (7h x ilosc projektow) lub
@Verzweiflung: Nie znam tego edytora do playcanvas. Napewno istnieje możliwość samodzielnego napisania modułu do tego, podobnie jak w unity. Myślę że taki moduł jest zbyt skomplikowany żeby nadawał się do ogólnego przeznaczenia. Jeśli się zastanowisz nad problemem to zobaczysz, że losowe generowanie poziomu może odbywać się na wielu płaszczyznach (losowe rozstawienie przedmiotów, wrogów npc, losowy system jaskiń, losowe połączenia między etapami, losowe pomieszczenia z dużych gotowych klocków). Prędzej wyciągniesz go z
@Ginden: kompresuję pozycje, texcoordy i normalki - dzięki Twojemu pomysłowi dla normalek z precyzją 2 spadło do 25%, dla texcoordów z precyzją 3 do 31%, a dla pozycji z precyzją 4 (i zakresem <-100; 100>) do 61%. tej metody użyję!
KOCHAM CIĘ <3

Ciąg dalszy tego: http://www.wykop.pl/wpis/14480281/ten-uczuc-gdy-po-godzinach-tworzysz-sobie-edytor-d/


Ta sama Słowacka firma chcąc mnie zwerbować dała mi kosmicznie fantastyczne warunki w porównaniu do tego, co mam w obecnej i praktycznie jestem już jedną nogą u nich - ale ale! aktualni szefowie chcą jutro (dziś) wynegocjować zatrzymanie mnie w firmie ( ͡° ͜ʖ ͡°)


#playgate #gamedev #playcanvas #chwalesie #tylewygrac #itsmieszek #pracbaza
Pobierz
źródło: comment_Cl5A0z3lh9PQ6FXjzgoro14eJyb3p8hy.jpg
YAY, UDAŁO SIĘ! ^^
TL;DR: Jestem #!$%@? #!$%@? geniuszem! :3
Mój algorytm kompresji (LWM) modeli PlayCanvasa udał się z sukcesem!

Tabela wyników do zobrazowania:
- Oryginalny JSON - 4.50 MB;
- Kompresja MsgPackiem - 2.65 MB;
- Kompresja LWM - 2.55 MB;
- Kompresja LWM (SSPD) - 2.03 MB;
- Kompresja LWM (clean) - 1.60 MB;
- Kompresja GZIP - 1.27 MB;
- Kompresja LWM (clean SSPD) - 1.08 MB;
- Kompresja
Jak się okazało podczas optymalizacji projektu robionego w pracy, tak bardzo zachwalany przez twórców PlayCanvasa ichni format danych modeli jest po prostu ujowy. zajmuje dużo. o dużo za dużo. goły JSON? kaman ;___;
plik modelu przemielony msgpackiem waży połowę mniej, ale nadal to za dużo - piszę teraz właśnie specjalny serializer binarny, który będzie sprytnie pakował dane tak, by zawsze zajmowały jak najmniej miejsca. plus: będą tam pakowane tylko te dane, które
Ohayo!
Wrzuciłem aktualny kod źródłowy PlayGate na Githuba, co byście mogli robić code review i abym mógł dostawać feedback z postępów prac, jak i sugestie dotyczące jego przyszłości ()

https://github.com/PsichiX/PlayGate

#playgate #gamedev #programowanie #playcanvas #csharp #javascript #codereview #chwalesie
Pobierz
źródło: comment_WnpnYrdIHQGrJueTWZedbG5Iv10VDfLz.jpg
@PsichiX: Hejo, też chwilę przeglądałem kod i kontynuując wątek dodam parę rzeczy od siebie. No offense.

1. Nazewnictwo zmiennych - trzeba się na co zdecydować. Najlepiej jeśli nie używasz swojego stylu tylko potrafisz dostosować się do jakiejś normy. (ms_regexEscapes - to nie c++ :))

2. Brak jednolitej architektury. Widać, że pewne klasy powstawały spontanicznie i bez większego celu (TemplateFilesManager - zaglądam do środka i poza paroma metodami statycznymi nie widzę żadnego
I jest już także dostępna opcja robienia customowych edytorów definiowanych w plikach HTML! ()
Oto kod tego edytora: https://gist.github.com/PsichiX/87d3fa0f94b57b062fe1#file-date-editor-html

Powiem Wam, że to cudo działa przecudnie :3 dodatkowo przetestowałem na tym komunikację Aplikacja <-> Podgląd sceny i wiem już jak szybko osiągnąć realtime'ową edycję sceny (czego nie ma i jakiś dłuższy czas nie będzie w online'owym edytorze PlayCanvasa - nie mówiąc o customowych edytorach, bo
Pobierz
źródło: comment_BThoofhAEIGrN2D908TKibmpfdWBCZRz.jpg
Yep, budowanie property editorów z konfiguracyjnych JSONów działa! Dodatkowo na razie skończonych kilka edytorów z bazowych typów PlayCanvasa (zostały assety, enumeratory, wektory i krzywe - encje dojdą na końcu, ponieważ wymagają pobierania danych z hierarchii sceny, a ta jeszcze nie ma swojej wizualizacji w widoku). Po tym czas na hierarchię sceny i komunikację z wrapperem i do końca weekendu będę miał gotowy edytor w formie (mniej-więcej jak) online'owego edytora PlayCanvasa! ^^

Btw.
Pobierz
źródło: comment_EFyc3rh8zH631YsdtrgMFv01FfJKOwhj.jpg
Ohayo, Mircy! ()
W ramach nauki i ogarniania PlayCanvasa, stworzyłem prototyp prostej, acz zapewne bardzo wymagającej gierki przeglądarkowej! ^^
Link do gry: Spooky Actions at the Distance - The Annihilation
Pograjcie i powiedzcie, co Wam się podoba, co się nie podoba i jaki wynik zdobyliście :D

Quantum field theory game. In a huuuuge shortcut.
ABOUT: You have to controll two entangled particles, avoid annihilation by
Pobierz
źródło: comment_4QKiXkhqOOklHu5wUqlJ3wzjX8gaw0yr.jpg
@PsichiX @ailurus rzeczywiście, średnie wyniki gdy się nic nie robi są lepsze :D

Co do samej gry - 2 viewporty do ogarnięcia na raz to jednak nie jest pomysł na dobry gameplay ;) mój najlepszy wynik: 700...
Tak jak z kazdym czlowiekiem jest cos nie tak, tak i kazdy silnik ma jakas ultra nielogiczna niedociaglosc. Ale parskniecie ze smiechu, jak Wam powiem jaki problem tkwi z PlayCanvasem! :D

PlayCanvas opiera sie o wieloscenowosc, ale nie posiada zadnego przelaczania pomiedzy scenami!
#czogurwa xD


w sensie, da sie to zrobic wczytaniem hierarchii z pliku JSON sceny, ale jako nazwe trzeba podac UID sceny, ktorego nie znamy, bo edytor nam tego nie
hmm, na dziś kodowania edytora koniec, stanąłem przed designerską ścianą - property editorów z Ptakopyska wziąć nie mogę, są ograniczone, tj. istnieje limit rodzajów edytorów (głównie są składane z bazowych edytorów).
To, co chcę uzyskać to danie możliwości użytkownikowi zdefiniowania własnego dowolnie złożonego edytora dla customowego typu, który chcemy edytować i tu pojawił się problem natury: w jaki sposób napisać kod takiego edytora, który może przyjąć dowolną formę i akcje, jednocześnie będąc
@regis3: wow. no to tego nie znałem :O dzięki! <3
dodam to jako opcję dla zaawansowanych, bo docelową grupą odbiorców są użytkownicy JSa, więc zmuszanie ich do uczenia się C# nie wchodzi w grę, ale jako opcja na zaawansowane edytory jest extra! :D