Nienawidzę JavaScriptu za wiele jego głupich elementów, które już kiedyś omawiałem, ale jedno kocham w nim niezmiernie i życzę innym językom, by zaadoptowały to:

Promise <3

Nic tak życia nie ułatwia jak ten ociekający miodem ficzur ()

#programowanie #javascript #ihatejavascript
  • 26
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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
Mircy programisty
PsichiX - Właśnie opuściłem Mordor banicji, tzw. #tangodown - Za co? za śmieszkowanie...

źródło: comment_6SuukGjitPg6BFb58QXFywJwoLL43aFq.jpg

Pobierz
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

  • 17
#n----------e -.-
Slowacy w akcji, part 2:

Mowilem juz im, ze trzymanie osobno grafik dla koloru i alphy jako dwie tekstury to zlo i polamalbym kark kazdemu, kto tak robi w browserowej grze i ze to powoduje crashe gier, ale jak grochem o sciane..
Dzisiaj dali mi do debugowania gry mobilne, zebym zprofilowal bo crashe. No i pacze co ile zajmuje w pamieci, i olac juz to iz alokuja mase arrayek duzych co ramke i
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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 j----e 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.
PsichiX - 1. Zacznij zlecenie dla dużej firmy.
2. Zobacz kod i assety gier.
3. Otrz...

źródło: comment_YEnQv949y7N2V1j1CjFgMGboTQ4g9p2a.jpg

Pobierz
  • 31
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@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
  • Odpowiedz
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
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

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
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Miałem troszku przebojów z edytorem w kwestii zarządzania i bezpieczeństwa działania od strony serwerów HTTP odpalanych przez edytor, ale udało się! działa już proces zarządzania projektem (tworzenie nowego, otwieranie istniejącego, budowanie, czyszczenie builda, odpalanie buildów w przeglądarce; tryby: Debug i Release - da się też budować spod terminala) - a skoro to już działa perfect, to mogę teraz zająć się rozwijaniem edycji scen w edytorze (
PsichiX - Miałem troszku przebojów z edytorem w kwestii zarządzania i bezpieczeństwa ...

źródło: comment_BKZeZJVa0102tS2nI6xvUj8K6zMijvwg.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@Colos: da. ale ale! jego świetność polega na tym, że jako jedyny posiada w miar zaawansowany edytor, w porównaniu do innych silników webowych. poza tym to kolejny silnik do gier w HTML5.
  • Odpowiedz
@PsichiX: Ekstra. Musze koniecznie ogarnąć. A jak tam Twój Ptakopysk?
Lubisz podejście Unity3D, że składasz prefaby z komponentów (to chyba entity system się nazywa?) itp., masz jakieś preferencje co do narzędzi, bibliotek? :D
Sam uważam, że gamdev nidługo ucieknie do weba :D
  • Odpowiedz
Mam Ci ja nowe zadanie: przetestować PlayCanvas (https://playcanvas.com/) - początki zawsze są fajne, ale w porównaniu do Three.js ten silnik ma swoje edytory (szkoda, że działają tylko w webie, ale na czymś silnik musi zarabiać i robi to bardzo dobrze - poprzez aplikacje satelitarne, nie na samej licencji za kod silnika). Silnik można też ściągnąć i używać gołego API bez edytorów. Funkcjonalności ma fajne, działa tak jak powinien, czyli jest oparty
PsichiX - Mam Ci ja nowe zadanie: przetestować PlayCanvas (https://playcanvas.com/) -...

źródło: comment_pmcqDuiDoikCmWbdxOUGwtycPyUkTnYz.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Treść przeznaczona dla osób powyżej 18 roku życia...
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

#ihatejavascript - ciąg dalszy borykania ze z------m Three.js:
zmieniając parametry kamery, trzeba explicite wywołać camera.updateProjectionMatrix() - bo przeto w JSie Object.defineProperty() jest bezużyteczne, a nawet auto update'u macierzy przed renderingiem zrobić nie można (typowa funkcjonalność zwana 'dirty')
()
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

W Three.js niezbyt da się robić wielomateriałowe meshe (w sensie: da się, ale nie do końca tak, jak to być powinno ;<), więc musiałem napisać klasę, która rozwiąże ten problem. Dodatkowo, zakodowałem binarny format modeli, więc dane też są chudsze (jeszcze tylko by tak dodać do eksportera opcję konwersji także z Collady i byłoby już pro <3)

Obrazek nie zachwyca, ale pokazuje że to działa - klasycznie: Teapot :3


#ihatejavascript
PsichiX - W Three.js niezbyt da się robić wielomateriałowe meshe (w sensie: da się, a...

źródło: comment_xC7jMOXciJsstp0UPCCewbimT6akHfdP.jpg

Pobierz
  • 11
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 1
@MP0WER: eksporter łyka aktualnie plain text OBJ i za pomocą Bufferów zapisuję dane binarne (big-endian; używane przez model materiały oraz sub-meshe), potem po stronie przeglądarki odczytuję ArrayBuffer za pomocą DataView - tak, całkowicie 'ręcznie' koduje i odkodowuje dane binarne (lubię mieć pełną kontrolę) xD
  • Odpowiedz
Ohesu, skończyłem! musiałem zrobić od zera renderer tekstu i asset czcionek, bo Three.js obsługuje tylko i wyłącznie rendering czcionek systemowych, albo css media () straciłem dzień, ale za jednym zamachem będę miał od razu kolejną kontrolkę UI ()
#ihatejavascript
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Ja p------e.. Three.js to jest jednak z-----a libka - aby zrobić poprawne wyświetlanie UI, musiałem zanegować skalę sceny UI tylko po to, by obrazki nie były wyświetlane do góry nogami z kamerą z punktem [0; 0] w lewym-górnym rogu, bo skala na sprajtach skaluje dzieci, nie samego sprajta, a nie da się modyfikować UVek sprajta, bo przenieśli to do tekstur. ja p------e.. ( ͡° ʖ̯ ͡°)
i tak
PsichiX - Ja p------e.. Three.js to jest jednak z-----a libka - aby zrobić poprawne w...

źródło: comment_CRSJTd1qo3SLnpudGaKhPoGRF059hXRA.jpg

Pobierz
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

uff, baza dla renderowalnych kontrolek UI zrobiona i przetestowana! przed południem zacznę tworzyć konkretne kontrolki, ale jeszcze nie pochwalę się API UI managera - zostanie mi dodać serializację i deserializację drzewa UI, wtedy zarzucę kodem przykładowym i chętnie wysłucham opinii :3
#ihatejavascript
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

My code works and i dunno why.. O.o

Ale testy nie kłamią - z sukcesem odwzorowałem funkcjonalności Anchor i Dock z .NET-owego WinForms do mojego UI Managera w JavaScriptcie ( ͡ ͜ʖ ͡)
Kolejny cud na dzień dzisiejszy zaliczony, można iść spać! ()
Jak skończę całą abstrakcję UI Managera to podrzucę przykład użycia API
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach