Skocz do zawartości
deshipu

uGame - konsolka do gier w Pythonie

Pomocna odpowiedź

Doceniam za sensowne założenia, wkład pracy i doprowadzenie do realizacji pierwszej serii. Po raz kolejny dostrzegam misję i za to szacun. Mam nadzieję, że projekt znajdzie swoją niszę i szybko urośnie w siłę. Może pojawi się społeczność, biblioteka gier (i innych programów?), obudowy i cała ta otoczka w której przekroczenie masy krytycznej odpala dalsze, samodzielne "życie" takich inicjatyw.

Bez znalezienia sponsora zainteresowanego np. edukacyjną stroną pomysłu upowszechnienie tego będzie jednak trudne. Myślałeś o tym? I w ogóle, co planujesz dalej zakładając, że pierwsza seria się sprzeda. Po prostu zwiększanie skali produkcji? Obecna forma przyciąga tylko zdeterminowanych hobbystów (podnoszę rękę) a nawet szczątkowa obudowa (przezroczysta?) dawałby już poczucie bezpieczeństwa i solidności. Wtedy kupienie tego dzieciakowi z podstawówki nie byłoby desperacją taty-inżyniera a gadżet można by zabrać do szkoły bez obawy o odlepienie i urwanie LCD.

Szkoda, że zabrakło (nie zauważyłem?) jakiegoś małego złącza (I2C lub UART itp) do ew. rozszerzeń. Nawet obecnie nie używane i nieopisane, mogłoby w przyszłości posłużyć do podłączania kilku prostych klocków np. modułu akcelerometru (pochylamy konsolkę i woda na ekranie wylewa się z misek) czy nawet czymś sterujących (mini-robotem? podlewaniem kwiatków? paskiem inteligentnych diodek? itd).

Jako osoba nieumiejąca i nierozumiejąca tak języka jak i całego tego optymizmu wokół Pythona już jestem zainteresowany Twoim produktem i - jeśli tylko zdążę - kupię go z ciekawości. Jeśli to mnie nie przekona to już chyba nic.

A cena jest zupełnie OK 🙂 Brawo.

Udostępnij ten post


Link to post
Share on other sites

Dziękuję.

Plany jak się zapewne domyślasz są mgliste. Jest już jeden ochotnik, student projektowania przemysłowego, który pracuje nad obudową — jak tylko będzie mieć coś rozsądnego, to udostępni. Podejrzewam zresztą, że każdy kto ma drukarkę 3D będzie próbował zrobić do tego własną obudowę.

Co do zrobienia z tego produktu dla mas, to niestety pojawia się problem skali. Formy do odlewania obudowy to jakieś 3 kilodolary, certyfikacja CE, RHOS i FCC to kolejne 2-4 kilodolary na każde. To oznacza, że musiałbym być pewien sprzedania co najmniej 1500 sztuk, żeby w to inwestować. Owszem, zapewne jest to możliwe, ale wolę najpierw spróbować to rozwijać jako projekt dla pasjonatów, żeby potem mieć solidną bazę do dalszego rozwoju.

Wszystkie wolne nóżki (a jest ich aż 4) wyprowadziłem na styki na tyle urządzenia, obok styków dla debugera — nie jestem pewien czy okażą się przydatne, tym bardziej, że normalnie zasłania je bateria. Niestety nie chciałem już za bardzo modyfikować projektu żeby udostępnić to w jakimś lepszym miejscu i może też dać dostęp do przycisków etc.

Na horyzoncie (dość odległym na dzień dzisiejszy) jest też druga iteracja, z lepszym procesorem (SAMD51 z 256kB RAM!), lepszym ekranem, rozsądniejszym torem audio (regulacja głośności, jack na słuchawki) etc, — niestety jeszcze czeka mnie dużo nauki zanim będę w stanie to porządnie zaprojektować, więc pewnie jest to kwestia jakichś dwóch lat. No i zobaczymy najpierw jak to będzie działać i czy uda się coś wokół tego zbudować. Jak zawsze, samo urządzenie jest mało istotne — liczą się dostępne zasoby (gry, dokumentacja) oraz przede wszystkim społeczność, a nad tym praca dopiero się zaczęła.

Udostępnij ten post


Link to post
Share on other sites

Bardzo fajny projekt. Natomiast jak chodzi o przyszłe wersje to polecam trochę więszke układy z rodziny Atmela - SAMA5D2 (http://www.microchip.com/design-centers/32-bit-mpus/sama5/sama5d2-series). Ostatnio mają w jednej obudowie procesor i pamięć DDR2, więc wystarczy podłączyć flash i właściwie gotowe. Dużym plusem jest moc obliczeniowa - wystarczy do uruchomienia linuxa, więc jest pełny python, biblioteki, a pewnie i emulator gameboya da się odpalić (Doom działa, testowałem).

Udostępnij ten post


Link to post
Share on other sites

No właśnie ja nie chcę pełnego Linuksa, bo to strasznie komplikuje całość i powoduje, że znowu spędzamy połowę warsztatu na edytowaniu konfiguracji i naprawianiu kart SD. Jest też pewien moment w którym więcej mocy obliczeniowej nie pomaga — bo chcemy wtedy robić lepsze i trudniejsze gry. Ograniczone platformy mają swój urok. Do tego chcę korzystać ze sportowanego już przez Adafruit CircuitPythona — nie mam zasobów czasu i wiedzy, żeby robić i utrzymywać własny port.

Emulatory są doskonałym rozwiązaniem kiedy chcesz zrobić zabawkę do gry — w końcu dają ci "za darmo" dużą ilość istniejących już gier. Ale po pierwsze, takie konsolki już na rynku są, tanio, i nie sądzę, żebym mógł z nimi konkurować, a po drugie, ja naprawdę lubię pisać gry i chciałbym, żeby więcej osób poznało tę przyjemność.

Udostępnij ten post


Link to post
Share on other sites

Ok, po prostu pomyślałem, że taka opcja mogłaby zwiększyć sprzedaż / popularność rozwiązania. Natomiast nie pomyślałem nawet o karcie SD. Po prostu mały embedded linux w pamięci flash i tyle. Ale Cortex-m4 to też potężna platforma, więc trzymam kciuki za nową wersję 🙂

Udostępnij ten post


Link to post
Share on other sites

Mały update, bo o ile sprzęt się nie zmienił i konsolka nadal jest taka sama, to czas nie stoi w miejscu i firmware do niej znacznie się poprawił. Wkrótce zostanie wydana wersja 4.0 języka CircuitPython, wraz z wbudowaną obsługą dla tej konsolki i ogólnie dla wyświetlaczy. Już teraz można ściągnąć wersja beta7 firmware-u ze strony https://circuitpython.org/board/ugame10/ i testować.

A co nowego? Trochę się tego zebrało:

  • Natywna obsługa wyświetlacza, co oznacza, że zarówno konsola, printy z naszego programu, jak i wszelkie komunikaty o błędach widoczne są na ekranie. Nie trzeba już podłączać się serial monitorem żeby zobaczyć traceback.
  • Alokowanie długo-żyjących i krótko-żyjących obiektów osobno, przez co znacznie zmniejsza się fragmentacja pamięci i nasze gry mają jej więcej do dyspozycji.
  • Ulepszona obsługa dźwięku.
  • Włączone więcej wbudowanych modułów, dzięki temu, że jest więcej miejsca.
  • Wersje z przetłumaczonymi komunikatami błędów, w tym polska.
  • Stabilniejsza obsługa USB.
  • Naprawione wiele błędów.
  • Kompatybilność z wcześniejszą wersją. Jedynie pre-kompilowane pliki .mpy muszą być skompilowane do nowszej wersji.

Poza tym, biblioteka Stage działa teraz ze wszystkimi płytkami Adafruit obsługującymi CircuitPython, tylko trzeba ją włączyć przy kompilacji swojego firmware-u, bo domyślnie włączona jest tylko dla µGame. Poniżej przykład Vacuum Invaders działających na prototype PyBadge:

(Ta gra została napisana na mniejszy ekran, w związku z czym jest po prawej stronie pasek "śmieci".)

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Super projekt i sam pomysł nauki programowania przez pisanie gier też jest bardzo ciekawy. Nie tak dawno temu miałem chęć napisania takiej namiastki gry działającej w konsoli. W efekcie powstało coś takiego.

20190413_210139_1.thumb.gif.81ab9983717c14768de30e4c178a20aa.gif

 

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

@deshipu super, bardzo fajnie wygląda i dźwięk też sporo daje 😉 Jakie masz ogólnie teraz plany z tą konsolą? Co będzie się dalej działo z tym projektem?

Udostępnij ten post


Link to post
Share on other sites
1 godzinę temu, Treker napisał:

Jakie masz ogólnie teraz plany z tą konsolą? Co będzie się dalej działo z tym projektem?

Nie mam jakichś specjalnych planów. Zostało mi w zapasie jakieś 20 sztuk do sprzedania na Tindie i różnych maker fairach — nie wiem czy to pójdzie czy nie, może zrobię jakąś wyprzedaż, bo co prawda sprzedaję to z małym marginesem, ale lepiej już sprzedać z małą stratą niż żeby leżało ze stratą 100%. Wkrótce do sprzedaży wejdzie Adafruit PyBadge, który właściwie jest duchową kontynuacją tej konsolki — wszystko to samo, tylko mocniejszy mikrokontroler, więcej pamięci i akcelerometr na pokładzie. I jak widać na załączonym wideo, doskonale działają na tym moje gry. W zasadzie nosiłem się ze zrobieniem właśnie czegoś takiego jako drugiej wersji konsolki, ale skoro Adafruit zrobił, to ja nie za bardzo mam jak z nimi konkurować. Gdy konsolki się sprzedadzą do końca, to nie planuję dalszej produkcji — projekt jest w pełni otwarty i tak naprawdę dość prosty do zlutowania, jak ktoś bardzo chce, to sobie może sam zrobić.

Z drugiej strony sprzęt to tylko niewielka część takiego projektu. Mam plany nadal pracować nad ulepszeniem firmware-u — zarówno utrzymywaniem go w zgodności z wychodzącymi nowymi wersjami CircuitPythona, jak i zwiększeniem wydajności (nadal nie używam DMA do transmisji SPI, na przykład, a mogłoby to trochę przyśpieszyć) oraz rozszerzeniem funkcjonalności (na przykład przydałby się generator prostych dźwięków, zamiast czytać wszystko z plików WAV, można napisać też wczytywanie grafiki z plików GIF zamiast BMP). Na wyższym poziomie też pracy nie brakuje — przydałaby się lepsza dokumentacja, w postaci poradnika wyjaśniającego jak zrobić poszczególne rzeczy, mam też w planach zestaw przykładowych plików graficznych z podstawowymi obiektami, żeby nie trzeba było wszystkiego od samego początku samemu rysować.

Na pewno też będę pisał na tę platformę kolejne gry — w końcu to właśnie po to to zrobiłem. Za dwa tygodnie jest Ludum Dare, na przykład, to dobra okazja żeby w jego ramach taką grę stworzyć.

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »

×