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...
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).

#programowanie #jaeger #intuicio (trochę #gamedev bo to do #ptakopysk robię)
PsichiX - Niemała zmiana:

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

źródło: comment_pEeaXdY37Jkve74AtzQc2CyQExqHtw0L.jpg

Pobierz
  • Odpowiedz
Okej, podsumowując obecny stan platformy Intuicio 4:

- architektura modułowa (tutaj to natywne i skryptowe moduły), gdzie moduły używają innych modułów;

- interpretowany (shell, skryptowanie) oraz kompilowany AOT (optymalizacja, zwiększona wydajność)[in progress];

- wielowątkowość wbudowana (myślę jeszcze nad korutynami), operacje arytmetyczne, bitowe, porownania, flow-control;

Osobiście uważam, że warto było przepisać całą platformę od zera - zyskała w ten sposób przyszłościową architekturę, która dzięki rejestrowi natywnych modułów i standaryzacji zwiększy zasięg platformy i
  • Odpowiedz
Z racji, iż prace nad kompilatorem I++ -> Iasm trwają już długo (optymalizacja drzewa wyrażeń jest koszmarem aktualnie), a ja potrzebuję mieć bardzo, ale to bardzo prosty język skryptowy na Global Game Jam do Ptakopyska, powstanie pierw bardzo prosty w kompilacji język skryptowy Kaiju.
Kaiju ma zapewnić dynamiczne typowanie, ale jednocześnie gwarancję rozlokowania pamięci. W Kaiju wszystko jest obiektem jakiejś klasy, operatory to metody jak każde inne, a biblioteka standardowa jest
PsichiX - Z racji, iż prace nad kompilatorem I++ -> Iasm trwają już długo (optymaliza...

źródło: comment_kMw90nEYmYae8jDY2gOj7my5NGlqDSGt.jpg

Pobierz
  • 3
@jasiek13: ten óczuc kiedy pisanie wlasnego silnika na game Jamie jest zbyt proste I zamierzasz napisac swoj wlasny jezyk zaby napis swoj silnik :D

@PsichiX: I jeszcze nie palisz? I nie bedziesz wychidzil na fajke? to bedzie piekny Game Jamie :) a tak w ogole to SOE zarejestrowales u Siwego? :)
  • Odpowiedz
Ah, nie chwaliłem się jeszcze! przepisuję xenona (silnik, którego code base używają inne moje projekty, w tym cały Ptakopysk) na linuxy - tym samym IntuicioVM zostało rozwinięte o nowe ficzury w ramach kompatybilności z unixami, więc powolutku zbliżam się mały mi krokami do momentu, w którym za kilka miesięcy będzie można mówić o początkach konkurencji dla Node.js z językiem wspierającym współbieżność i dualizm zarządzania pamięcią ( ͡° ͜ʖ ͡°
Oż#!$%@?, udało się! Po długich godzinach designowania i implementowania w parserze drzewa AST, mega-w-pytke-finalna-i-nie-ruszam-jej-już składnia nowego języka programowania Intuicio++ jest w końcu gotowa! ^^ Teraz muszę wracać do implementacji w kompilatorze translatora kodu do assemblera VMki.
(Gist: https://gist.github.com/PsichiX/15b708b6f3675b86fbe4)

Teraz możecie hejcić, albo chwalić składnię, czy też rzucać propozycje (które by weszły do implementacji po opublikowaniu toolsetu) ()


#intuicio #ipp #ptakopysk #xenoncore3 #gamedev #programowanie #nocnazmiana (a
PsichiX - Oż#!$%@?, udało się! Po długich godzinach designowania i implementowania w ...

źródło: comment_i0lTIisduSUmMFJOuqgz79VDpDqffU5M.jpg

Pobierz
Nie mogłem zasnąć, więc dla zmęczenia zakodowałem finalną składnię języka Intuicio++. Aktualnie trwają prace nad kompilacją wyrażeń (staram się nie zrobić z tego kobyły, ale kompilacja wyrażeń to chyba najcięższy kawałek kompilatora ()).
Link do tekstowej wersji: https://gist.github.com/PsichiX/15b708b6f3675b86fbe4 :3

#intuicio #ipp #ptakopysk #xenoncore3 #gamedev #programowanie #gamedev #nocnazmiana
PsichiX - Nie mogłem zasnąć, więc dla zmęczenia zakodowałem finalną składnię języka I...

źródło: comment_K4I6pOmXFYlBvUNadP4CH2brDngWOszQ.jpg

Pobierz
A więc to już chyba oficjalne! Nowy Ptakopysk v2 będzie zintegrowany z Qt (aplikacje osadzone w QtApplication; przeportowany renderer Xenon Core 3 opierający się o Qt3D; Językiem programowania będzie Intuicio++, a kod będzie uruchamiany w VMce Intuicio lub kompilowalny do C++, miast QML + JavaScript, jak robią to inne edytory gier)! A po tym etapie zostanie dopisany export do HTML5 (kompilacja Intuicio++ do asm.js) :3
Toolset będzie miotał
Yep, dziś podczas kodowania na #nocnazmiana, powstała finalna wersja bazowa składni I++! ^^ Jutro zaczynam implementować kompilację tego wszytkiego do assemblera Intuicio - do końca tygodnia pewnie będzie można już wrzucić toolset (kompilator, runner i jakąś podstawową dokumentację języka) do testów publicznych :333

https://gist.github.com/PsichiX/15b708b6f3675b86fbe4

#ipp - otwieram tag związany wyłącznie z nowinkami z samego Intuicio++!
#intuicio #xenoncore3 #ptakopysk #programowanie #gamedev
PsichiX - Yep, dziś podczas kodowania na #nocnazmiana, powstała finalna wersja bazowa...

źródło: comment_4Hn2GBC7T2Oopzxb3CzRXLKuiOIzT8gU.jpg

Pobierz
TL; DR:
https://gist.github.com/PsichiX/15b708b6f3675b86fbe4

Po dłuższej zabawie w robienie parsera drzewa AST doszedłem do wniosku, że zdobyłem wystarczającą wiedzę do tego, by móc zacząć kodować właściwy kompilator Intuicio++ (a.k.a. I++) - zmodyfikowałem nieco pierwotną składnię, najwcześniej po weekendzie dojdą funkcje oraz wstawki ASMowe i od tego momentu zajmę się procesem konwertowania drzewa AST do assemblera Intuicio, tym samym testując jego bazową funkcjonalność. Gdy osiągnę ten etap, zbuduję paczkę do testów publicznych, co
Nie rób parsera używając RegExa - mówili. Namęczysz się więcej, niżeli to osiągniesz, o ile osiągniesz - mówili. A takiego lolka! Powiedziałem, że zrobię, to zrobiłem i udało się zrobić nawet sprawnie działające rekurencje regexowe (yup, ominąłem dosyć prostym trickiem problemy wynikające z tego, że silnik RegExowy w .NET to maszyna stanu skończonego!) ^^
Tworzenie reguł składni I++ ciąg dalszy :3

Oto pliki (bo obrazek tylko 'na zachętę'): https://gist.github.com/PsichiX/b1c121444e67f685ed3b

#intuicio #xenoncore3 #
PsichiX - Nie rób parsera używając RegExa - mówili. Namęczysz się więcej, niżeli to o...

źródło: comment_J0QRclGy50IKwDd0VnDvRaxf17HVQtTv.jpg

Pobierz
Powolutku (bo czasu bardzo mało i co kilka dni mogę siadać do kodu) powstaje regexowy generator drzewa AST. W obecnej postaci kod zdaje się jest już skończony, teraz pozostaje uzupełnić plik gramatyki i voila (potem na podstawie tejże gramatyki i++ powstanie już docelowy kompilator napisany w c/c++ - ten parser służyć ma głównie do testowania poprawności kompilowania nowych języków do asma Intuicio) :3
W skrócie: coraz bliżej ukończenia i wydania toolsetu mej
PsichiX - Powolutku (bo czasu bardzo mało i co kilka dni mogę siadać do kodu) powstaj...

źródło: comment_lViODTPiaaegfUtjdpO6mZPqXs3WVwch.jpg

Pobierz
@Ilythiiri: ten potwór to assembler mej maszyny wirtualnej. normalnie będzie się pisać w jakimś dialekcie wysokopoziomowym, kwestia napisania w końcu kompilatora jakiegoś języka do tego assemblera i będzie można używać :3
  • Odpowiedz