Saat ini saya sedang mengerjakan game sandbox berbasis ruang yang akan menampilkan banyak fitur untuk memprogram sistem Anda. Saya ingin menerapkan ini dengan cara yang keduanya
- dapat diakses,
- kuat (minimal akan turing-kelengkapan)
- cepat untuk kode masuk
Bahasa berbasis teks umumnya hanya memenuhi dua persyaratan yang terakhir, dan meskipun tidak sulit untuk merancang bahasa visual yang memenuhi dua yang pertama, bahasa visual adalah program yang sulit karena memerlukan penggunaan mouse yang ekstensif. Meskipun ada beberapa bahasa berbasis teks yang sangat mudah diakses, saya ingin yang bukan pemrogram lengkap dapat mempermudah diri mereka dalam pemrograman.
game-design
software-engineering
Dimitriye98
sumber
sumber
Jawaban:
Sungguh, satu-satunya cara untuk memiliki semua fitur adalah dengan mengimplementasikan beberapa antarmuka. Dapat diakses dan kuat seringkali merupakan dua ujung spektrum. Cara termudah untuk melakukan ini adalah menerapkan sistem yang kuat, yang memiliki antarmuka tambahan untuk memungkinkan pemula berinteraksi dengan sistem secara intuitif.
Mengizinkan sistem yang memungkinkan pemula untuk memprogram secara visual, mungkin sesuatu yang mirip dengan alat pemrograman Lego Mindstorms :
Di mana ada komponen drag / drop. Komponen memiliki input dan output. Komponen dapat berupa hal-hal sederhana seperti
AND
, atauOR
gerbang, atau lebih kompleks seperti ujian untuk musuh di dekatnya.Idealnya representasi visual harus menyusun skrip bahasa tertulis di latar belakang. Ini menawarkan alat yang ampuh untuk mempelajari bahasa juga. Jika seorang pemula dapat "menulis" program mereka secara visual, maka bacalah kode yang dihasilkannya, mereka jauh lebih mungkin untuk memahaminya dan dapat memodifikasi kode yang dihasilkan. Akhirnya bisa menulis kode yang lebih kuat daripada alat visual saja memungkinkan. Ini memenuhi persyaratan untuk memudahkan pengguna dalam pemrograman.
Tulang punggung sistem, tentu saja, adalah bahasa tertulis. Alat visual hanya untuk memberi pengguna cara cepat memprogram sesuatu yang sederhana, dan memungkinkan pemula untuk memulai.
Bahasa tertulis memungkinkan pengguna tingkat lanjut untuk melakukan hal-hal lanjut. Dan Anda bahkan dapat mengizinkan pengguna untuk membuat komponen mereka sendiri, dengan membuat skrip khusus. Kemudian mereka dapat menggunakan kembali komponen yang mereka buat dalam antarmuka yang cepat dan mudah untuk pemrograman cepat.
Semoga berhasil! Kedengarannya seperti proyek yang menyenangkan.
sumber
Anda mungkin ingin melihat Google secara diam - diam , mereka menggabungkan elemen visual dengan istilah pemrograman yang dapat dikenali sambil mempertahankan tingkat aksesibilitas yang cukup baik.
Anda dapat melihat demo Labirin untuk mencari inspirasi, banyak teman non-programmer saya mampu mendapatkan sebagian besar jalan melalui teka-teki menggunakannya, memuaskan setidaknya beberapa kriteria Anda yang berlaku.
sumber
Saya terkejut ini belum disebutkan sebelumnya, tetapi MIT's Scratch menggunakan antarmuka blok yang cepat untuk kode masuk. Hal ini memungkinkan pengguna untuk membuat fungsi mereka sendiri dan bisa menjadi sangat kompleks untuk bahasa yang dibangun untuk mengajari anak-anak cara kode.
Stencyl adalah contoh lain dari blok coding yang melakukan sesuatu yang lebih mirip dengan apa yang Anda inginkan. Pengkodean dengan blok-blok seperti ini jauh lebih efisien dan kurang memakan waktu daripada antarmuka pemrograman visual seperti yang digunakan oleh Lego NXT. Stencyl memungkinkan pengguna untuk membuat kode dalam Actionscript atau blok.
Saya minta maaf karena kurangnya gambar, saya belum memiliki reputasi yang cukup untuk mengirim gambar.
sumber
Bahasa pemrograman BPEL memiliki representasi visual dan banyak alat yang bekerja dengannya. Ini adalah bahasa alur kerja, bukan bahasa pemrograman, tetapi itu turing-lengkap. Itu verbose, tetapi mudah untuk menulis baik untuk programmer dan pelaku bisnis dan mudah diterjemahkan dari bentuk visual ke teks. Saya tidak berpikir itu akan menjadi bahasa permainan yang bagus, tetapi bisa berfungsi sebagai sumber inspirasi. Dan mengingat jumlah mesin dan alat BPEL, harus dimungkinkan untuk menggunakan kembali beberapa ide dan / atau kode.
Bahasa seperti BPEL tidak akan terasa seperti pemrograman, lebih seperti routing dan menghubungkan sistem. Jadi Anda dapat memiliki sistem penargetan yang terhubung ke sistem senjata dengan beberapa logika di antaranya.
sumber
Pertimbangkan pendekatan ini:
Itu tentang cara tercepat yang dapat saya pikirkan untuk mendapatkan semua permen tanpa rasa sakit terlalu banyak. Anda mendapatkan noq click'n'drag serta vim-geeks di papan tulis. Dan jika Anda menjaga mekanika sederhana (mis. Trigger -> Condition -> Action), maka Anda tidak perlu menghabiskan waktu bertahun-tahun dalam mengembangkan UI untuk editor skrip grafis yang kuat dan masih mudah digunakan.
Beberapa contoh untuk menjelaskan apa yang saya maksud:
sumber