PsichiX
Użytkownicy-
Postów
5 647 -
Dołączył
-
Ostatnia wizyta
-
Wygrane w rankingu
12
Typ zawartości
Profile
Forum
Wydarzenia
Treść opublikowana przez PsichiX
-
Zrobiłem, integracja z projektem powinna być prosta: http://www.dropbox.com/s/e15o41gd2x31q67/UnderWater.gmz W ruchu wygląda lepiej:
-
my nie pytamy, co jest zle, a co sie dzieje - toc to roznica :>
-
gml jest nieczuły na brak średnika na końcu linii.
-
Ładnie, źle? UI ma być proste i możliwie bliżej retro, niżeli AAA. Pomóżcie:
-
adekwatnie do przedstawionego problemu: aha
-
jasne! to będzie niemalże banał :D klepne dziś po pracy, spodoba Ci się :)
-
powierzchnia wody ma falowac, czy ma byc plaska?
-
As: Hydrozagadka
-
ktora wersja GM? w GM:S da sie to banalnie shaderem uzyskac. Moge pokazac jak.
-
Tytuł: RoboCoder (nazwa kodowa) Gatunek: Symulator/Sandbox Opis: Sandboxowy symulator w pełni programowalnych robotów. Piszemy i kompilujemy programy sztucznej inteligencji dla robotów, które potem używamy w symulacjach. Po zarejestrowaniu się i zalogowaniu do serwisu internetowego RoboCoder, możemy uploadować nasze programy i symulacje na serwer, tym samym pozwalając innym użytkownikom na pobranie naszych tworów i podziwianiu naszej awesomeności :) Cały symulator składa się z wizualizatora, czyli samej aplikacji symulatora, gdzie odbywa się komunikacja z serwisem i odpalanie symulacji, oraz aplikacji do pisania i kompilowania programów, który pozwala na szybkie testowanie i debugowanie naszych programów. Do zrobienia zostało: dodanie obsługi interfejsów: dotyk, sonar, radar, radio. stworzenie edytora tekstowego dla programów robotów (Intuicio IDE). dodanie do wizualizera obsługi odpalanych ad hoc probramów z poziomu Intuicio IDE. dodanie do serwisu funkcjonalności pobierania i uploadowania symulacji i programów. dodanie do wizualizera lepszej oprawy graficznej symulacji. dodanie funkcjonalności wersjonowania plików, aby można było aktualizować zmiany. Autorzy: Programowanie: Patryk "PsichiX" Budzyński. Fabuła: bazowy pomysł: GMClan.org; rozbudowany pomysł: Patryk "PsichiX" Budzyński. Grafika: Patryk "PsichiX" Budzyński Muzyka: Brak Screeny:
-
Wizualizer w GM:S zrobiony, dziala odpalanie symulacji z zasobow lokalnych, dzis zrobie szukanie i pobieranie symulacji z serwisu sieciowego RoboCodera i potem dokoncze reszte interfejsow robota i puszczam alfe do testow i zabawy :)
-
na ten weekend powinien wyjść już cały bazowy set, czyli kompilator kodu i symulator oraz przykładowe programy. nadal assembler bez parsera GML.
-
Dodano nowe interfejsy, a oto lista wszystkich ich: * silniki (napęd) [zapis/odczyt] * orientacja (kompas?) [odczyt] * pozycja (gps?) [odczyt] * kontroler (sterowanie klawiaturą bądź joystickiem) [odczyt] * dotyk (lista punktów na "ciele" robota, które kolidują z otoczeniem) [odczyt] * radar (lista zeskanowanych punktów wokół robota o ograniczonym małym zasięgu) [odczyt] * sonar (lista zeskanowanych punktów naprzeciw robota o dalekim zasięgu) [odczyt] planuje dodać także radio, do komunikacji między robotami (będzie można lepiej programować zachowanie grup) no a dla ciekawskich kolejny kod programu robota, który reguje na kontrolowanie go klawiaturą lub joystickiem: !intuicio !registers-i 16 !registers-f 16 !stack 1024 !data float positive 1.0 !data float negative -1.0 !data float zero 0.0 #inject "framework/interface_engines.isc" #inject "framework/interface_orientation.isc" #inject "framework/interface_position.isc" #inject "framework/interface_controller.isc" !start movi regi:0 :$RobotApiController->RobotApiController.button0 movi regi:1 :$RobotApiController->RobotApiController.button3 movi regi:2 :$RobotApiController->RobotApiController.button2 movi regi:3 :$RobotApiController->RobotApiController.button5 movf :$RobotApiEngines->RobotApiEngines.left $zero jifi 0 @isLF @isLFelse !jump isLF movf :$RobotApiEngines->RobotApiEngines.left $positive !jump isLFelse jifi 1 @isLB @isLBelse !jump isLB movf :$RobotApiEngines->RobotApiEngines.left $negative !jump isLBelse movf :$RobotApiEngines->RobotApiEngines.right $zero jifi 2 @isRF @isRFelse !jump isRF movf :$RobotApiEngines->RobotApiEngines.right $positive !jump isRFelse jifi 3 @isRB @isRBelse !jump isRB movf :$RobotApiEngines->RobotApiEngines.right $negative !jump isRBelse !exit
-
dokładnie. robot kręci się w kółko :) słaby test, ale pokazuje że działa przełożenie z maszyny wirtualnej na fizyke.
-
wszystko jest robione proceduralnie. całą symulację opisuje plik JSON configu: { "areaSize": [ 5, 5 ], "obstacles": [ { "position": [ -2, -2 ], "rotation": 45, "size": [ 1, 1 ] }, { "position": [ -2, 2 ], "rotation": 45, "size": [ 1, 1 ] }, { "position": [ 2, 2 ], "rotation": 45, "size": [ 1, 1 ] }, { "position": [ 2, -2 ], "rotation": 45, "size": [ 1, 1 ] } ], "robots": [ { "program": "../scripts/example.itc", "position": [ 0, 0 ], "rotation": 0, "size": [ 1, 1 ] } ] } a dla ciekawskich, tak wyglada testowy kod programu robota (tutaj assembler, bo interpreter GMLa jeszcze nie zostal skonczony): !intuicio !registers-i 16 !registers-f 16 !stack 1024 !data float positive 1.0 !data float negative -1.0 !data bytes nl 10, 0 #inject "framework/interface_engines.isc" !start movf :$RobotApiEngines->RobotApiEngines.engineLeft.force $positive movf :$RobotApiEngines->RobotApiEngines.engineRight.force $negative !exit
-
wizualizer symulatora (czyli apka wyswietlajaca graficznie symulacje) zrobiona, dziala wykonywanie programow robotow (asynchronicznie), dzis zabieram sie za dodawanie pozostalych interfejsow, zaczynajac od bazowych: interfejs dotyku, żyroskop i sonar (interfejs silnikow juz jest)
-
Ale nikt nie mówi, że będzie inaczej. Ciągle powtarzam i nie dociera - NADAL BĘDZIECIE KODOWAĆ AI W GMLU. DAMMIT. :D dokładnie - to jest jakieś jedno wielkie nieporozumienie - postanowiłem odizolować wykonywanie kodu od GMa, ale nadal będzie używany GML. Tyle że nie tylko dla sceny GMa to robie, a także dla innych. Będzie z tego sandbox, ale o tym po wykonaniu pierwszego trybu, czyli programowalnego AI do walki robotów :)
-
tak, ale cel symulatora jest taki, by byl multiplatformowy, a GM:S nie jest tam, gdzie chce na licencji, jaką jeszcze mam. I nie o multiplatformowość tylko chodzi, a o możliwość implementacji w innych językach i frameworkach. sam symulator jest jedynie biblioteką kompletnego flow obsługi robotów i interakcji z otoczeniem. w skrocie: jak ktos zechce zrobic sobie port na iOS, pythona czy cokolwiek innego, to zrobi :) patrze na komentarze i czasem sie zastanawiam, czemu macie taki bol dupy - ja to robie porzadnie i mozliwie na najszerszy target. serio musze sie tlumaczyc ze swoich wyborow? myslalem ze sa na tyle jasne, ze kazdy zrozumie :)
-
dobre wieści - symulator będzie udostępniony także w wersji surowej libki do c++, więc będzie można stworzyć porty wizualizera do innych języków. ja zrobię port do GMa przez DLLa :) btw. właśnie trwa podpinanie Box2D do libki i integrowanie go z symulatorem.
-
gnysku. napisałem już wiele razy jaki powód był tego, co zrobiłem - ochrona kodu dla trybu multi. nadal będziecie klepać kod w GMLu, ale nie będzie sytuacji takiej, że ktoś oszukuje. zaufanie? ok, ale nie zaszkodzi po prostu przeszkodzić potencjalnym oszustom :)
-
kompletna maszyna wirtualna gotowa, czas zająć się parserem z GMLa do tego i można robić symulator :) http://dl.dropboxusercontent.com/u/9759049/intuicio_v3.2.zip
-
Bjork <3
-
ODNALAZŁEM PANIĄ KONTEKSTOWĄ! :D
-
stary, zrobilem lwia czesc symulatora - cala maszyne wirtualna kontrolujaca AI. Klient to popierdolka bedzie, moze zajmie wiecej niz dzien, bo nie moge tego zrobic w GM, a natywnie, ale nadal zrobie, bo to jest gra w ktora widze, ze ludzie beda grac, jak i zreszta ja takze :)