Skocz do zawartości

Konrad-GM

Użytkownicy
  • Postów

    2 728
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    44

Odpowiedzi opublikowane przez Konrad-GM

  1. 10 godzin temu, Borek napisał:

    Chyba najlepszym rozwiązaniem będzie zrezygnowanie z WP :) Prosta strona z informacjami i tyle. Tak naprawdę i tak dzieje się najwięcej na FB.

    Może jakiś Jekyll, stronka bez cms, php, mysql, tylko plain html, css i js z możliwością dodawania newsów w markdownie. Prywatne repo na GitLabie + Pipeline CI i nie będzie trzeba martwić się deployem.

  2. 7 godzin temu, Borek napisał:

    2. Z używaniem potków nie słyszałem jeszcze problemów, co więcej nawet pochwały, że fajne bo od razu jest pod palcem jak kończy się MP/HP. Może "digitizer" w telefonie Ci szwankuje :)

    Jakoś nie mogę się przyzwyczaić do wyskakującej ikonki podczas walki, wtedy z paska szybkiego dostępu próbuję potów używać przy jednocześnie wciśniętym atakowaniu, może źle w to gram :D 
     

    7 godzin temu, Borek napisał:

    3. Otoczenie mało czytelne: hm... rzeczywiście niektóre miejsca w Elioris jak klify mogą się lekko zlewać, wiem, bo sam czasami na nie wpadałem, ale główne drogi są czytelne.

    Zszedłem ze ścieżki i nawet znalazłem jakiś domek w lesie, grób, skrzynię, przez to często schodzę ze ścieżek eksplorować :D
     

    Widziałem, że planujesz wydać też wersję PC po iOS. Powodzenia!

    Edit: Brata też namówiłem do ogrania Darkosena, kiedyś graliśmy w Almorę Online i mu się mega podoba też ta odsłona :D 

    Edit2: BTW. Jak wejdzie się na stronę AD przez google to wyskakują jakieś dziwne scam reklamy.

  3. Pograłem jakiś czas, zdobyłem kilka lvli, pozwiedzałem kilka lokacji i... gra się mega przyjemnie, chociaż czasami sterowanie jest sztywne, nie zawsze działa używanie potów, podnoszenie rzeczy i trzeba mashować przycisk bo jakaś animacja się jeszcze nie skończyła. Jest też kilka problemów, może bardziej designerskich niż technicznych, np. główna linia fabularna na razie jest dość... cienka, znalazłem list, teraz mam znaleźć jakiegoś gościa i nie wkręciłem się w nią w ogóle, robiłem kolejne poboczne questy byle by pozbierać poziomy na dalsze wypady, a questy są typowe dla tego gatunku - idź zabij X robali/much/krabonszczów/bandytów, albo znajdź rodowy miecz/zbroję czy inne badziewie itd. To co prawda początek gry zapewne, więc głównej fabuły jeszcze nie ocenię. Z takich poważniejszych problemów jakie szczególnie mi przeszkadzały - to otoczenie które jest mało czytelne, nie widać co jest górką, a po czym można chodzić. Nieraz złapałem się na tym, że przelazłem jakąś drogę i utykałem na pozornych przejściach, albo zastanawiałem się czy to nie jest górka zanim tam pójdę, bo utknąłem w buszu i nie mogłem znaleźć wyjścia :P No i jeszcze takie czepialstwo z mojej strony - mam ekran w telefonie 19.5 / 9 przez co widzę paski na bokach, co prawda jest przycisk "wymuś pełny ekran", ale wszystko jest wtedy rozciągnięte.

    Gratuluję ukończenia pierwszego dużego projektu! i to w pojedynkę. Na pewno wrócę do grania a co by pozwiedzać inne lokacje Almory i ciskać firebollami w monstra. Powodzenia w kolejnych produkcjach! Na pewno będę śledził Gear Studio :)

  4. Nie testowałem tego na GMSie, ale możesz spróbować włączyć debuggowanie po wifi na androidzie ręcznie.
     

    1. Podłącz telefon po USB i sprawdź w ADB wszystkie widoczne urządzenia:
    D7iZOzr.png

    2. Jak będziesz miał swoje urządzenie widoczne, przełącz ADB do trybu debugowania po sieci `tcpip`, wpisz coś takiego:
    MaY2u9u.png

    Ale poza jedną rzeczą, w miejsce portu 5555 wpisz port jaki masz skonfigurowany w GMSie. Możliwe też, że zadziała jak podasz taki sam port jak tutaj.

    3. Teraz możesz spróbować połączyć się z urządzeniem, ale najpierw znajdź IP telefonu w lokalnej sieci.
    lnP4BlK.png

    Możesz odłączyć telefon od kabla USB i spróbować zrobić deploy.

    Tutaj masz bardziej szczegółowy opis jak co działa:
    https://developer.android.com/studio/command-line/adb#wireless

  5. Nie korzystam z GMa już od dłuższego czasu tak naprawdę, ale może spróbuj pobawić się substytutem jak GMowy path, znalazłem nawet jakieś tutoriale. Bazując na nich chyba załapiesz jak można to też rozwiązać, co prawda dalej będziesz musiał policzyć odległość od tych segmentów żeby postać mogła "złapać" linę (chyba, że GM potrafi znaleźć najbliższy punkt funkcjami path :))
    https://youtu.be/OkUMpnvxS1s
    https://youtu.be/fOL_VYzwDcE

     

  6. Ja bym to zrobił podobnie jak to @gnysek zaproponował, ale zamiast procentowego wskaźnika, to trzymał długości segmentów, oraz nie usuwał obiektu gracza, a w nim sterował poruszanie się po linie. np. przypuśćmy, że mamy taką linę:
    sqpA5BD.png

    Można podzielić ją na segmenty, np. ręcznie powstawiaj punkty, np. w kodzie i wtedy będziesz miał listę punktów z której możesz policzyć długość każdego segmentu.
    1a1fIDy.png

    Teraz najciekawsza rzecz - żeby pozwolić graczowi "złapać" linę, musisz policzyć jak daleko od najbliższego segmentu jest gracz. W pętli for dla każdego segmentu sprawdzaj, jak daleko gracz jest od liny. Jeżeli będzie odpowiednio blisko, to przypisz graczowi poprzez zmienną, do której liny należy, oraz na którym segmencie "zaczął się wspinać".
    Możesz przerobić ten skrypt https://www.gmlscripts.com/script/point_line_distance tylko wyciągnij z niego dwie wartości jak odległość i zmienną t, bo przyda Ci się do obliczenia jak daleko na tym segmencie jest gracz.

    A sama wspinaczka to co Step Event musisz ustawić gracza na odpowiedni segment linii. Np. jeżeli masz w graczu zapisaną wartość 120, to znajdujesz na którym segmencie jest gracz np. w pętli for i następnie liczysz wektor normalny z dwóch punktów tego segmentu i mnożysz przez różnicę (120 - [długość całkowita do punktu startowego segmentu na którym jest gracz]) a na koniec dodajesz wartości współrzędnych punktu startowego tego segmentu. Samo sterowanie poruszania się po linie to modyfikacja zapisanej zmiennej, możesz też tę wartość clamp-ować, żeby nie wylazł Ci poza linę.

     

    1t32dfH.png

     

    PS. pamiętaj, że złożoność tego rozwiązania to O(n), im mniej segmentów, tym lepiej :P 

  7. Godzinę temu, nowy_user napisał:

    Wrzuciłem apkę na inną domenę (taką bez ceryfikatu SSL) i po uruchomieniu, statystyki są ładnie zbierane.

    Wysyłasz zapytanie do google po nieszyfrowanym protokole `http://` z poziomu strony która jest szyfrowana. To nie problem z certyfikatem, a mieszaniem protokołów - jak odwiedzasz stronę po HTTPS, to przeglądarki odrzucają *każde* zapytanie które zrobisz po HTTP.
    https://developers.google.com/web/fundamentals/security/prevent-mixed-content/what-is-mixed-content

  8. ImageMagick ma jeszcze komendę mogrify dla wielu plików, ale jeżeli nie zadziała zawsze możesz skrypt napisać, np. pod windowsa w konsoli wpisz:

    for %f in (*.png) do convert %f ( +clone -alpha extract -draw "fill black polygon 0,0 0,15 15,0 fill white circle 15,15 15,0" ( +clone -flip ) -compose Multiply -composite ( +clone -flop ) -compose Multiply -composite ) -alpha off -compose CopyOpacity -composite %~nf_rounded_corners.png

    Pod Linuxa działa to trochę inaczej np dla windowsa usunąłem znaki \ przy nawiasach i zamieniłem pojedyncze ' na "
     

  9. 25 minut temu, nowy_user napisał:

    Przy okazji, Konrad, co to za ciekawe narzędzie do sprawdzania , jak aplikacja wyświetla się na różnych urządzeniach? Też chciałbym tak potestować :D

    Zwykły Chrome, a DevTools można znaleźć pod F12 lub Ctrl+Shift+I albo z menu > Więcej narzędzi > Narzędzia developera. Do pracy głównie używam Chrome dlatego na nim ogarniam toolsy (dla remote debug), a firefox z tego co wiem też ma podobne DevToolsy.

  10. Napisałem mega prosty skrypt, spróbuj dodać go do shella index.html przed zamknięciem taga </body>:

    <script>
        (function (window, DOM) {
            'use strict'
    
            var vp = getMetaViewport()
    
            window.addEventListener('resize', updateMetaViewport)
            updateMetaViewport()
    
            function getMetaViewport() {
                var meta = DOM.querySelector('meta[name="viewport"]')
    
                if (!meta) {
                    meta = DOM.createElement('meta')
                    meta.name = 'viewport'
                    DOM.head.appendChild(meta)
                }
    
                return meta
            }
    
            function updateMetaViewport() {
                var width = window.innerWidth * window.devicePixelRatio
                vp.content = 'width=' + width + ', initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no'
            }
        })(window, document);
    </script>

     

  11. Tak jak zasugerował to już @gnysek, jest to poprawne zachowanie przeglądarki na mobilkach. Używasz <meta> viewport które jest tutaj "problemem" tak jak sam zauważyłeś. Zaproponowane przez Ciebie na sztywno wstawienie skalowania działa u mnie (prawie) ok, ale ostatecznie nie działa to idealnie. Jakbyś miał czas i chęci to usprawnić, to myślę, że użycie window.devicePixelRatio byłoby lepszym rozwiązaniem - w ten sposób obsłużysz każdy ekran tak naprawdę.

    22VISyh.png

    Podgląd w devtoolsach, na mobile mam devicePixelRatio = 3, a na desktopie mam 1. Szerokość ekranu mobile u mnie to 1080px a ww. canvas to 360px. Jakby pomnożyć szerokość 360px * devicePixelRatio (czyli 3) to na mobile zwróci poprawny rozmiar 1080px. Na Twoim drugim poprawionym przykładzie liczy mi 720px więc to jest *prawie* ok, idealnie u mnie działałoby to przy scale = 0.3333 (1.0 / devicePixelRatio).

  12. Godzinę temu, LolikZabójca2 napisał:

    Gnysek nie jest marketingowcem i dlatego nie do końca rozumie w czym rzecz

    Podejrzewam, że Ty nie jesteś programistą, a marketingowcem, z którymi @gnysek ma pewnie masę doświadczenia w pracy ;P

     

    Godzinę temu, LolikZabójca2 napisał:

    Dlatego proszę ogólnie o konkrety, a nie "nie, bo nie i wybierz prestę"

    Ale nie jesteś programistą, żeby zrozumieć na czym to polega, dlatego ciężko będzie przekazać Ci konkretną wiedzę techniczną (nie da się jej przekazać w jednym zdaniu, żeby napisać stronę ecommerce), skoro nie wiesz jakie to jest skomplikowane - chociażby taka obsługa bramek płatności, jeszcze gorzej, jak będzie trzeba obsłużyć ich kilka, kolejne abstrakcje, kolejne interfejsy które trzeba, niestety, zaprogramować. BTW. To jest prosta i konkretna odpowiedź z doświadczenia a nie z wywyższania się. :P 

     

    Godzinę temu, LolikZabójca2 napisał:

    Albo znajdziesz na coś wtyczkę(najczęściej nie) albo się zgadasz że sklep będzie gorzej sprzedawał. Tu nie chodzi o to, że nie ma wtyczki która robi coś, ale takiej która robi w odpowiedni sposób.

    Albo napisz swoją wtyczkę, w takim np. Presta masz masę gotowych interfejsów w systemie i możesz je obsługiwać jak CI się tylko podoba bez myślenia, jak zaimplementować kolejkowanie zamówień czy obsługę bramek płatności, w tym skonfigurować serwer SMTP i wygenerować oraz wysyłać maile (np. z fakturami) do klientów - a to chyba jest ważne w marketingu?
     

    Godzinę temu, LolikZabójca2 napisał:

    szukam odpowiedzi technicznych dlaczego to miałby być zły pomysł.

    Bo przeważnie nie jest to tak dobry pomysł jakby się wydawało, zwłaszcza, jak nie ma się doświadczenia z programowaniem. Starsi koledzy też pewnie tak myśleli, ja np. napisałem własny sklep dla własnych potrzeb (i kilka innych stron), masa zabawy z tym była... generalnie polecam napisać swój sklep, sporo się nauczysz i zrazisz do takich przekonań :P  

     

    Godzinę temu, LolikZabójca2 napisał:

    XSS - czy ten problem mnie wgl dotyczy skoro nikt poza mną nic nie będzie mógł umieścić na mojej stronie?(...) Nie planuję wielkiego CMSa tylko zwykłą stronkę ze sklepem i prostym formularzem dodawania produktów z panelu admina.

    Ale tu jest już jakaś funkcja, przez którą będziesz umieszczał dane, dodajmy do tego formularz zgłoszeniowy, że ktoś chce kupić jakiś przedmiot, może nawet bramkę płatności :P XSS podałem dla przykładu, pierwsza strona Google pod hasłem "common ecommerce website vulnerabilities" - https://lirax.org/6-common-security-vulnerabilities-in-e-commerce-systems/

     

    Godzinę temu, LolikZabójca2 napisał:

    October_(CMS) - poczytam, dzięki :D

    Jak dla mnie fajny CMS, kilka stron na nim postawiłem i działa naprawdę nieźle - w tym w łatwy sposób można dodawać podstrony bezpośrednio w HTMLu (z wbudowanym silnikiem template'ów). Generowałem w nim PDFy, wysyłałem customizowane maile, zarządzałem użytkownikami (poza adminami/redaktorami ofc.)... Ale nie stawiałem na nim sklepów, tutaj własną wtyczkę musiałbyś dopisać (co jest banalne w October CMS), albo skorzystać z wtyczek z marketu ;)

  13. Nie jestem jasnowidzem i nie mogę powiedzieć co jest niezabezpieczone, sporo zależy jak napiszesz taki sklep. Możesz poczytać sobie o łatkach zabezpieczeń innych kombajnów jak np. Wordpressa żeby mieć ogólny zarys czym jest chociażby taki XSS i np. w jakich niespodziewanych miejscach można umieścić kod :) https://wordpress.org/news/category/security/
     

    23 minuty temu, LolikZabójca2 napisał:

    Z punktu widzenia sprzedawcy to wygląda inaczej niż programisty. (...) Ale w biznesie liczy się optymalizacja czasu potrzebnego do stworzenia takiego sklepu i dodania do niego kolejnych opcji. W sprzedaży ważne jest co jaką czcionką, w którym miejscu i jak jest zapisane, a nie czy kod jest super.

    Może też dlatego @gnysek poleca użyć gotowca jak Presta, bo podejrzewam, że działa marketingowo a nie próbuje podbić rynek swoim autorskim super frejmworkiem :)

    Jak dla mnie pisz własny sklep, jeżeli to nie jest pisane dla klienta a tylko do celów własnych, to sporo się nauczysz i nabierzesz doświadczenia jak to działa od kuchni. PS. Presta też jest mocno podatna na zmiany i czcionki spokojnie mógłbyś zmienić :) 

    Edit: Może rzuć okiem na OctoberCMS, dość ciekawe rozwiązanie, można w dość łatwy sposób pisać szablony bezpośrednio w HTMLu i doklejać kod PHP, mega prosty CMS i w dodatku podstawowa instalacja ma minimalnie wymagane pluginy.

     

  14. 1 godzinę temu, LolikZabójca2 napisał:

    Napisanie sklepu internetowego na własne potrzeby od zera to maks tydzień programowania.

    xD

     

    1 godzinę temu, LolikZabójca2 napisał:

    Nie wiem czy własny sklep zabezpieczyć to taki duży problem by było. Dać wszędzie PDO, żeby MySQL inject nie było, sprawdzać na każdej podstronie czy dana osoba faktycznie jest zalogowana i nie widzę za wielu problemów.

    xDD

     

    Akurat większość problemów dot. zabezpieczenia to wbrew pozorom wcale nie SQL injection.
     

    1 godzinę temu, LolikZabójca2 napisał:

    Chciałbym usłyszeć o tym z jakich konkretnie powodów odradzasz tworzenie takiego sklepu bo mogłoby mi to pomóc podjąć decyzję.

    Community i battle-testy.

     

    1 godzinę temu, LolikZabójca2 napisał:

    A i rozwijanie takiego sklepu byłoby prostsze pod kątem programowania dla mnie(znam kod na pamięć i jest prostrzy).

    Czyli nie wiesz, co jest wymagane, stawiam na żadne bądź b. małe doświadczenie w programowaniu takich rozwiązań :) 

    Nie twierdzę, że pisanie własnego sklepu to zło, sporo się można nauczyć, ale po tym co napisałeś stwierdzam, że nie masz doświadczenia z tematem (i dlaczego z góry zakładasz, że Twoje rozwiązanie będzie "lepsze"... jak nie będzie ;)).

     

  15. 11 godzin temu, LolikZabójca napisał:

    Często umawia się na procent

    Często grafik z doświadczeniem myśli zupełnie inaczej ;P

     

    11 godzin temu, LolikZabójca napisał:

    Pamiętaj jednak, że grafik mógłby potem też Ci pomagać w obsłudze klienta, reklamach itp. Dzięki temu też możesz wziąć sobie urlop, bo wtedy Twój wspólnik się zajmie wszystkim pod Twoją nie obecność.

    Ale dlaczego miałby to robić? Że za darmo? Albo za "procent"? Sorry ale jeżeli już ktoś się zgodził na procent, to teraz staje się tym "doświadczonym" grafikiem co już więcej na procent niczego Ci nie zrobi :) 

     

    11 godzin temu, LolikZabójca napisał:

    A co do zysków nie bądź taki pewien. Gry trzeba umieć promować. Nie jest to jakieś mega trudne, ale jeśli zrobisz to tak jak większość developerów to praktycznie nie wykonalne. Musisz być kreatywny i wiedzieć co robić(jak robić zamieszanie wokół produktu za jak najmniejsze fundusze bądź za darmo).

    10 godzin temu, Kewin napisał:

    Uważam że warto zaryzykować kilkadziesiąt tysięcy dla milionów. Jeśli podejdzie się do tematu poważnie to zysk jest pewny.

    Żeby zarobić te miliony to IMO trzeba mieć dużo szczęścia. Nawet gry AAA z dużym budżetem na reklamę mogą słabo się sprzedawać, faktor tym większy, im bardziej gra jest "indie" :P 

     

    Dnia 19.01.2020 o 19:31, Kewin napisał:

    Napisałem do grafika i napisał że weźnie 60 zł netto za rysunek, to dobra cena?

    Popytaj się innych grafików w branży o wycenę, bo na cenę może wpływać sporo czynników i zapewne każdy wyceni Ci je inaczej. Może nawet uda Ci się podłapać studenta co dopiero zaczyna w branży, będzie taniej, ale większe ryzyko, że będą to mocne średniaki, chyba, że gość utalentowany ale nie zna cen rynkowych :P 

  16. 10 godzin temu, LolikZabójca napisał:

    tak żeby to wyglądało profesjonalnie i bez czarnych pasków

    Jeżeli będziesz trzymał się proporcji 16:9 to większość ekranów jest ok, czarne paski pojawiają się tylko na jakichś abominacjach :P Obsłużenie wszystkich możliwych rozdzielczości jest IMO bardzo trudne, osobiście też próbowałem rozwiązywać ten problem w swoich aplikacjach (nie tylko grach). dlatego nie widzę niczego złego w trzymaniu się ustalonych proporcji, to sporo ułatwia pracę (polecam 16:9, najbardziej popularne). Jeżeli z jakiejś przyczyny takie rozwiązanie Ci nie odpowiada, możesz zawsze rysować UI po współrzędnych ekranowych, np. od prawego dolnego rogu (jeżeli np. pasek życia masz na dole po prawej stronie) a nie standardowo od lewego górnego, pamiętaj też, że na mniejszych ekranach elementy mogą na siebie nachodzić.
     

    PS. W Godot jest nawet opcja rozciągania ekranu tak (tryb "2d"), żeby skalowało sprite'y do ustalonych proporcji np. 1280x720 (16:9), tzn. jeżeli miałbym ekran np. retina 3840×2160 to rozciągnie obrazki ale surface (render target) na którym będą rysowane ma oryginalny rozmiar 3840×2160 (chyba, że jest poza proporcją 16:9, to wtedy pojawiają się czarne paski), więc antyaliasing linii, i innych kształtów rysowanych dynamicznie działa poprawnie. A nawet jak sprite będą zeskalowane w dół, to po ich rozciągnięciu na większym ekranie nie będzie tragedii.

×
×
  • Dodaj nową pozycję...