Skocz do zawartości

uGame - konsolka do gier w Pythonie


deshipu

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

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.

Link do komentarza
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.

Link do komentarza
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).

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

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ść.

Link do komentarza
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ę 🙂

Link do komentarza
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
Link do komentarza
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
Link do komentarza
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
Link do komentarza
Share on other sites

Dnia 2.10.2019 o 10:26, Treker napisał:

Skąd zmiana przycisków? Czy chodzi tylko oto, aby wystawiały ponad obudowę z pleksi? Tamte poprzednie wyglądały chyba fajniej, ale to szczegół 😉

Zaczęło się od problemów ze zbyt cienką wierzchnią warstwą, która pękała przez to na rogach przy dziurkach od śrubek. Oddalenie dziurek od krawędzi niestety nie wystarczyło, trzeba było zrobić grubszą płytkę (dzięki czemu udało się też trochę zaoszczędzić, bo można wyciąć całość z jednego arkusza), przez co przyciski nie wystawały wystarczająco. Zacząłem kombinować co można z tymi przyciskami zrobić (nawet zrobiłem malutkie płytki PCB do przylutowania pod przyciskami, żeby je trochę podnieść) i w końcu wpadłem na pomysł z nakładkami na przyciski także wyciętymi z tego samego materiału, co obudowa. W testach wyszło to znacznie bardziej naturalne niż osobne przyciski, więc postanowiłem się na tym skupić. Testuję też inne rozwiązania, między innymi wykorzystanie plastikowych nakładek od istniejących konsol (łatwo je kupić, bo sprzedaje się je dla tych, co chcą mieć je w nietypowych kolorach), zobaczymy co wygra na końcu.

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)

Długo tu nic nie pisałem, a projekt w miejscu nie stał. W zasadzie w poniedziałek dotarło do mnie pierwsze 20 sztuk wersji produkcyjnej, gotowej do zmontowania:

P1010391.thumb.JPG.fe8eb493bb29efcbaf979415b2af2d21.JPG

Po zmontowaniu wygląda tak:

P1010399.thumb.JPG.5714a50a765ede24ca252e1da69847a0.JPG

Jak widać, zmiany w porównaniu do prototypu raczej drobne: zdecydowałem się jednak na miniaturowe przyciski o wysokości 3mm, na które naklejone taśmą dwustronną są nakładki wycięte z akrylu. Wydaje się takie rozwiązanie bardzo prowizoryczne, ale okazuje się, że w praktyce doskonale się sprawdza. Akryl z którego miała być wycięta obudowa miał mieć grubość 3mm i 2mm, ale w praktyce ma 2.8mm i 1.8mm — na szczęście projekt uwzględniał pod tym względem wariację i wszystko nadal pasuje.

Pierwsze egzemplarze docierają pewnie właśnie teraz pomału do testerów, prawdopodobnie w połowie przyszłego miesiąca będzie można zamawiać konsolki bezpośrednio z Makerfabs, gdzie je produkują. Cena jednej sztuki to 25 USD, nie wliczając przesyłki i bez baterii (2xAAA 1.5V), z obudową do samodzielnego skręcenia.

Poza tym poprawiłem też bootloader i przetestowałem urządzenie z Microsoft MakeCode Arcade — działa bezbłędnie.

Edytowano przez deshipu
  • Lubię! 2
Link do komentarza
Share on other sites

@deshipu wygląda bardzo fajnie! Te śrubki wkręcane są prosto w akryl, nie ma z tym żadnych problemów?

Dnia 12.01.2020 o 00:29, deshipu napisał:

Akryl z którego miała być wycięta obudowa miał mieć grubość 3mm i 2mm, ale w praktyce ma 2.8mm i 1.8mm — na szczęście projekt uwzględniał pod tym względem wariację i wszystko nadal pasuje.

No niestety, w przypadku tego typu materiałów rozbieżności trafiają się bardzo często - mieliśmy z tym różne problemy podczas robienia obudów do Raspberry Pi. Najlepiej zawsze poprosić wykonawcę, aby zweryfikował grubość arkusza przed właściwym cięciem.

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.