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).
#programowanie #jaeger #intuicio (trochę #gamedev bo to do #ptakopysk robię)
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ę)
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
- 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
- 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 jest cudny, mogę zrobić z nim dosłownie wszystko.. (。◕‿‿◕。)
robi się: https://atom.io/packages/language-intuicio4
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 jest cudny, mogę zrobić z nim dosłownie wszystko.. (。◕‿‿◕。)
robi się: https://atom.io/packages/language-intuicio4
- 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 #ptakopysk #xenoncore3 #gamedev #programowanie #nocnazmiana (a
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 #!$%@?... 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 #programowanie #gamedev
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 #programowanie #gamedev
- 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
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- 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 #
Tworzenie reguł składni
I++
ciąg dalszy :3Oto pliki (bo obrazek tylko 'na zachętę'): https://gist.github.com/PsichiX/b1c121444e67f685ed3b
#intuicio #xenoncore3 #
- 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 #intuicio #ptakopysk #xenoncore3
Bogowie, czemu ja się jeszcze nie nauczyłem, że #csharp == szybciej i prościej? (╥﹏╥)
#gorzkiezale #nieprogramowanie #gamedev #intuicio #ptakopysk #xenoncore3
- 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