Próbuję więc nauczyć mojego dużo młodszego kuzyna trochę programowania. Moja początkowa myśl była jak Scratch lub Alice , ale było kilka wad tego.
Wydaje się, że wszyscy są naprawdę zaangażowani w programowanie gier i tworzenie gier wideo (ponieważ wszyscy uwielbiają grać w gry wideo, a jeśli chodzi o gry wideo, granie we własne może być najbardziej satysfakcjonujące) - ale ani Alice, ani Scratch nie wydają się zadowolić gry rozwój
Alice i Scratch wydają się zbyt dziecinne, podczas gdy jestem pewien, że mój kuzyn z przyjemnością się w nim zagłębi, myślę, że szybko to znudzi
Chcę języka, za pomocą którego można tworzyć naprawdę fajne rzeczy, które zrobią wrażenie na jego przyjaciołach. Pamiętam, jak pisałem BASIC z powrotem w ciągu dnia, zapraszając wszystkich moich przyjaciół i pochwalając się moim dziełem, i po prostu czuję, że Alice i Scratch po prostu nie apelują w ten sam sposób
Chcę języka, który wymaga od mojego kuzyna pisania kodu. Nie chodzi tylko o to, że myślę, że pisanie kodu jest dobrym przygotowaniem do innych języków programowania, ale dlatego, że daje mu możliwość ćwiczenia pisania na klawiaturze i być może przyzwyczajenia się do nieco bardziej ezoterycznych znaków na klawiaturze
Właśnie dlatego nie chcę wybierać Alice ani Scratch.
Nie chcę też wybierać języka takiego jak C lub Java, a nawet Python lub Ruby. Mój kuzyn już mi powiedział, że lubi grać w gry wideo i chce tworzyć własne, i że lubi korzystać z komputerów. Moim zdaniem, nawet prosty język, taki jak Python lub Ruby, po prostu zajmuje zbyt dużo czasu na tworzenie fajnych rzeczy. Idealnie byłoby, gdyby usiadł, spędził około jednego lub dwóch dni (a może nawet do tygodnia, ale mam nadzieję, że krócej), i miał działającą, dwuwymiarową grę. Nie mówię, że nie możesz tego zrobić w Pythonie lub Ruby, ale po prostu mówię, że byłoby to trudne dla początkującego programisty. Poza tym nie chcę go nękać wszystkimi naukami komputerowymi, ponieważ może to nastąpić później. Chcę tylko pomóc mu stworzyć iskrę, a następnie pozwolić mu kontynuować resztę ognia.
Patrzyłem na języki takie jak Lua i chociaż wydaje się to powszechne w programowaniu gier, nie jestem pewien, czy to najlepszy wybór - ale jeśli myślicie inaczej, proszę dać mi znać.
Spojrzałem też na taki język jak Blitz i wygląda on naprawdę obiecująco (na dodatek wypróbowałem go kilka lat temu i było naprawdę całkiem fajnie). Minusem jest to, że muszę zapłacić, czemu zdecydowanie jestem przeciw.
Spojrzałem na SmallBasic , co wydaje się obiecujące i będę nadal patrzył. Ale niewiele zrobiłem (w rzeczywistości uruchamiam instalator, pisząc to, więc wkrótce opiszę swoje przemyślenia).
AKTUALIZACJA: Szybko spróbowałem SmallBasic i wydaje się to intrygujące, ale wydaje się też zupełnie inne w porównaniu do niektórych innych języków - to nie jest złe, ale to po prostu niezwykłe. Spośród rzeczy, na które patrzyłem, Blitz nadal jest moim ulubionym, ale odmawiam pójścia tam z powodu kosztów.
Ale w zasadzie, co myślicie o tym, co powiedziałem do tej pory, oraz o językach, na które patrzyłem i czy znasz jakieś inne dobre alternatywy?
AKTUALIZACJA: Oto, co postanowiłem zrobić ...
Zdałem sobie sprawę, że chociaż chciałbym pomóc mojemu kuzynowi, nie mogę być z nim cały czas i nie mogę mu pomóc za każdym razem, gdy potrzebuje pomocy. Chciałem więc wybrać coś, co ma dobrą dokumentację, dobrą społeczność i dobrą książkę, którą może śledzić.
W każdym razie wybrałem Python i Pygame. Python to język, który znam dość dobrze, a ponadto wiem, że wokół Pythona istnieje całkiem dobra (i dość duża) społeczność. Ponadto wiem, że dokumentacja w języku Python jest dość kompletna i łatwa w nawigacji. Pygame ma również doskonałą dokumentację i zestaw samouczków. Zmuszam go również do używania / śledzenia Invent Your Own Games with Python , co wydaje się bardzo dobrą książką, kupiłem mu papierową wersję na prezent świąteczny, a ponadto wiem, że jego monitor nie jest ogromny i niewygodne jest ciągłe przełączanie między tekstem a edytorem.
Myślę, że powinno pójść dobrze!
EDYCJA: Nie chcę sugerować, że mój wybór jest ostateczny lub że jest poprawny. Po prostu uważam, że najlepiej pasuje do tej sytuacji. Myślę, że każda osoba chcąca nauczyć kogoś młodszego powinna przejrzeć wybór i znaleźć najlepsze rozwiązanie dla danej osoby, biorąc pod uwagę takie rzeczy, jak wiek, poziom umiejętności i zainteresowania.
I want a language that can be used to develop really cool stuff that will impress his friends.
To wciąż moja podstawowa motywacja do programowania, po 25 latach ...Odpowiedzi:
Wygląda na to, że nikt nie wyrzucił Pythona + Pygame . W zależności od wieku / dojrzałości twoich kuzynów z pewnością otwiera to możliwość wielu fajnych rzeczy. Z pewnością jest to wystarczająca podstawa do rozpoczęcia pracy, ale dzięki ogromnej standardowej bibliotece nie można się nudzić w Pythonie.
źródło
Myślę, że współczesnym odpowiednikiem BASIC jest JavaScript. Daj mu prostą stronę HTML z osadzonym skryptem, który tworzy płótno i rysuje na nim kształt, skieruj go na niektóre samouczki i zobacz, co się stanie. Szybki zwrot (zapisz zmiany i odśwież stronę) i przyzwoita obsługa debugowania.
źródło
Nie jest to język programowania wyraźnie przeznaczony do grania, ale bardzo fajne efekty graficzne można uzyskać przy użyciu raczej niewielkiego kodu z przetwarzaniem . Ponadto jest bezpłatny i stosunkowo łatwy do nauczenia. IMHO to idealny język do nauki podstaw programowania, zwłaszcza, że samouczki uczą wielu podstawowych pojęć, takich jak zmienne, tablice, operacje matematyczne itp.
źródło
Nie grałem z tym od roku lub dwóch, ale używanie C # z XNA może być dobrym miejscem do rozpoczęcia. Z tego, co pamiętam, rozpoczęcie od niego jest dość łatwe. Chociaż ten link jest prawdopodobnie bardziej dla ciebie niż dla niego.
źródło
Wypróbuj Greenfoot ,
Obraz http://www.greenfoot.org/images/screenshot.png?1310995619
Jest oparty na Javie i są tam wszystkie te totalne pomiary do używania go na Youtube .
Greenfoot zapewnia dobre podejście odgórne przeznaczone dla początkujących.
widzę odpowiedź na to pytanie: „Dzieci są w rzeczywistości najszybszymi uczniami i robią to poprzez dopasowanie wzorca, ekstrapolację, interpolację itp.”
więc po pewnym czasie korzystania z Java w Greenfoot późniejsze koncepcje będą łatwiejsze do zrozumienia tylko dlatego, że wydaje się to znajome.
źródło
Brzmi jak typowy przypadek modowania . Wiele gier jest bardzo elastycznych i rozszerzalnych, od starego dobrego Quake I (z językiem QuakeC) po TES IV Oblivion lub dziesiątki tytułów, które można rozszerzyć za pomocą Lua.
Inną opcją jest Second Life - to bardzo elastyczny świat, w którym można budować gry, symulacje, dema, cokolwiek innego z ładnym i czystym językiem skryptowym .
źródło
Obecnie jestem zapalonym użytkownikiem Game Maker . - Podczas gdy pełna wersja nie jest darmowa (40 USD), darmowa wersja wystarcza, aby posmakować podstaw projektowania gier. Ma dość „treści”, aby ktoś nowy mógł być zajęty przez kilka lat. Gdybym musiał gdzieś go umieścić, umieściłbym go gdzieś pomiędzy moddingiem a językami, takimi jak python.
Ma kilka metod pisania. Możesz użyć „przeciągnij i upuść ikony” oraz znacznie bardziej zaawansowanego „języka skryptowego” (GML). Nigdy nie rozumiem, dlaczego ludzie tak bardzo chcą „pisać kod” - widzę przeciąganie i upuszczanie jako sposób wizualizacji kodu.
Kolejną zaletą gamemakera - i dlatego, że po nauce innych języków i 10-letnim doświadczeniu pozostaję przy nim - jest to, że pomaga zorganizować grę: ma kilka zasobów, system wydarzeń itp.
Nie jest to idealne narzędzie do tworzenia następny świat Warcraft, jednak aby zrobić wrażenie na innych, ważniejsze jest, aby stworzyć COŚ.
Naprawdę nie mogę polecić innych opcji - ponieważ osobiście jestem zadowolony z gry i obecnie bardziej interesuję się nauką języków ogólnego przeznaczenia.
źródło
Rzeczą, że tysiące ludzi są tworzeniem gier w to Flash. „Oficjalny” pakiet programistyczny Flash firmy Adobe kosztuje, ale istnieją darmowe alternatywy; FlashDevelop zajęło mi mniej niż godzinę, aby znaleźć, pobrać, uruchomić i uruchomić flash „Hello World”. Flixel biblioteka zapewnia dobre wsparcie dla funkcji gier, w tym fizyki, cząstek, tworzenie poziomu łatwo platformówki, ma wiele próbek i jest łatwy do skonfigurowania.
źródło
FWIW, kupiłem kuzyna „ Land of LISP ” w tym samym celu. Książka jest ilustrowana kreskówkami i dotyczy tworzenia gier w LISP. Mój kuzyn chciał tylko tworzyć gry tekstowe, ale myślę, że książka da mu dobre wprowadzenie do programowania.
źródło
Zacząłem od Dark Basic Pro . Odszedłem od tego dość szybko, ponieważ tworzenie gier nie jest moją filiżanką herbaty, ale to był potężny język. Nie pomieszałem go od kilku lat, więc nie jestem pewien, jak dobrze jest teraz (ostatnio go użyłem, gdy DirectX 9 był nowy i nowatorski). Ale pozwala szybko rozpocząć kodowanie i tworzenie fantazyjnej grafiki 3D za pomocą odrobiny kodu (a także, to czysty kod).
źródło
Jedną z najtrudniejszych części związanych z tworzeniem gier, choć mniej rozpowszechnioną w tworzeniu gier 2D, jest tworzenie grafiki. Więc zakładając, że twój kuzyn nie musi zajmować się tworzeniem assestów sztuki, lub zdarza się, że jest bardzo dobry w sztuce 2D, myślę, że cel jest osiągalny.
Sugeruję użycie Pythona wraz z pygame, aby zacząć. Wiem, że miałeś zastrzeżenia do Pythona, ale wysłuchaj mnie. Python jest bardzo prostym językiem. Twierdziłbym, że brak ścisłego pisania sprawia, że jest to znacznie lepszy wybór niż coś takiego jak C # na początek.
Języki oparte na prototypach są fajne, a niektórzy uważają je za bardzo łatwe do podniesienia, jednak nie sądzę, że ludzie naprawdę rozumieją koncepcje działania obiektów w językach opartych na prototypach tak łatwo, jak to możliwe, aby wprowadzić paradygmat klasy / obiektu.
Pygame ma również liczne przykłady, że twój kuzyn i ty moglibyście przejść, aby nauczyć się podstaw, i pod wieloma względami jest to bardzo prosty framework, nie ukrywający się przed tobą, tak że musisz nauczyć się dużo frameworka, aby zrobić bardziej skomplikowane rzeczy
Być może po grze napisanej w pygamerze możesz przejść do pisania gier, które również integrują się z silnikiem fizyki 2d, takim jak box2d, który ma doskonałe wiązania python.
Jeśli chodzi o nauczanie twojego kuzyna-pytona, oderwałbym się od tego, by najpierw uczył się języka, być może awaryjnego kursu pomysłów na klasę / obiekt. Następnie podstawowa składnia języka, zanim rzuci go na głęboki koniec i sprawi, że będzie on sprawdzał składnię i / lub biblioteki, kiedy czegoś potrzebuje.
Na koniec kolejną dobrą rzeczą w Pythonie jest to, że możesz łatwo przejść do silników gier 3D, zachowując swoje umiejętności w silnikach takich jak panda3d, a nawet w jedności (Boo jest bardzo podobny do Pythona).
źródło
Lua i LÖVE . Lua jest jednym z najprostszych dostępnych języków. Framework LÖVE jest zoptymalizowany do gier 2D. Ma również backend OpenGL, z wydajnością i innymi korzyściami, które to przynosi.
źródło
Możesz wypróbować zestaw Unreal Development Kit ( funkcje ). Poznanie interfejsu może być nieco trudne. Ale wielką zaletą jest to, że ma również wizualny silnik skryptowy, więc nie musisz być w stanie programować, aby coś zrobić. Następnie może zrobić coś i sam zaprogramować małe części. Minusem może być to, że używa własnego języka skryptowego.
Innym silnikiem, który naprawdę mi się podoba, jest Unity3D ( funkcje ). Unity nie ma programowania wizualnego, ale używa dwóch popularnych języków: C # i JavaScript. Obsługuje również dialekt python o nazwie Boo. Te trzy mogą współpracować. Unity zawiera również wiele gotowych skryptów.
źródło
Istnieje biblioteka Haskell o nazwie Gloss , która ma naprawdę prosty interfejs i służy do nauczania dzieci:
http://cdsmith.wordpress.com/2011/09/28/haskell-for-kids-week-7/
Można go również wypróbować online:
http://dac4.designacourse.com:8000/anim
źródło
Wiem, że szukasz darmowych języków i istnieją inne dobre sugestie innych plakatów. Ponieważ obawiasz się o uzyskiwanie interesujących wyników, szybko, a ponieważ Blitz wydaje się być czymś, czego chcesz, oprócz kosztów, chciałbym zasugerować Phrogram . To był kiedyś KPL (który był darmowy). Nie jest darmowy, ale jest tańszy niż Blitz i ma wiele tych samych funkcji, które moim zdaniem sprawiają, że bardzo nadaje się jako język nauczania, szczególnie dla nastolatków.
Możesz robić całkiem wyrafinowane rzeczy za pomocą Phrogram, a istnieje całkiem dobrze ugruntowana społeczność użytkowników Phrogram i KPL, którzy opublikowali wiele kodu do nauki.
źródło
Wiele dobrych sugestii tutaj, po prostu wykrzyczę RoboCode . Istnieje wiele przykładów do ulepszenia, a możesz zacząć działać w ciągu kilku minut. To da mu smak programowania, ale raczej nie nauczy się, jak pisać program od zera. Jest także oparty na Javie, dlatego warto.
źródło
Nie rozumiem, jak nikt nie mówi o Games Factory! Jest to jeden z najlepszych zasobów do szybkiego zbudowania gry komputerowej, bez znajomości programowania.
http://www.clickteam.com/website/usa/downloads/index/7
Składa się z edytora scenariuszy - z ramkami. Umieszczasz różne obiekty, którymi gracz może sterować na różne sposoby (ruch platformy, kierunek 8 itp.)
. Najważniejszym aspektem jest edytor zdarzeń - jest to ogromna matryca, której używasz do definiowania tego, co dzieje się z zdefiniowane reguły (Like - obiekt (1) przeniesiony na koniec ekranu, lokalizacja obiektu to> 100 itd.).
źródło
Idź z Unity3D ...
nie musisz bać się w nim kodować ... i jest wiele rzeczy, w których nie musisz kodować ... próbki sprawią, że twój kuzyn będzie szczęśliwy.
jest też kilka filmów ... miło obejrzeć walkerboystudio.com/html/unity_training_ za darmo .html
źródło
http://news.bbc.co.uk/2/hi/programmes/click_online/9658183.stm
Program BBC Click pokazał stronę internetową, na której możesz tworzyć gry oparte na technologii Flash bez konieczności znajomości języka programowania.
http://www.stencyl.com/
źródło