Pembangun Cipta Permainan Tembak-Menembak Berbilang Pemain Gaya DOOM Yang Berjalan Sepenuhnya Dalam Pangkalan Data SQL

Pasukan Komuniti BigGo
Pembangun Cipta Permainan Tembak-Menembak Berbilang Pemain Gaya DOOM Yang Berjalan Sepenuhnya Dalam Pangkalan Data SQL

Seorang pembangun telah menolak teknologi pangkalan data ke hadnya dengan mencipta DOOMQL , sebuah permainan tembak-menembak orang pertama berbilang pemain yang berfungsi sepenuhnya dan berjalan sepenuhnya dalam pangkalan data SQL . Projek ini menggunakan CedarDB untuk mengendalikan segala-galanya daripada logik permainan dan pergerakan pemain hingga rendering 3D melalui pertanyaan SQL yang kompleks.

Seni Bina Teknikal:

  • Pangkalan Data: CedarDB (serasi HTAP PostgreSQL)
  • Rendering: Paparan SQL dan pertanyaan rekursif
  • Gelung permainan: Skrip Python (50-100 baris)
  • Klien: Antara muka berasaskan terminal
  • Berbilang pemain: Transaksi SQL untuk penyegerakan keadaan
Watak unik yang mewakili semangat inovatif di sebalik penciptaan DOOMQL, permainan penembak berbilang pemain dalam pangkalan data SQL
Watak unik yang mewakili semangat inovatif di sebalik penciptaan DOOMQL, permainan penembak berbilang pemain dalam pangkalan data SQL

Komuniti Membahaskan Klasifikasi Permainan dan Pencapaian Teknikal

Komuniti permainan telah mencetuskan perdebatan menarik tentang sama ada DOOMQL patut dipanggil sebagai klon DOOM atau lebih tepat dilabelkan sebagai permainan gaya Wolfenstein 3D . Perbincangan tertumpu pada perbezaan teknikal antara permainan tembak-menembak klasik ini, dengan ramai yang menunjukkan bahawa gameplay berasaskan grid tanpa tekstur lebih menyerupai Wolfenstein 3D yang lebih awal berbanding enjin DOOM yang lebih canggih.

Perdebatan klasifikasi ini menyerlahkan sejauh mana kita telah maju dari awal 1990-an, ketika perbezaan ini sangat penting bagi para pemain. Perbualan ini juga mendedahkan sifat pencapaian yang mengagumkan - tanpa mengira permainan retro mana yang paling menyerupainya, melaksanakan mana-mana permainan tembak-menembak 3D sepenuhnya dalam SQL mewakili pencapaian teknikal yang luar biasa.

Ciri-ciri Permainan:

  • Rendering raycasting 3D melalui SQL
  • Sokongan multiplayer masa nyata
  • Pergerakan pemain dan pengesanan perlanggaran
  • Fizik peluru dan sistem kerosakan
  • Paparan HUD dan peta mini
  • Sistem cheat melalui arahan SQL secara langsung

Pelaksanaan Berbilang Pemain Mengejutkan Pembangun

Apa yang membezakan DOOMQL daripada eksperimen permainan pangkalan data sebelumnya ialah keupayaan berbilang pemainnya. Pencipta asal DuckDB-DOOM turut memberikan pujian terhadap kemajuan ini, menyatakan bagaimana penambahan permainan berbilang pemain membawa konsep ini ke tahap kerumitan yang baharu sepenuhnya.

Sistem berbilang pemain berfungsi melalui transaksi SQL yang mudah, di mana tindakan setiap pemain diproses sebagai kemas kini pangkalan data. Pendekatan ini secara semula jadi mengendalikan aspek-aspek mencabar permainan berbilang pemain, seperti mengekalkan keadaan permainan yang konsisten merentasi berbilang klien dan mencegah konflik antara tindakan pemain serentak.

Figura imaginatif yang mencerminkan penerokaan permainan berbilang pemain yang kompleks dalam DOOMQL sebagai pencapaian teknikal yang signifikan
Figura imaginatif yang mencerminkan penerokaan permainan berbilang pemain yang kompleks dalam DOOMQL sebagai pencapaian teknikal yang signifikan

Keputusan Prestasi Melebihi Jangkaan

Berjalan pada resolusi 64x64 piksel, DOOMQL mencapai kira-kira 60 bingkai sesaat pada perkakasan standard. Setiap rendering bingkai mengambil masa kira-kira 1.55 milisaat, yang mengejutkan kompetitif untuk sistem yang berjalan sepenuhnya melalui pertanyaan pangkalan data. Algoritma raycasting, yang dilaksanakan menggunakan pertanyaan SQL rekursif, mengendalikan saluran rendering 3D yang biasanya memerlukan pengaturcaraan grafik khusus.

Ia adalah satu pencapaian yang sangat menarik. Sebagai seorang yang gemar dengan permainan tembak-menembak awal, saya tertanya-tanya sama ada adil untuk memanggilnya seperti Doom.

Kejayaan prestasi telah menyebabkan sesetengah pembangun mempertimbangkan sama ada pangkalan data boleh menjadi platform yang berdaya maju untuk jenis-jenis tertentu permainan berbilang pemain, terutamanya yang mempunyai keperluan grafik yang lebih mudah atau mekanik berasaskan giliran.

Spesifikasi Prestasi:

  • Resolusi: 64x64 piksel
  • Kadar bingkai: ~60 FPS
  • Masa pemaparan setiap bingkai: 1.55 milisaat
  • Kekerapan gelung permainan: 50-100 kali sesaat
  • Masa pelaksanaan gelung permainan: ~1 milisaat
Watak yang ringan yang menunjukkan pencapaian menyeronokkan dan inovatif  DOOMQL  dalam mencapai metrik prestasi yang mengagumkan
Watak yang ringan yang menunjukkan pencapaian menyeronokkan dan inovatif DOOMQL dalam mencapai metrik prestasi yang mengagumkan

Menipu Menjadi Sebahagian Daripada Reka Bentuk Permainan

Satu akibat yang tidak dijangka daripada membina permainan dalam SQL ialah pemain yang mahir dari segi teknikal boleh menipu dengan mengeluarkan arahan pangkalan data secara langsung. Daripada melihat ini sebagai kecacatan, pembangun telah menerimanya sebagai metagame yang muncul di mana menipu secara kreatif menjadi sebahagian daripada pengalaman.

Pemain boleh mengubah suai kesihatan, kedudukan, atau atribut permainan lain mereka dengan menjalankan arahan SQL secara langsung terhadap pangkalan data. Ini mewujudkan dinamik menarik di mana pengetahuan pengaturcaraan menjadi elemen gameplay, walaupun ia juga menimbulkan persoalan tentang keadilan kompetitif dalam senario berbilang pemain.

Projek DOOMQL menunjukkan bagaimana pembangun kreatif terus mencari cara baharu untuk menolak sempadan teknologi. Walaupun menjalankan permainan tembak-menembak dalam pangkalan data mungkin tidak praktikal untuk pembangunan permainan komersial, ia mempamerkan fleksibiliti sistem pangkalan data moden dan memberikan wawasan berharga tentang pendekatan alternatif kepada seni bina permainan berbilang pemain.

Rujukan: Building a DOOM-like multiplayer shooter in pure SQL