Alur kerja proyek GMS2: dari buka folder hingga playtest
03
Skenario
Proyek dengan kamera yang bergetar
Banyak orang masih menyebut 'gms2' padahal maksud mereka adalah GameMaker versi terbaru. Katakanlah karaktermu berjalan bolak-balik dan kamera bergetar karena posisi menyimpan nilai desimal. Kamu membuka folder proyek, menjelaskan gejalanya dalam satu kalimat, dan membiarkan PixelTread menemukan kodenya. Agen memetakan folder dengan list_dir dan glob, membaca skrip gerakan dan kamera dengan read_file, lalu mengusulkan perubahan kecil sebagai diff. Tidak ada yang berubah sampai kamu memutuskan, jadi sesi pertama juga cara yang aman untuk mempelajari fungsi setiap alat. Alur yang sama berlaku untuk sebagian besar bug kecil: jelaskan, baca, tinjau, uji. Setiap putaran berakhir di editor, tempat kamu menekan tombol play dan melihat hasilnya sendiri. Jika perbaikan pertama belum cukup, jelaskan apa yang berubah dan kartu berikutnya akan melanjutkan dari kartu sebelumnya. Biarkan proyek tetap terbuka di editor saat kamu bekerja.
01
Buka folder
Pilih folder proyek GameMaker kamu sebagai folder kerja obrolan, agar alat file dapat melihat skrip dan file teks proyek kamu. Mulai obrolan baru untuk setiap bug, agar setiap percakapan tetap fokus pada satu masalah dan satu diff. Folder kerja adalah batas untuk alat file, jadi arahkan ke proyek dan tidak ada yang lain. Apa pun di luar folder itu tidak dapat diakses oleh alat file.
02
Jelaskan masalahnya
Tuliskan apa yang kamu lihat dan di mana, misalnya bahwa kamera bergetar saat pemain berputar, dan sebutkan skripnya jika kamu tahu. Gejala yang konkret memberi agen sesuatu yang dapat dicarinya dengan grep. Tambahkan apa yang sudah kamu coba, agar agen tidak mengulangi langkah yang sama. Kalimat pendek bekerja dengan baik.
03
Tinjau diff
Baca setiap kartu, buka diff, dan terima hanya baris yang kamu pahami. Tolak sisanya dan jelaskan alasannya, lalu agen akan mencoba lagi. Mode Ask first akan menjeda sebelum setiap tindakan yang mengubah file, sehingga tidak ada yang disimpan secara diam-diam. Buka kartu yang diperluas untuk melihat diff lengkap, bukan hanya baris ringkasan.
04
Bangun dan uji
Jalankan build kamu di editor GameMaker, mainkan ruangan, dan laporkan kembali apa yang kamu lihat agar langkah berikutnya dimulai dari fakta. Jika build gagal, tempelkan log ke file di folder dan biarkan agen membacanya. Kemudian tuliskan hasilnya di obrolan, agar permintaan berikutnya memiliki titik awal yang jelas. Jalankan tes yang sama setelah setiap perubahan yang diterima, di ruangan yang sama.
Skrip gerakan sederhana
PixelTread · Bulatkan posisi● Ask first
Bulatkan posisi pemain sebelum digambar, untuk menghentikan getaran kamera.
read_filescr_move.gmlread
grepdraw_sprite3 kecocokan
edit_filescr_move.gml+2 baris
Shellbuildexit 0
menunggu persetujuan Anda sebelum melanjutkanTolakTerima
scr_move.gml
// Move an object with the arrow keys
function scr_move(_speed) {
var _r = keyboard_check(vk_right);
var _l = keyboard_check(vk_left);
var _d = keyboard_check(vk_down);
var _u = keyboard_check(vk_up);
x += (_r - _l) * _speed;
y += (_d - _u) * _speed;
// keep the position on whole pixels
x = round(x);
y = round(y);
}
Fungsi ini membaca tombol panah dengan keyboard_check, menggerakkan x dan y berdasarkan nilai kecepatan, lalu membulatkan keduanya agar sprite digambar pada piksel utuh. Pembulatan adalah perbaikan untuk getaran yang dijelaskan di atas. Skrip seperti ini adalah tepat apa yang dapat dibuka, diubah, dan ditampilkan sebagai diff oleh agen, dan kamu dapat mengujinya di ruangan dalam waktu satu menit. Simpan sebagai aset skrip terlebih dahulu, dan ubah satu baris pada satu waktu. Minta agen untuk menambahkan komentar di atas setiap perubahan agar kamu dapat menemukannya nanti. Nama placeholder seperti _speed mudah untuk diganti.
Empat tugas untuk proyek yang dimulai di GameMaker Studio 2
Belajar dengan mengubah skrip sendiri
Orang sering bertanya bagaimana cara benar-benar belajar coding GameMaker, dan jawaban yang baik adalah mengubah skrip nyata dan melihat apa yang terjadi. Buka proyek kecil dan minta agen untuk menjelaskan satu skrip baris demi baris. Agen membaca file dengan read_file dan mengutip nama fungsi dari manual resmi menggunakan web_search. Lalu minta satu perubahan kecil, seperti kecepatan jalan yang lebih cepat. Baca diff dalam mode Ask first, terima, bangun, dan mainkan. Ulangi dengan perubahan baru setiap hari, dan biarkan agen menulis file catatan dengan write_file, agar kamu dapat melihat kembali apa yang diajarkan oleh setiap edit. Kemajuan lambat tetap merupakan kemajuan.
Gambar sprite dengan bagian transparan
Kamu mungkin ingin membuat hanya bagian dari sprite transparan, misalnya bagian bawah karakter yang berdiri di air. Agen membaca skrip gambar kamu dengan read_file, mencari panggilan gambar saat ini dengan grep, dan mengusulkan perubahan edit_file yang menggambar sprite dalam dua bagian dengan draw_sprite_part_ext, salah satunya dengan nilai alpha yang lebih rendah. Mode Plan only dapat menunjukkan kedua bagian tersebut terlebih dahulu. Singkat dan dapat diuji. Terima diff, jalankan ruangan, dan periksa sambungan antara kedua bagian pada tingkat piksel, karena celah satu piksel mudah terlihat saat bergerak. Jika level air bergerak, minta agen untuk mengaitkan pemisahan tersebut dengan variabel.
Hentikan gerakan sebelum dinding
Untuk berhenti bergerak sebelum bertabrakan dengan objek, skrip harus menguji posisi berikutnya dan baru kemudian bergerak. Minta agen untuk membaca skrip gerakan kamu dan membungkus setiap langkah dalam pemeriksaan place_meeting pada posisi target. Kartu edit_file menunjukkan baris baru dan Shell melaporkan kode keluar dari perintah build kamu. Berjalanlah ke dinding di ruangan. Tinjau diff terlebih dahulu, lalu uji dengan kecepatan lambat dan cepat, karena objek cepat masih dapat melewati dinding tipis, dan minta langkah yang lebih kecil jika hal itu terjadi. Biarkan ruangan uji kecil, dengan satu dinding dan satu pemain.
Temukan error pertama di log build
Log build yang panjang menyembunyikan baris yang penting. Simpan log sebagai file teks di folder proyek, lalu minta agen untuk membukanya dengan read_file dan mencarinya dengan grep untuk kata error. Agen melaporkan error pertama bersama nama skrip dan baris, dan dapat membaca skrip tersebut untuk mengusulkan perbaikan dengan edit_file. Memperbaiki error pertama sering kali menghilangkan error di bawahnya. Terima diff di Ask first, bangun lagi, dan bandingkan log baru dengan yang lama untuk melihat apakah jumlah error menurun. Ulangi hingga log bersih.