Panduan ini menjelaskan langkah-langkah untuk membuat level baru dalam game oxs-gambit. Game ini dikembangkan menggunakan Godot 4. Level dibangun menggunakan kombinasi TileMapLayer untuk lingkungan dan berbagai PackedScene untuk mekanik puzzle.
- Buka Godot Editor.
- Buat Scene baru dan pilih Node2D sebagai root node.
- Ubah nama root node menjadi nama level Anda (contoh:
Level_3). - Simpan scene tersebut di dalam folder
res://scenes/(contoh:res://scenes/level_3.tscn).
Agar level bisa dimainkan, karakter utama harus ditambahkan ke dalam scene.
- Cari scene
res://scenes/player.tscndi tab FileSystem. - Drag & drop scene tersebut ke dalam scene level baru Anda.
- Penting: Pastikan posisi
Playertidak berada di dalam tembok (TileMap) agar tidak tersangkut. - Tambahkan node Camera2D sebagai child dari root level.
- Atur properti
Zoompada Camera2D ke(2, 2)untuk tampilan pixel art yang optimal (sesuai referensiworld.tscn).
- Atur properti
Kita menggunakan TileMapLayer untuk membuat lantai dan tembok.
- Tambahkan node TileMapLayer ke dalam scene.
- Pada Inspector
TileMapLayer, cari properti Tile Set. - Masukkan resource
res://tilesets/dungeon.treske dalam properti tersebut. - Gunakan tab TileMap di panel bawah untuk mulai menggambar level.
- Gunakan tile tembok untuk pembatas.
- Gunakan tile lantai untuk area pijakan.
- Catatan: Tile tembok sudah memiliki collision shape yang diatur dalam
dungeon.tres.
Mekanik utama game ini melibatkan kotak (Box), pintu, dan pelat tekanan.
Kotak adalah objek fisik yang bisa diangkat atau diubah ukurannya oleh pemain.
- Instance scene
res://scenes/box.tscnke dalam level. - Mekanik: Pemain bisa mengubah ukuran kotak (Kecil/Besar) dengan klik kiri mouse.
- Kotak Kecil: Ringan, bisa dibawa, bisa dilempar.
- Kotak Besar: Berat, digunakan untuk menahan tombol (pressure plate) atau sebagai pijakan tinggi.
Untuk membuat puzzle di mana kotak harus diletakkan di atas tombol untuk membuka pintu:
- Instance scene
res://scenes/pressure_plate.tscn. - Instance scene
res://scenes/door.tscn. - Letakkan pintu di jalur yang ingin ditutup.
- Letakkan pressure plate di lokasi puzzle.
- Menghubungkan Logika:
- Klik node
pressure_plateyang baru dibuat. - Lihat bagian Inspector di sebelah kanan.
- Cari variabel Door To Open.
- Klik "Assign" dan pilih node
dooryang ingin dibuka oleh tombol tersebut.
- Klik node
Jebakan akan membunuh pemain dan mereset posisi pemain.
- Instance scene
res://spike.tscn(berada di root folder). - Letakkan di lantai atau area berbahaya.
- Jika pemain menyentuh ini, fungsi
die()akan dipanggil dan pemain kembali ke posisi awal.
Setiap level harus memiliki titik finish untuk pindah ke level berikutnya.
- Instance scene
res://scenes/endflag.tscn. - Letakkan di akhir rute level.
- Klik node
endflag. - Di Inspector, cari variabel Next Level Path.
- Isi dengan path file level selanjutnya (contoh:
res://scenes/level_4.tscn).
Setelah level baru (misalnya Level 3) selesai dibuat, update level sebelumnya (Level 2) agar mengarah ke level baru.
- Buka
res://scenes/level_2.tscn. - Klik node
endflagdi level tersebut. - Ubah Next Level Path agar mengarah ke level baru Anda (
res://scenes/level_3.tscn).
- Physics: Karena
Boxmenggunakan RigidBody2D, pastikan lantai rata agar kotak tidak menggelinding sendiri. - Jumps:
Jump Forcepemain diatur sekitar 500 (atau 700 di beberapa konfigurasi scene). Tes jarak lompatan agar rintangan bisa dilewati namun tetap menantang. - Box Puzzle: Manfaatkan perubahan ukuran box. Gunakan celah sempit yang hanya muat box kecil, atau tombol yang hanya bisa ditekan box besar (karena massanya lebih berat).