Tutorial Menggunakan ChatGPT Dalam Pemrograman
Pemrograman terkadang sulit. Jika Anda pelajari bahasa pemrograman baru atau melakukan suatu hal yang belum pernah Anda kerjakan sebelumnya, itu dapat benar-benar menakutkan. Selain panduan dan dokumentasi, sekarang chatbot bisa dipakai sebagai sumber daya pemrograman. Masukan ChatGPT.
Jika Anda tidak terbiasa dengan ChatGPT, ini adalah chatbot Model Bahasa Besar yang diperkembangkan oleh OpenAI. Itu sudah dilatih pada kelompok besar text online, terhitung kode yang ada secara terbuka dan tutorial pemrograman. Ini memiliki arti dapat "mencari" dan membuat jalan keluar yang cukup untuk beberapa tugas pemrograman umum.
Tetapi, sering kali kode yang diberikan Model Bahasa Besar salah atau mungkin tidak lengkap. Bagaimana itu menjadi sumber daya yang andal?
Gunakan Chatbot sebagai Arsitek
Untuk kasus penggunaan yang umum, kode yang Anda dapatkan dari ChatGPT akan solid. Bahkan juga akan ada komentar dan ChatGPT akan memberi penjelasan yang cukup untuk kodenya. Hati-hatilah karena menyalin dan tempelkan kode yang tidak Anda ketahui bisa menyebabkan semakin banyak kebingungan. Lebih baik menggunakan chatbot untuk membuat rencana implementasi dan menulis kode sendiri.
Sebagai contoh, katakanlah Anda ingin membuat penembak kembar di Unity. Anda ingin bekerja lebih kurang seperti The Binding of Isaac.
Anda bisa melakukan dengan 2 langkah:
- Minta ChatGPT untuk menulis setiap skrip untuk Anda.
- Minta ChatGPT untuk pendekatan umum dan tulis kodenya sendiri.
Meminta chatbot menulis semuanya untuk Anda bisa hasilkan kode yang berfungsi, tapi Anda cenderung tidak tahu apakah yang sedang terjadi. Menyalin dan menempelkan kode memiliki arti Anda tidak mempelajari apa saja proses dari itu. Menulis kode sendiri hasilkan pembelajaran transfer. Ini adalah langkah Anda meningkatkan ketrampilan pemrograman untuk beberapa tugas kedepan.
Bukannya meminta chatbot untuk menulis tiap skrip, Sebaiknya anda menanyakan "Bagaimana Anda membuat sistem inventaris sama seperti yang berada di Binding of Isaac"? ChatGPT selanjutnya akan membuat daftar pekerjaan untuk Anda:
Untuk membuat sistem item yang mirip dengan yang digunakan dalam The Binding of Isaac, Anda dapat mengikuti langkah-langkah berikut:
- Buat kelas bernama Item yang mewakili item dalam game. Kelas ini harus menyertakan property dan sistem yang tentukan nama item, deskripsi, efek, dan info relevan yang lain. Anda dapat mengikutkan sistem Gunakan yang menerapkan dampak item saat dipakai.
- Buat skrip bernama ItemSystem yang mengurus inventaris pemain dan tangani pemakaian item. Skrip ini harus menyertakan daftar semua item dalam game, daftar item dalam inventaris pemain, dan rekomendasi ke karakter pemain. Anda dapat mengikutkan fungsi untuk menambah item ke inventaris pemain, hapus item dari inventaris pemain, dan memakai item dari inventaris pemain.
- Lampirkan skrip ItemSystem ke objek game di adegan Unity Anda dan isi daftar semua item dengan item yang ada di game Anda. Anda bisa melakukan dengan membuat prefab untuk tiap item dan menambahnya ke dalam daftar di editor Unity.
- Buat antarmuka pengguna (UI) untuk menampilkan inventaris pemain. Anda bisa memakai sistem UI Unity untuk membuat tombol untuk setiap item dalam inventaris pemain, dan mengikat tiap tombol ke fungsi yang memakai item berkaitan saat diklik.
- Munculkan item di dunia game dan izinkan pemain untuk ambilnya. Anda bisa lakukan ini dengan membuat cetakan untuk tiap item dan memunculkannya di dunia game di lokasi tertentu atau sebagai jatuhan dari lawan. Saat pemain bertabrakan dengan item, Anda bisa panggil fungsi AddItem untuk menambah item ke inventaris mereka.
- Terapkan efek item. Anda bisa memakai sistem Use dari kelas Item untuk mengaplikasikan efek dari tiap item saat dipakai. Anda dapat memakai sistem fisika dan animasi bawaan Unity untuk membuat efek visual untuk item.
Meskipun ini cukup untuk melanjutkan dan memulai proyek, Anda dapat menggunakan ChatGPT untuk mengetahui spesifikasi desain.
Periksa Design Chatbot
Ingat, chatbot tidak hidup. Ini berarti jika dia belum memikirkan sarannya. Itu membuat tebakan terbaik berdasarkan set pelatihannya. Walau hasilnya sering terlihat meyakinkan, sangat penting untuk Anda untuk meninjau design chatbot dan ajukan pertanyaan klarifikasi.
Dalam hal ini, Anda ingin game Anda memberikan dukungan kolaborasi item, jadi Anda minta chatbot untuk membantu sisi itu, karena tidak disebut dalam design.
Untuk menangani sinergi item dalam sistem item seperti yang digunakan dalam The Binding of Isaac, Anda dapat mengikuti langkah-langkah berikut:
- Tentukan item yang mana memiliki kolaborasi keduanya. Anda bisa melakukannya dengan membuat daftar pasangan item yang mempunyai kolaborasi, atau mungkin dengan menambah properti kolaborasi ke tiap item yang memberikan item yang lain memiliki kolaborasi.
- Di skrip ItemSystem, buat fungsi yang memeriksa kolaborasi saat item dipakai. Fungsi ini harus mengulang inventaris pemain dan memeriksa adakah item yang lain bersinergi dengan item yang dipakai.
- Jika kolaborasi ditemukan, aplikasikan efek kolaborasi selain efek item normal. Anda bisa melakukan dengan membuat fungsi terpisah untuk tiap efek kolaborasi, atau mungkin dengan memakai pengakuan perubahan untuk mengaplikasikan efek yang sama sesuai berdasar gabungan item.
- Anda dapat menimbang untuk menambah komponen UI yang tampilkan kolaborasi yang aktif, atau mungkin dengan menyoroti item dalam inventaris yang mempunyai kolaborasi dengan item yang dipilih sekarang ini.
Saat meninjau desain yang disarankan oleh ChatGPT di atas, Anda melihat bahwa itu tidak memberi saya struktur data spesifik tetapi malah mengatakan "buat daftar". Minta ChatGPT untuk membantu peningkatan kinerja:
Berikut adalah beberapa cara untuk meningkatkan kinerja sistem item seperti yang digunakan dalam The Binding of Isaac:
- Gunakan penggabungan objek untuk menggunakan kembali objek game item bukannya terus-menerus membuat dan menghancurkannya. Ini bisa membantu mengurangi jumlah objek yang perlu diatur oleh sistem dan meningkatkan performa.
- Gunakan kamus atau tabel hash untuk menyimpan poin dalam daftar allItems, bukannya menggunakan daftar. Ini bisa meningkatkan performa pencarian dan pencarian, terutama jika Anda memiliki sebagian besar item.
- Gunakan kamus atau tabel hash untuk menyimpan inventaris pemain, bukannya menggunakan daftar. Ini bisa tingkatkan performa pencarian dan pencarian, terlebih bila inventaris pemain besar.
- Gunakan Kamus atau HashSet untuk simpan kolaborasi item, bukannya menggunakan Daftar. Ini bisa meningkatkan performa pencarian dan pencarian, terutama jika Anda banyak memiliki kolaborasi.
- Hindari menggunakan foreach loop untuk mengulang inventaris pemain atau daftar semua Item. Bukannya, gunakan pengulangan for reguler dan simpan panjang daftar untuk menghindari perhitungan ulangi pada tiap iterasi.
- Gunakan pengakuan perubahan untuk mengaplikasikan dampak item dan kolaborasi, bukannya memakai rangkaian pengakuan if. Ini dapat semakin cepat, terutama jika Anda mempunyai item atau kolaborasi dengan jumlah besar.
Terakhir, Anda ingin tahu tentang bagaimana Anda dapat menghindari membuat perhitungan efek ini setiap frame:
Untuk menghindari penghitungan efek item dan sinergi setiap frame, kamu bisa mengikuti langkah berikut:
Di skrip ItemSystem
, buat bendera boolean namanya dirty yang menunjukkan apa inventaris pemain sudah berubah semenjak frame terakhir. Anda bisa menyetel bendera ini ke true setiap item ditambahkan atau dihapus dari inventaris pemain, dan jadi false saat Anda usai memproses peralihan inventaris.
public bool dirty;
Dalam fungsi update
, periksa nilai bendera kotor. Jika benar, proses perubahan pada inventaris pemain dan terapkan efek atau sinergi apa pun yang diperlukan. Jika salah, lewati langkah ini.
void Update()
{
// Check if the player's inventory has changed
if (dirty)
{
// Process the changes to the player's inventory and apply any necessary effects or synergies
ProcessInventoryChanges();
// Reset the dirty flag
dirty = false;
}
}
void ProcessInventoryChanges()
{
// Iterate over the player's inventory and apply any necessary effects or synergies
}
Dalam fungsi UseItem
, setel flag kotor ke true saat sebelum memakai item. Ini akan memastikan jika inventaris pemain diproses dan efek atau kolaborasi diterapkan pada frame selanjutnya.
public void UseItem(Item item)
{
// Set the dirty flag to true
dirty = true;
// Use the item
item.Use(player);
}
Dengan mengikuti beberapa langkah ini, Anda bisa menghindari perhitungan efek dan kolaborasi item tiap frame, yang bisa tingkatkan perform.
Di sini ChatGPT menyediakan beberapa kutipan kode. Gunakan ini sebagai contoh, tapi jangan salin-tempel ke kode Anda sendiri. Anda bisa mengulang design sampai Anda sudah menjawab pertanyaan dan permasalahan Anda, atau sampai Anda berasa cukup buat pergi dan menulis beberapa kode.
Tips Saya: Tulis Kode Sendiri
Langkah opsional tetapi disarankan pada proses ini ialah ambil saran dari ChatGPT dan mengubahnya jadi kodesemu. Anda dapat membuat diagram untuk memetakkan seperti apakah mekanisme final nanti. Saat mensintesis info, pikir secara krisis mengenai langkah kerja mekanisme. Adakah sisi yang hilang? Adakah yang tidak beres? Anda bisa menuntaskan sendiri permasalahan ini atau minta anjuran dari ChatGPT.
Saat Anda memiliki design akhir, Anda mulai dapat membuat kode. Yakinkan untuk menulis kode sendiri. Mencari dokumentasi API dan meminta ChatGPT untuk mengonfirmasi pertanyaan, tapi tidak boleh salin-tempel kode apa saja yang diberikan ke Anda. Menulis kode sendiri ialah salah satu langkah supaya Anda bisa belajar melakukan bukannya memercayakan chatbot.
Pemrograman dengan bantuan AI ialah masa depan pemrograman, sukai atau mungkin tidak sukai. Penting untuk pelajari langkah menggunakan alat hebat ini, tapi sama keutamaan membuat perlindungan diri sendiri supaya tidak berbangga. Chatbot Model Bahasa Besar ialah mesin pencari memiliki tenaga super, tapi tidak lebih dari itu. Pakai secara berhati-hati.