5 Maret 2026 · Mikhail Vasiliev
Devlog Nexus: prototipe mesin
Satu setengah bulan lalu saya memublikasikan rencana studio di situs - tentang mesin Nexus: apa itu dan proyek apa saja yang akan kami buat di atasnya, sampai ke strategi dan kelanjutan seri Mesir kami. Di sana juga ada peta jalannya. Mesinnya rumit, dan untuk menekan risiko saya ingin merakitnya sedikit demi sedikit. Tapi para pemain berkata terus terang di kolom komentar: merakit yang seperti ini mustahil. Karena itu saya memutuskan mulai dari prototipe - untuk menunjukkan bahwa mesin seperti itu ternyata bisa dirakit. Itulah yang akan saya tunjukkan.

Beginilah tampilan mesinnya saat ini. Sekilas ini cuma aplikasi konsol yang cukup sederhana. Tapi ia menunjukkan hal yang paling penting dengan baik - bahwa mekanik yang berbeda-beda berjalan pada satu mesin universal.
Saat ini ada empat simulasi yang berjalan di atasnya. Yang pertama Stone Age, game studio yang paling pertama, dari tahun 2013. Tiga sisanya dibuat berdasarkan proyek orang lain. Saya tidak bermaksud menyalin atau merilisnya, semuanya ada di sini hanya untuk menunjukkan bahwa mekanik game yang benar-benar berbeda bisa berjalan pada satu mesin.
Stone Age
Stone Age direproduksi di mesin secara utuh. Karakteristik, tahun dan giliran, populasi, wilayah, semuanya sama. Pekerja kamu kirim ke hutan, mereka mengumpulkan makanan, populasi bertambah, teknologi pun bermunculan - kamu meneliti teknologinya, membuka bangunan dan pohon evolusi, dari Australopitekus ke Homo habilis dan seterusnya. Peristiwa, akhir cerita - semua dari versi aslinya ada di sini.

Slay the Spire
Berikutnya Slay the Spire, roguelike kartu yang bagus, sebagian dari kamu pasti pernah memainkannya. Di mesin ini cuma bagian pertarungannya: pemain punya kartu, energi, dan nyawa, sedangkan musuh punya niatnya sendiri. Strike (Serang) memukul, Defend (Bertahan) memasang blok. Kamu memakai energi, mengakhiri giliran, dan begitu seterusnya bergantian sampai ada yang menang.

GURPS
Simulasi ketiga adalah GURPS, sebuah sistem permainan meja yang cukup rumit. Dari situ saya hanya mengambil satu modul, yaitu generator sistem bintang. Menariknya, modul ini sendiri sama sekali bukan game, melainkan sebuah generator yang rumit. Ia merakit sebuah sistem dengan satu bintang dan segudang properti: sepuluh orbit, dengan berbagai dunia di atasnya. Yang pertama, kecil dan berbatu, mirip Merkurius - lengkap dengan massa, tekanan atmosfer, dan sisanya. Secara keseluruhan, simulasi ini memuat lebih dari enam ribu fakta. Ini uji beban yang baik: kelihatan seberapa banyak data yang sanggup ditangani mesin.

Oregon Trail
Yang keempat Oregon Trail, klasik tahun 1971 dan salah satu game komputer paling awal. Ini soal perjalanan para perintis melintasi Amerika dengan gerobak: sebelum berangkat kamu membeli persediaan - lembu, makanan, peluru, pakaian - lalu kamu berburu, membagi jatah makan, dan menangani berbagai peristiwa. Nah, kami baru saja diserang. Dan begitu seterusnya sampai akhir perjalanan.

Keempat game ini berjalan pada satu mesin, dan tidak satu pun yang perlu ditulis kodenya.
Mengubah saat berjalan
Tapi mesin ini tidak cuma menjalankan game-game tersebut - kamu bisa mengubahnya langsung saat berjalan, tanpa menyentuh kode. Ambil contoh Slay the Spire.

Saya akan mengubah damage kartu Strike (Serang), saya setel jadi 100:
/set Strike.CalcDamage Value 100Propertinya langsung berubah pada kedua kartu itu, karena keduanya satu kelas.

Bisa juga menambahkan kartu yang benar-benar baru, Fireball (Bola Api):
/add Fireball Is DirectDamage
/set Fireball.CostEnergy Value 2
/add Fireball Has CalcDamage
/set Fireball.CalcDamage Value 20
/add Fireball Has ApplyDamage
/add Fireball.ExecutionEffects Has CostEnergy
/add Fireball.ExecutionEffects Has CalcDamage
/add Fireball.ExecutionEffects Has ApplyDamageTadinya tidak ada, dan sekarang sudah ada di game - berada di tangan, bisa dimainkan, memberi 20 damage, lalu masuk ke tumpukan buangan, seperti kartu biasa:

Aturannya sendiri juga bisa diubah, cukup satu perintah. Saya akan menghapus aturan yang membuat kartu yang sudah dimainkan masuk ke tumpukan buangan.
/remove PlayCard Has MovePlayedCardSekarang kartunya tetap di tangan. Saya memainkan Defend (Bertahan): bloknya terpasang, energinya terpakai, tapi kartunya tetap tinggal.
![Setelah aturan diubah: Defend (Bertahan) sudah dimainkan - energi 0/3, blok 5 - tapi semua kartu yang dimainkan tetap di tangan, ditandai [X]](/_next/image?url=%2Fvblog1_slayrule.jpg&w=3840&q=75)
Pada game biasa yang ditulis dengan bahasa pemrograman, untuk ini kamu harus masuk ke kode dan merakit ulang proyeknya. Di sini hal itu tidak perlu.
Dengan cara yang sama, ke dalam game bisa ditambahkan hal yang sebelumnya sama sekali tidak ada. Misalnya emas - saya akan membuatnya dan menjelaskan bagaimana ia dipakai:
/set Player.Gold Value 100
/add CostGold Output Owner.Gold
/add CostGold Math.Subtract.Apply trueMuncul sebuah karakteristik yang tadinya tidak ada - emas, dan langsung seratus penuh.

Dengan emas itu bisa dibuat juga tindakan baru - Bribe (Suap). Tindakan ini tidak memakai energi, melainkan emas:
/add Bribe Is DirectDamage
/set Bribe.CostEnergy Value 0
/set Bribe.CostGold Value 30
/add Bribe Has CalcDamage
/set Bribe.CalcDamage Value 15
/add Bribe Has ApplyDamage
/add Bribe Has CostGold
/add Bribe.ExecutionEffects Has CostGold
/add Bribe.ExecutionEffects Has CalcDamage
/add Bribe.ExecutionEffects Has ApplyDamage
/create Bribe Player.HandBribe (Suap) berbiaya tiga puluh emas dan memberi lima belas damage - dan langsung berfungsi.

Mungkin kelihatannya ini cheat dan mengetik perintah seperti ini merepotkan. Tapi ini bukan cheat. Ini adalah penyuntingan fakta logis dan data yang menjadi tumpuan seluruh game - objek, properti, dan mekaniknya. Pada dasarnya ini adalah bahasa tempat game itu ditulis.
Mempelajari bahasa ini tidak wajib. Kamu bisa meminta AI menerjemahkan kalimat biasa menjadi perintah yang dipahami Nexus. Misalnya:
give 999 goldDiterjemahkan, ini cuma berarti "Tambahkan 999 emas".

AI-nya berpikir, menemukan perintah yang tepat, lalu menjalankannya, dan emas kita pun jadi 999.
Bisa juga diungkapkan dengan cara lain, "emas 100" - juga berfungsi. "Jadikan aku dewa" - AI memberi kekebalan. Mengakhiri giliran, menyerang, menyembuhkan diri - semua itu bisa dilakukan dengan kata-kata, mesinnya paham. Dan tidak ada satu pun dari ini yang diskrip, semuanya berjalan sungguhan.
Rencana
Saya ingin menyederhanakan perintah-perintahnya. Saat ini, untuk membuat Fireball (Bola Api) yang tadi saja perlu sekitar delapan perintah, dan saya berpikir untuk memangkasnya jadi tiga atau empat. Lalu di video berikutnya saya akan berusaha menunjukkan sesuatu yang lebih nyata - render 2D.
Selengkapnya tentang mesin ini dan rencananya ada di bagian Nexus.
Disclaimer: Stone Age adalah game studio. Slay the Spire, GURPS, dan Oregon Trail adalah milik pemegang haknya masing-masing dan ditampilkan hanya sebagai demonstrasi mesin - build ini tidak didistribusikan di mana pun.
