Wszystko
Wszystkie
Archiwum
- 16
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).
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).
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];
-
- 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];
-
- 2
Cholibka. Strasznie mało jest materiałów czysto technicznych z kodem odnośnie używania Vulkana - NVidia ma chyba największy wkład w przykłady, ale zastanawiam się, czy na potrzeby #lowrezjam-u nie użyć jednak OpenGLa :<
#nieprogramowanie #gamedev #vulkan
#nieprogramowanie #gamedev #vulkan
- 4
SCROLUJ DALEJ
Mówiłem już, że cały ekosystem Intuicio 4 (a w tym Kaiju) będzie oparty o Atom? ( ͡° ͜ʖ ͡°)
A wiecie, że Ptakopysk też zostanie z nim zintegrowany? ( ͡º ͜ʖ͡º)
Czuję dobrze koder - ten edytor
Mówiłem już, że cały ekosystem Intuicio 4 (a w tym Kaiju) będzie oparty o Atom? ( ͡° ͜ʖ ͡°)
A wiecie, że Ptakopysk też zostanie z nim zintegrowany? ( ͡º ͜ʖ͡º)
Czuję dobrze koder - ten edytor
- 2
@PsichiX: Szkoda że nie wiem o co chodzi :D ale ok, zazdroszczę.
- 14
Z racji, iż prace nad kompilatorem
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
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
- 2
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ą ( ͡° ͜ʖ ͡°
- 11
Alicja znowu w lesie, tym razem będzie ćpiewać Monstery-energetyki i zmieniać się w potwora zabijającego śliczne króliczki, bo inaczej zatulą ją na śmierć <3
#nocnazmiana #gamedev #ludumdare #aliceonmonsterdrunk #ptakopysk
#nocnazmiana #gamedev #ludumdare #aliceonmonsterdrunk #ptakopysk
- 10
Pierwsze prace ruszyły! Alicja z grzybków tym razem przerzuca się na Monster energetyki, które będą zmieniać ją w potwora rozpieprzającego wszystko! (ʘ‿ʘ)
#ludumdare #gamedev #ptakopysk #aliceonmonsterdrunk
#ludumdare #gamedev #ptakopysk #aliceonmonsterdrunk
- 18
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
(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 #
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 #
@PsichiX: O #!$%@?... Dawno tak nic nie zrozumialem jak tersz...
- 7
@Mirabelkowa: społeczność #programowanie jest Ci niezmiernie wdzięczna za zczarnolistowanie :*
- 14
Nie mogłem zasnąć, więc dla zmęczenia zakodowałem finalną składnię języka
Link do tekstowej wersji: https://gist.github.com/PsichiX/15b708b6f3675b86fbe4 :3
#intuicio #ipp #ptakopysk #xenoncore3 #gamedev #programowanie #gamedev #nocnazmiana
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
- 11
A więc to już chyba oficjalne! Nowy Ptakopysk v2 będzie zintegrowany z Qt (aplikacje osadzone w
Toolset będzie miotał
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
) :3Toolset będzie miotał
- 9
Yep, dziś podczas kodowania na #nocnazmiana, powstała finalna wersja bazowa składni
https://gist.github.com/PsichiX/15b708b6f3675b86fbe4
#ipp - otwieram tag związany wyłącznie z nowinkami z samego
#intuicio #xenoncore3 #ptakopysk #
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 :333https://gist.github.com/PsichiX/15b708b6f3675b86fbe4
#ipp - otwieram tag związany wyłącznie z nowinkami z samego
Intuicio++
!#intuicio #xenoncore3 #ptakopysk #
- 10
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
BTW. jak widać, w kompilatorze zastosowałem PEGTL do parsowania składni - muszę przyznać, że jest to fantastyczne narzędzie <3
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 każdy by mógł pobawić się językiem i wirtualką, a także zgłosić błędy :3BTW. jak widać, w kompilatorze zastosowałem PEGTL do parsowania składni - muszę przyznać, że jest to fantastyczne narzędzie <3
- 13
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
Oto pliki (bo obrazek tylko 'na zachętę'): https://gist.github.com/PsichiX/b1c121444e67f685ed3b
#intuicio #xenoncore3 #ptakopysk #programowanie #gamedev #nocnazmiana
Tworzenie reguł składni
I++
ciąg dalszy :3Oto pliki (bo obrazek tylko 'na zachętę'): https://gist.github.com/PsichiX/b1c121444e67f685ed3b
#intuicio #xenoncore3 #ptakopysk #programowanie #gamedev #nocnazmiana
- 15
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
W skrócie: coraz bliżej ukończenia i wydania toolsetu mej
- 4
Ten uczuć, gdy piszesz parser drzewa AST w #cpp i zajmuje to 3 dni (z czego masę czasu zajmuje szukanie i kompilowanie odpowiednich bibliotek), a potem robisz to samo w #csharp i zajmuje to 3 godziny <3
Bogowie, czemu ja się jeszcze nie nauczyłem, że #csharp == szybciej i prościej? (╥﹏╥)
#gorzkiezale #nieprogramowanie #gamedev #
Bogowie, czemu ja się jeszcze nie nauczyłem, że #csharp == szybciej i prościej? (╥﹏╥)
#gorzkiezale #nieprogramowanie #gamedev #
- 5
W przerwie od spamowania nowymi ficzurami #intuicio, pokażę Wam jeden z fajniejszych już wbudowanych w VMkę: obiekty zarządzane
{ to takie 'małe' przygotowanie do kompilacji ILasm (.NET) -> Intuicio :3 }
A tutaj łapcie Gista kodu bez kolorowania składni: https://gist.github.com/PsichiX/8cbc054472c803e17ea3
#xenoncore3 #ptakopysk #gamedev #programowanie
{ to takie 'małe' przygotowanie do kompilacji ILasm (.NET) -> Intuicio :3 }
A tutaj łapcie Gista kodu bez kolorowania składni: https://gist.github.com/PsichiX/8cbc054472c803e17ea3
#xenoncore3 #ptakopysk #gamedev #programowanie
- 15
YAAAAY! Udało się! ^^ co prawda napieprzyłem się z implementacją, bo musiałem przerobić sygnalizowanie zakończenia wątków współbieżnych, ale działa! :3 jeszcze tylko dodać wymuszone punkty synchronizacji, co by logi mogły się poprawnie wyświetlać i będzie perfekcyjnie <3
#gamedev (bo kiedyś trafi do #ptakopysk-a); #programowanie #xenoncore3 #intuicio
#gamedev (bo kiedyś trafi do #ptakopysk-a); #programowanie #xenoncore3 #intuicio
#ptakopysk #gamedev #intuicio #byloaledobre