Jadi, saya mencoba mengajari sepupu saya yang jauh lebih muda tentang pemrograman. Pikiran awal saya adalah sesuatu seperti Scratch atau Alice , tetapi ada beberapa kerugian untuk itu.
Semua orang tampaknya benar-benar menyukai pemrograman game dan mengembangkan video game (karena semua orang suka bermain video game, dan sejauh bermain video game, bermain sendiri bisa menjadi yang paling memuaskan) - tetapi Alice maupun Scratch tampaknya tidak melayani permainan. pengembangan
Alice dan Scratch sepertinya terlalu kekanak-kanakan, sementara aku yakin sepupu saya akan senang berkecimpung di dalamnya, saya pikir dia akan cepat menanggungnya
Saya ingin bahasa yang dapat digunakan untuk mengembangkan hal-hal yang sangat keren yang akan mengesankan teman-temannya. Saya ingat menulis BASIC kembali pada hari itu dan mengundang semua teman saya dan memamerkan kreasi saya, dan saya merasa seperti Alice dan Scratch saja tidak menarik dengan cara yang sama
Saya ingin bahasa yang mengharuskan sepupu saya menulis kode. Sekarang, ini bukan hanya karena saya pikir mengetik kode adalah persiapan yang baik untuk bahasa pemrograman lain, tapi itu karena itu memberinya kesempatan untuk benar-benar berlatih mengetik, dan mungkin terbiasa dengan beberapa karakter yang sedikit lebih esoteris pada keyboard.
Sekarang, itu sebabnya saya tidak ingin memilih Alice atau Scratch.
Saya juga tidak ingin memilih bahasa seperti C atau Java, atau bahkan Python atau Ruby dalam hal ini. Sepupu saya telah memberi tahu saya bahwa dia suka bermain video game dan ingin membuatnya sendiri, dan dia senang menggunakan komputer. Menurut pendapat saya, bahkan bahasa sederhana seperti Python atau Ruby hanya membutuhkan waktu terlalu lama untuk membangun hal-hal keren. Idealnya, dia duduk, menghabiskan sekitar satu atau dua hari (atau mungkin bahkan hingga satu minggu, tapi semoga kurang dari itu) dan memiliki permainan 2 dimensi yang berfungsi. Saya tidak mengatakan Anda tidak dapat melakukannya dengan Python atau Ruby, tetapi saya hanya mengatakan itu akan sulit bagi seorang programmer pertama kali. Plus, saya tidak ingin menghalanginya dengan semua hal ilmu komputer, karena itu bisa datang nanti. Saya hanya ingin membantunya menciptakan percikan api, dan kemudian membiarkannya melanjutkan dengan sisa api.
Saya telah melihat bahasa seperti Lua, dan walaupun sepertinya umum dalam pemrograman game, saya tidak yakin apakah itu pilihan terbaik - tetapi jika kalian berpikir sebaliknya, tolong beri tahu saya.
Saya juga telah melihat bahasa seperti Blitz dan terlihat sangat menjanjikan (ditambah, saya mencobanya beberapa tahun yang lalu, dan itu sangat bagus). Kelemahannya adalah saya harus membayar, sesuatu yang saya tolak.
Saya telah melihat SmallBasic , yang tampaknya menjanjikan dan saya akan terus melihat. Tapi saya belum melakukan banyak (sebenarnya, saya menjalankan installer saat saya mengetik ini, jadi saya akan segera melaporkan pemikiran saya tentang itu).
UPDATE: Saya memberi SmallBasic percobaan cepat dan tampaknya menarik, tetapi juga tampak sangat berbeda dibandingkan dengan beberapa bahasa lain - itu bukan hal yang buruk, tetapi itu hanya merupakan hal yang tidak biasa. Dari hal-hal yang saya lihat, Blitz masih menjadi favorit saya, tetapi saya menolak untuk pergi ke sana karena biaya.
Tapi pada dasarnya, apa yang kalian pikirkan tentang apa yang saya katakan sejauh ini, dan bahasa yang telah saya lihat dan apakah Anda tahu ada alternatif lain yang bagus?
UPDATE: Inilah yang saya pilih untuk dilakukan ...
Saya menyadari bahwa sementara saya ingin membantu sepupu saya, saya tidak bisa bersamanya setiap saat, dan saya tidak bisa membantunya setiap kali dia membutuhkan bantuan. Jadi, saya ingin memilih sesuatu yang memiliki dokumentasi yang baik, komunitas yang baik, dan buku yang bagus yang bisa dia ikuti.
Ngomong-ngomong, saya telah memilih Python dan Pygame. Python adalah bahasa yang cukup saya kenal, ditambah lagi saya tahu ada komunitas yang cukup bagus (dan cukup besar) di sekitar Python. Selanjutnya, saya tahu bahwa dokumentasi Python cukup lengkap dan mudah dinavigasi. Pygame juga memiliki dokumentasi dan serangkaian tutorial yang sangat baik. Saya juga meminta dia menggunakan / ikuti Ciptakan Permainan Komputer Sendiri dengan Python , yang sepertinya buku yang sangat bagus, saya membelikannya salinan cetak sebagai hadiah Natal, plus saya tahu monitornya tidak besar, dan itu akan tidak nyaman untuk terus bertukar kembali antara teks dan editor.
Saya pikir itu harus berjalan dengan baik!
EDIT: Saya tidak ingin menyatakan bahwa pilihan saya sudah final atau sudah benar. Saya hanya berpikir itu paling cocok untuk situasi ini. Saya pikir setiap orang yang ingin mengajar seseorang yang lebih muda harus menelusuri seleksi dan menemukan solusi terbaik untuk orang tersebut, dengan mempertimbangkan hal-hal seperti usia, tingkat keterampilan, dan minat.
I want a language that can be used to develop really cool stuff that will impress his friends.
Itu masih motivasi utama saya untuk pemrograman, setelah 25 tahun melakukannya ...Jawaban:
Sepertinya tidak ada yang membuang Python + Pygame . Tergantung pada usia / kedewasaan sepupu Anda, itu pasti membuka kemungkinan banyak hal keren. Itu tentu saja cukup mendasar untuk memulai, tetapi dengan perpustakaan standar yang sangat besar, Anda tidak dapat benar-benar bosan dengan Python.
sumber
Saya pikir setara dengan BASIC modern adalah Javascript. Beri dia halaman HTML sederhana yang memiliki skrip tertanam yang membuat kanvas dan menggambar bentuk di atasnya, arahkan dia ke beberapa tutorial dan lihat apa yang terjadi. Perputaran cepat (simpan perubahan Anda dan segarkan halaman) dan dukungan debug yang layak.
sumber
Bukan bahasa pemrograman secara eksplisit untuk bermain game, tetapi efek grafis yang sangat keren dapat dilakukan dengan menggunakan sedikit kode dengan pemrosesan . Plus, gratis dan relatif mudah dipelajari. IMHO bahasa yang ideal untuk mempelajari dasar-dasar pemrograman, terutama karena tutorial mengajarkan banyak konsep dasar seperti variabel, array, operasi matematika dll.
sumber
Saya belum bermain dengannya dalam satu atau dua tahun, tetapi menggunakan C # dengan XNA bisa menjadi tempat yang baik untuk memulai. Dari yang saya ingat, memulainya cukup mudah. Padahal tautan itu mungkin lebih untukmu daripada dia.
sumber
Coba Greenfoot ,
Gambar http://www.greenfoot.org/images/screenshot.png?1310995619
Berbasis java dan ada semua totorial ini untuk menggunakannya di Youtube .
greenfoot memberikan pendekatan top-down yang bagus untuk pemula.
lihat jawaban stackoverflow ini , hal yang saya perhatikan adalah "Anak-anak, sebenarnya, adalah pembelajar tercepat dan mereka melakukannya dengan pencocokan pola, ekstrapolasi, interpolasi, dll."
jadi setelah menggunakan java di greenfoot untuk sementara waktu nanti konsepnya akan lebih mudah dimengerti hanya karena terasa familiar.
sumber
Kedengarannya seperti kasus khas untuk modding . Banyak game yang sangat fleksibel dan dapat diperpanjang, dari Quake I lama yang baik (dengan bahasa QuakeC-nya) hingga TES IV Oblivion, atau puluhan judul yang dapat diperpanjang dengan Lua.
Pilihan lain adalah Second Life - ini adalah dunia yang sangat fleksibel di mana orang dapat membuat game, simulasi, demo, apa pun dengan bahasa scripting yang bagus dan bersih .
sumber
Saat ini saya pengguna setia Game Maker . - Walaupun versi lengkapnya tidak gratis ($ 40), versi gratisnya sudah cukup untuk merasakan dasar-dasar desain game. Ini memiliki "konten" yang cukup bagi seseorang yang baru untuk tetap sibuk selama beberapa tahun. Jika saya harus meletakkannya di suatu tempat, saya akan menempatkannya di suatu tempat antara modding & bahasa seperti python.
Ini memiliki beberapa metode penulisan. Anda dapat menggunakan "seret dan lepas ikon", dan "bahasa skrip" (GML) yang jauh lebih maju. Saya tidak pernah mengerti mengapa orang sangat ingin "menulis kode" - Saya melihat seret dan jatuhkan hanya sebagai cara memvisualisasikan kode.
Keuntungan lain dari gamemaker - dan alasan bahwa setelah mempelajari bahasa lain, dan 10 tahun pengalaman saya tetap menggunakan gamemaker - adalah membantu mengatur permainan: Ia memiliki beberapa sumber daya, sistem acara, dll.
Ini bukan alat yang ideal untuk membuat dunia warcraft berikutnya, namun untuk mengesankan orang lain itu lebih penting untuk membuat SESUATU.
Saya benar-benar tidak bisa merekomendasikan pilihan lain - karena saya pribadi senang dengan gamemaker dan saat ini lebih tertarik mempelajari bahasa tujuan umum.
sumber
Hal yang ribuan orang yang mengembangkan game in Flash. Paket pengembangan Flash "resmi" dari Adobe membutuhkan biaya, tetapi ada alternatif gratis; FlashDevelop membutuhkan waktu kurang dari satu jam untuk menemukan, mengunduh, menjalankan, dan menjalankan flash "Hello World". The Flixel perpustakaan menyediakan fungsi yang baik mendukung untuk permainan, termasuk fisika, partikel, penciptaan tingkat mudah bagi platformers, memiliki banyak sampel, dan mudah diatur.
sumber
FWIW, saya membeli sepupu saya " Tanah LISP " untuk tujuan yang sama. Buku ini diilustrasikan dengan kartun dan semua tentang membuat game di LISP. Sepupu saya hanya ingin membuat game berbasis teks, tetapi saya pikir buku itu akan memberinya pengantar yang baik untuk pemrograman.
sumber
Bahasa yang saya mulai adalah Dark Basic Pro . Saya pindah dari itu agak cepat karena pengembangan game bukan secangkir teh, tapi itu bahasa yang kuat. Saya belum mengacaukannya dalam beberapa tahun sekarang jadi saya tidak yakin seberapa bagusnya sekarang (saya terakhir menggunakannya ketika DirectX 9 masih baru dan canggih). Tetapi ini memungkinkan Anda untuk dengan cepat memulai pengkodean dan membuat grafik 3D yang mewah hanya dengan sedikit kode (dan juga, itu adalah kode murni.)
sumber
Salah satu bagian tersulit dalam pengembangan game, meskipun kurang lazim dalam pengembangan game 2D adalah membuat grafik. Jadi dengan anggapan sepupu Anda tidak perlu berurusan dengan membuat karya seni, atau kebetulan sangat mahir dalam seni 2D, maka saya pikir tujuannya dapat dicapai.
Saya sarankan Anda menggunakan python bersama dengan pygame untuk memulai. Saya tahu Anda keberatan tentang python, tetapi dengarkan saya. Python adalah bahasa yang sangat sederhana. Saya berpendapat bahwa kurangnya pengetikan yang ketat membuatnya menjadi pilihan yang jauh lebih baik daripada sesuatu seperti C # untuk memulai.
Bahasa berbasis prototipe keren dan beberapa orang merasa sangat mudah untuk mengambilnya, namun saya tidak berpikir bahwa orang benar-benar memahami konsep tentang bagaimana objek bekerja dalam bahasa berbasis prototipe semudah mereka dapat mengubah paradigma kelas / objek.
Pygame juga memiliki banyak contoh yang sepupu Anda dan Anda dapat pelajari untuk mempelajari dasar-dasarnya, dan dalam banyak hal kerangka kerja yang sangat sederhana, tidak menyembunyikan begitu banyak dari Anda sehingga membuat Anda harus belajar banyak dari kerangka kerja untuk melakukan lebih rumit sesuatu.
Mungkin setelah gim yang ditulis dengan pygame, Anda dapat beralih ke gim penulisan yang juga berintegrasi dengan mesin fisika 2d seperti box2d, yang memiliki binding python yang sangat baik.
Sedangkan untuk mengajar python sepupu Anda, saya akan menyimpang dari membuatnya untuk belajar bahasa pertama, mungkin kursus kilat di kelas / objek ide. Kemudian beberapa sintaks dasar bahasa, sebelum melemparkannya ke ujung yang dalam, dan meminta dia mencari sintaks dan / atau perpustakaan ketika dia membutuhkan sesuatu.
Akhirnya hal baik lainnya tentang python, adalah Anda dapat dengan mudah berpindah ke mesin gim 3d sambil menjaga keahlian Anda dengan mesin seperti panda3d, atau bahkan kesatuan (Boo sangat mirip dengan python).
sumber
Lua dan LÖVE . Lua adalah salah satu bahasa paling sederhana yang tersedia. Kerangka kerja LÖVE dioptimalkan untuk game 2D. Ini juga memiliki backend OpenGL, dengan kinerja dan manfaat lain yang membawa.
sumber
Anda mungkin ingin mencoba Unreal Development Kit ( Fitur ). Mungkin agak sulit untuk belajar tentang antarmuka. Tetapi hal yang hebat tentang ini adalah bahwa ia juga memiliki mesin scripting visual, jadi Anda tidak perlu dapat memprogram untuk membuat sesuatu. Dia kemudian dapat membuat sesuatu dan memprogram bagian-bagian kecilnya sendiri. Kelemahannya mungkin karena menggunakan bahasa scripting sendiri.
Mesin lain yang sangat saya sukai adalah Unity3D ( Fitur ). Unity tidak memiliki pemrograman visual, tetapi tidak menggunakan dua bahasa umum: C # dan JavaScript. Ini juga mendukung dialek python yang disebut Boo. Ketiganya dapat saling beroperasi. Unity juga dilengkapi dengan banyak skrip yang sudah jadi.
sumber
Ada perpustakaan Haskell bernama Gloss , yang memiliki antarmuka yang sangat sederhana dan telah digunakan untuk mengajar anak-anak:
http://cdsmith.wordpress.com/2011/09/28/haskell-for-kids-week-7/
Itu juga dapat dicoba secara online:
http://dac4.designacourse.com:8000/anim
sumber
Saya tahu Anda mencari bahasa gratis dan ada beberapa saran bagus dari poster lain. Karena Anda khawatir tentang mendapatkan hasil yang menarik, cepat dan karena Blitz sepertinya adalah jenis yang Anda inginkan, kecuali untuk biaya, saya ingin menyarankan Phrogram . Ini dulunya KPL (yang gratis). Ini tidak gratis, tetapi lebih murah daripada Blitz dan memiliki banyak fitur yang sama yang saya pikir membuatnya sangat cocok untuk digunakan sebagai bahasa pengajaran, terutama untuk remaja.
Anda dapat melakukan beberapa hal yang cukup canggih dengan Phrogram dan ada komunitas pengguna Phrogram dan KPL yang cukup mapan yang telah memposting banyak kode untuk dipelajari.
sumber
Banyak saran bagus di sini, saya hanya akan berteriak kepada RoboCode . Ada banyak contoh untuk di-tweak, dan Anda bisa berdiri dan berlari hanya dalam beberapa menit. Ini akan memberinya rasa pemrograman, tetapi dia tidak akan belajar sedikit-sedikit untuk benar-benar menulis sebuah program dari awal. Ini juga berbasis Java, untuk apa itu layak.
sumber
Saya tidak mengerti bagaimana tidak ada yang berbicara tentang Game Factory! Ini adalah salah satu sumber daya terbaik untuk membangun game komputer dengan cepat, tanpa pengetahuan pemrograman.
http://www.clickteam.com/website/usa/downloads/index/7
Terdiri dari editor papan cerita - dengan bingkai. Anda meletakkan objek berbeda yang dapat dikontrol dengan berbagai cara oleh pemain (Pergerakan platform, 8 arah, dll.)
Aspek yang paling penting adalah editor acara - ini adalah matriks besar, yang Anda gunakan untuk menentukan apa yang terjadi dari pra- aturan yang didefinisikan (Suka - objek (1) dipindahkan ke ujung layar, lokasi objek> 100, dll ...).
sumber
Pergilah dengan Unity3D ...
tidak perlu takut coding di dalamnya ... dan ada banyak hal di mana Anda tidak perlu kode ... sampel akan membuat sepupu Anda bahagia.
juga ada beberapa video ... bagus untuk ditonton walkerboystudio.com/html/unity_training_ gratis .html
sumber
http://news.bbc.co.uk/2/hi/programmes/click_online/9658183.stm
Klik program BBC menunjukkan situs web di mana Anda dapat membuat game berbasis Flash tanpa perlu tahu bahasa pemrograman.
http://www.stencyl.com/
sumber