Ohayo #gamedev!
W ramach testu platformy #intuicio (którą robię do mojej konsoli growej na Rpi3 i inne platformy: desktop (win, linux (distra debianowe), Mac os X, Android i iOS oraz Web na WebGL), chcę stworzyć grę multiplayer o walce marines vs. kosmici, w której główną cechą mechaniki ma być czasowa zmiana drużyny przez wszystkich graczy, tj. co minutę-dwie każdy gracz zamienia się miejscami z innym graczem z
  • 8
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PsichiX: Sam pomysł jest ciekawy, ale sposób w jaki planujesz go wykonać jest bardzo słaby. Po pierwsze to jaki sens ma w tym wypadku klimat "marines vs aliens"? Skoro są dwie tak różne strony konfliktu to gracz raczej powinien się wczuwać w daną nacje. W dodatku każdy nowy gracz się będzie mylił i po zmianie drużyny strzelał do swoich przez pierwsze kilka sekund z przyzwyczajenia - przypuszczam że o to
  • Odpowiedz
@PsichiX: po pierwsze primo - troche za duży chaos
po drugie prime - wykonywanie celów drużyny, jeśli za chwilę będziemy w drugiej nie ma sensu, byłaby straszna patologia bo nie wiadomo co robić, czy czasem nie przegrać specjalnie, itp.
  • Odpowiedz
mysle nad rozwiazaniem dostepu do zasobow, tj. ogolne podejscie do URI:
zrobic manager protokolow, ktory bedzie pomostem z serwisem (polaczenie socketowe?) do obslugi zadan URIm, np:
apka A rejestruje modul, ktory obslugiwac ma protokol http, a aplikacja B protokol file. definiowane one beda w manifescie. aplikacja C moze robic zapytania:

string content = ResourcesManager.callSync("file://local-storage/test.txt");
tutaj resource manager szuka zarejestrowany pod protokol file modul i on dokonuje operacji na URI, tj. otwiera plik i czyta go w
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Woah! Package manager działa całkowicie! ^^
Musiałem zrefaktoryzować toola do uruchamiania skryptów i4s, by sprawdzał, czy jeśli za input podamy ścieżkę do folderu (miast skryptu), oraz w tym folderze znajduje się 'module.json', to doda ścieżki do dependencies wylistowanych w tym module.
()
No to wracam robić moduł natywny do obsługi mediów (czyli wrapper SFMLa), który użyję w gierce testowej napisanej w Jaegerze :D

#nieprogramowanie
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Musiałem zrefaktoryzować toola do uruchamiania skryptów i4s, by sprawdzał, czy jeśli za input podamy ścieżkę do folderu (miast skryptu), oraz w tym folderze znajduje się 'module.json', to doda ścieżki do dependencies wylistowanych w tym module.


To nie jest refaktoryzacja. Refaktoryzacja to zmiana kodu bez zmiany funkcjonalności

Tak tylko prostuję, bo w pracy dostałbyś zjeby za niewłaściwa terminologię.
  • Odpowiedz
Jaeger ukończon, właśnie robię package manager do platformy Intuicio ()

coraz bliżej zrobienia własnego nodejsa jestem xD
Pewnie zarzucę dziś jakimś dokładniejszym info z postępu :>

#nieprogramowanie #jaeger #intuicio
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@PsichiX: npm od strony jest niemożliwy do skonfigurowania "po swojemu" nawet w wersji Enterprise kosztującej 2000$ rocznie (no wow, w końcu można hostować pakiety u siebie), a silver support to bodajże 20k dolanów ( ͡° ͜ʖ ͡°).

Ostatnio i tak zliberalizowali politykę.
  • Odpowiedz
skończyłem wreszcie korutyny. wywaliłem ostatecznie dedykowane konteksty (stosy) per korutyna i zaoszczędziłem tym na pamięci! ^^

Postaram się wrzucić aktualizacje z tego, przed wolnym i po urlopie w końcu postawie bloga, lub zaczne vloga (zastępstwo streamów, póki net mobilny) :)

#jaeger #intuicio #programowanie
  • 3
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

via Android
  • 1
@GlenPL dokladnie tak, jak @slucham-psa-jak-gra napisal - rodzina jezykow platformy intuicio wykorzystuje pod spodem wspolny assembler i ustandaryzowane ABI do komunikacji pomiedzy modulami natywnymi, wiec mozna pisac kod w kazdym jexyku, ktory korxysta ze wspolnego assemblera. Dlatego pokazuje czesto screeny z asma takze :)
  • Odpowiedz
via Android
  • 3
@fegwegw alez owszem, jest mi to potrzebne - tworze darmowa konsole do grania, nie oparta na androidzie oraz system ma nia i jest to czesc srodowiska uruchomieniowego. Plus jest to jeden z rodziny jezykow uzywanej do mojego toolsetu do tworzenia gier. Po konsoli stworze na tym doswiadczeniu system dla smartfonow (dla mnie to szansa uniezaleznienia sie od obecnych, zamknietych, szpiegujacych systemow samsunga).
Nie wiem, czy ludzie beda tego uzywac, ale przede
  • Odpowiedz
Hah! Przepisałem manager pamięci do #intuicio i teraz nie dość, że mam stronicowanie, mapowanie, to jeszcze mogę w końcu mapować zewnętrzną pamięć (user defined memory) na zakres adresów wirtualnych platformy! ^^
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@FNwsk: nie ma obawy - ja to wszystko udokumentuję, tylko muszę ukończyć swoje cele by wykorzystać "ciąg" w maksimum potencjału, potem gdy siły opadną, wszystko na spokojnie opiszę, aż powróci okres wzmożonej aktywności - priorytety ustalam wedle cyklów energetycznych organizmu, ale żadna praca przy tym nie ginie - ot, zostaje spychana na potem :)
  • Odpowiedz
http://dec64.com/

Mircy, co sądzicie o dodaniu wsparcia dla tego formatu liczbowego (najpewniej zrobiłbym to jako moduł natywny, miast cześć platformy Intuicio, ale na pewno chciałbym aby było to standardem w Jaegerze tak jak regexy).

Jestem ciekaw Waszego zdania na temat DEC64 ()

#programowanie #intuicio #jaeger #pytanie
PsichiX - http://dec64.com/

Mircy, co sądzicie o dodaniu wsparcia dla tego formatu...

źródło: comment_7PKBdALOunkkDZ6G1CADAikbY7i2cVyN.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@FNwsk: god dammit, ale hejt tam leci :D
Dlaczego i do czego chcę dodać obsługę dec64: chcę, aby Jaeger mógł służyć także jako język do bardzo dokładnych obliczeń na liczbach, tak jak MatLab - jeśli znasz inne formaty liczbowe spełniające dokładne, bezstratne obliczenia na liczbach ułamkowych, będę rad uzyskać więcej informacji ^^
  • Odpowiedz
Obiecałem sobie długi czas temu, że zrobię kiedyś grę o tym temacie - i będzie to jedna z pierwszych gier napisanych na platformę Intuicio z użyciem nowego Ptakopyska! :D


A poza tym muzyka jest fajna, a video creepy - nie dziękujcie ( ͡° ͜ʖ ͡°)


#muzyka #gamedev #intuicio #jaeger #ptakopysk
PsichiX - Obiecałem sobie długi czas temu, że zrobię kiedyś grę o tym temacie - i będ...
  • 1
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dokończyłem używanie natywnych modułów oraz marshalling typów native <-> jaeger i połatałem dziury, przez co już się nie w--------a ()
Zanim zrobię korutyny, przypomniałem sobie, że w sumie to fajnie byłoby móc używać w programie control flow (ify i pętle).
Z pętel to while powinien wystarczyć, nie?

#jaeger #programowanie #intuicio #gamedev
PsichiX - Dokończyłem używanie natywnych modułów oraz marshalling typów native <-> ja...

źródło: comment_pyN5cshJOOWcQcqUev423KlY50YXkRfQ.jpg

Pobierz
  • 10
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@insystem:
marshalling - jest to proces konwersji typów. na upartego możesz porównać to do serializacji z formatu A do pośredniego formatu B i deserializacji z pośredniego formatu B do innego formatu C.
Używa się go przede wszystkim do komunikacji pomiędzy różnymi ABI - np. .NET używa marshallingu pomiędzy typami natywnymi (int32/float32 itp.) a typami zarządzanymi maszyny wirtualnej .NETa.

native <-> jaeger - tu chodzi konkretnie o konwersję wartości pomiędzy
  • Odpowiedz
via Android
  • 1
@Swiatek7 ja tu ciagle jestem, ot koduje non stop ;p
poza edukacja? Tworze platforme uruchomieniowa w ideologii natywnych modulow z rodzina jezykow wysokopoziomowych opartych o wspolny assembler - mysl o tym jak o romansie .neta z npm :D
celem jest zwiekszenie liczby targetow i optymalizacji czasu produkcji gier w ptakopysku + robie wlasna konsole na rpi3 oparta o to
()
  • Odpowiedz
Nie wiem, czy kogoś to zdziwi, ale designuję przenośną konsolę grową opartą na raspberry pi - customowy system z lekką powłoką graficzną i środowiskiem uruchomieniowym aplikacji opartym na tworzonej aktualnie platformie Intuicio.
Tak, żodyn android, tylko natywne aplikacje, aby śmigało - rpi3 ma możliwości chyba generację starszych samsungów, a te mogą pociągnąć więcej, jeśli aplikacje będą natywne, niżeli odpalane w VMce.

Co jakiś czas będę wrzucał informacje o postępach designu i może jakieś dogłębniejsze
  • 4
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

A tak się informuje kompilator, jak dokonywać marshallingu pomiędzy nie atomowymi typami, bo może tak być, że zechcemy wykorzystać natywny moduł zgodny z innym językiem rodziny Intuicio i wtedy to, pozwoli nam poprawnie komunikować się pomiędzy modułami - ale to coś tylko dla zaawansowanych userów :D

#programowanie #jaeger #intuicio
PsichiX - A tak się informuje kompilator, jak dokonywać marshallingu pomiędzy nie ato...

źródło: comment_DZl8qOsUW8pAKP6F13v2Js3Z2CfO8jZJ.jpg

Pobierz
  • 9
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@KubusiowyKubus: mirko dziś szaleje i ucięło mi komentarz:

"tylko dla zaawansowanych" oznacza tych, któzy będą umieć posługiwać się assemblerem Intuicio, a normalny user ma nie musieć nawet go dotykać - marshaling to wyłącznie opcja dla zaawansowanych w znajomości platformy.

Oto kontekst, o którym mówię.
  • Odpowiedz
Niemała zmiana:

1. Wstrzykiwanie kodu assemblera nie odbywa się już w stringu, a poprzez umieszczenie pomiędzy podwójnymi tyldami.
fajnie składnię tego wizualizuje Atom, któremu po prostu podaję iż pomiędzy tyldami ma używać składni assemblera Intuicio :D

2. dyrektywa jaegerify, która załatwia marshalling pomiędzy natywnymi modułami, a funkcjami jaegera (kompilator robi wraperową funkcję, która konwertuje typy jaeger <-> native).
PsichiX - Niemała zmiana:

1. Wstrzykiwanie kodu assemblera nie odbywa się już w st...

źródło: comment_pEeaXdY37Jkve74AtzQc2CyQExqHtw0L.jpg

Pobierz
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@frogi16: do tego trojakość wykonywania kodu:
- uruchamianie w shellu (zastępstwo basha np. do procesu budowania projektów)
- uruchamianie w grze jako język skryptowy
- kompilacja do binarek jako natywne moduły uruchamiane przez inne moduły i aplikacje hosta

tak więc tego, assembler Intuicio ma to co wyżej, teraz potrzebne mi języki wyższego poziomu :D
  • Odpowiedz