Zastanawiam się czy lepiej jest pisać różne projekty, czy może jeden, który wykorzystuje wszystkie technologie.
Najlepiej jest zrzucić z piedestału bożka technologii (czyli przeatać uprawiać "cargo cult programming": https://en.wikipedia.org/wiki/Cargo_cult_programming ) i korzystać z technologii jako narzędzia do osiągnięcia celów, a nie jako celu samego w sobie.
Chciałbym zrobić grę kółko i krzyżyk, która działała by na:
Web, mobile i desktop.
I tutaj jeszcze piszesz z sensem. Wieloplatformowa gra w kółko i krzyżyk. I od tego należy wyjść a nie od technologii, wzorców, algorytmów czy innych szczegółów.. Jest i tak tyle języków, technologii, wzorców, że nie poznasz ich wszystkich, natomiast robiąc prostą grę i ew. rozbudowując ją o kolejne opcje (i ewentualnie: dodając kolejne technologie jeśli masz taką potrzebę) nauczysz się więcej, niż jak będziesz na siłę próbować wrzucić byle jak jakieś technologie, byle tylko wrzucić.
Web, mobile i desktop.
Web python, django, js, html, css
mobile java, android
desktop c/c++/python
Każdy z każdym mógłby się łączyć.
Wykorzystać wszystko co idzie wykorzystać.
Automatyczne budowanie projektów, wzorce, clean code itp.
Zdalny dostęp typu rest.
Sztuczne AI do gry:
Grafy logiczne,
Sieci neuronowe,
Algorytmy genetyczne generujące grafy
Każdy element miałby możliwość robienia serwera i clienta, chodź nie wiem czy lokalnie js miałby taką możliwość i chyba nie.
To co chcesz zrobić nazywa się po angielsku over engineering, a po polsku "przekombinowanie"
https://en.wikipedia.org/wiki/Overengineering
generalnie nie jest to dobry pomysł.