Perkenalan HN: Pong Wars
(pong-wars.koenvangilst.nl)- Pong Wars adalah demo web yang memvisualisasikan pertarungan siang dan malam, kebaikan dan kejahatan, seperti Pong
- Di layar ditampilkan nilai day/night seperti
day 288 | night 288, sehingga status saat ini bisa langsung dilihat - Implementasinya dibuat dengan JavaScript dan sebagian HTML/CSS, serta dimuat dalam satu
index.html - Kodenya dapat digunakan kembali, dan disebutkan bahwa pengguna bisa membuat versi mereka sendiri
- Halaman ini mencantumkan kredit pembuat Koen van Gilst dan tautan ke sumber GitHub
Pertarungan siang dan malam yang diekspresikan dengan Pong
- Pong Wars adalah halaman web yang secara visual menampilkan pertarungan antara “day” dan “night”
- Status saat ini ditampilkan dalam format
day 288 | night 288
Implementasi satu berkas dan penggunaan ulang
- Implementasinya menggunakan JavaScript dan HTML/CSS, serta dimasukkan ke dalam satu berkas
index.html - Kodenya bisa digunakan kembali, dan pengguna dapat membuat versi mereka sendiri
- Halaman ini mencantumkan kredit pembuat Koen van Gilst dan tautan ke sumber GitHub
1 komentar
Komentar Hacker News
Kodenya menautkan tweet ini sebagai sumber ide: https://twitter.com/nicolasdnl/status/1749715070928433161 [nitter: https://nitter.net/nicolasdnl/status/1749715070928433161]
Kutipannya kurang lebih berbunyi: “Pertarungan tanpa akhir #genuary23 #genuary #genuary2024. Bukan ide orisinal; saya pernah melihatnya sebelumnya, tapi tidak bisa menemukan di mana”
Di sini disebut bahwa pertarungannya tanpa akhir, dan saya penasaran apakah ada cara untuk membuktikannya secara matematis
Awalnya saya melihat https://twitter.com/CasualEffects/status/1390290306206216196, dan pembuatnya mengatakan itu berasal dari versi asli pico8. Versi-versi sebelumnya juga punya bat Pong, tetapi ketika saya membuat demake BASIC, saya tidak bisa memasukkan kodenya ke dalam tweet agar dijalankan bbcmicrobot, jadi bat-nya saya hapus
Versi saya agak lambat dan kasar, lalu seseorang yang seingat saya @rheolism mengunggah versi yang jauh lebih cepat dan mulus dengan memakai karakter khusus alih-alih menggambar titik, dan setelah itu saya juga melihat demake lain yang dibuat ulang dengan Processing. Hal-hal seperti ini akhirnya punya kehidupannya sendiri
Akun Twitter saya sudah lama dihapus, tetapi saya berhasil menemukannya di arsip
Jadi situasi ketika satu bola terkurung secara ekstrem sulit berlangsung sangat lama
x1 = y1 = y3 = squareSize, x2 = canvas.width - squareSize
squares = Array.from({ length: numSquaresX }, (, i) =>
Array.from({ length: numSquaresY }, (, j) =>
i === 0 && j === 0 ? TEAM1 : TEAM2))
Karena semakin kecil wilayah yang dimiliki, semakin tinggi laju penggabungannya
Saya sangat terpikat oleh hal-hal semacam ini, tetapi bahkan tidak tahu apakah ada istilah genre untuk mengklasifikasikan dan menganalisisnya, jadi terpaksa menyebutnya “hal-hal semacam ini”
Terinspirasi dari algoritma gim tetapi bukan gim, dan “Game of Life” karya Conway pun bisa dibilang salah nama. Ia bergerak, tetapi juga bukan sesuatu yang diskrip seperti animasi biasa
Di dunia nyata, orang seperti David C. Roy menyebut karyanya patung kinetik
Video algoritmik? Simulator gim? Automaton otonom?
Ada juga artikel Wikipedia singkat: https://en.wikipedia.org/wiki/Zero-player_game
Edit: setelah sedikit melihat kodenya, ada sedikit unsur acak dalam dinamika pantulannya. Jadi sulit menyebutnya “sepenuhnya deterministik” kecuali seed generator pseudorandom dianggap sebagai bagian dari kondisi awal
Ada waktu, aturan, dan sebagainya, dan elemen pentingnya adalah hasilnya tidak bisa diketahui lebih dulu
Elemen terakhir itulah yang membuat penulisan dan menjalankan program seperti ini menarik
Anak saya yang berusia 12 tahun baru saja membuatnya dengan Scratch:
https://scratch.mit.edu/projects/957461584/
Benar-benar keren
Saat ini, semakin kecil wilayah yang dimiliki bola, semakin banyak tumbukan yang terjadi pada kecepatan yang sama; akan menarik jika kecepatannya dibuat sebanding dengan jumlah petak yang dimiliki atau akar kuadratnya
Menurut saya tidak ada pihak yang pada akhirnya akan menang
Benar-benar indah di banyak lapisan
Secara estetis, enak untuk duduk dan menontonnya; secara filosofis, menarik sebagai metafora digital tentang perjuangan yang terus berlanjut
Terakhir, dan yang paling menarik, ia menciptakan sesuatu yang baru dengan mencampurkan dua ide lama yang sangat sederhana. Melakukan ini dengan baik sangatlah langka
Pujian sebesar-besarnya, sungguh
Kalau ada 3 warna, sepertinya akan menarik
Jika dua warna lain mendesak satu warna ke sudut, ruang yang sempit membuatnya bisa merebut blok dengan cepat dan segera bangkit kembali dari ambang kekalahan
Saya juga menambahkan slider kecepatan untuk orang yang kurang sabar
https://explorers.toxicode.fr/?remoteWorkspace=pong-war
Ada juga tulisan Mastodon dari pembuat aslinya: https://hachyderm.io/@vnglst/111828811496422610
Untuk belajar, saya mencoba mengimplementasikannya dengan C++ dan Qt Scene Graph
Saya bagikan siapa tahu ada yang tertarik: https://invent.kde.org/carlschwan/warpong/-/blob/master/src/...
Contoh serupa: https://contranoid.com/
Ada juga variasi Pong lain. Namun hanya untuk desktop: https://www.obfusco.com/pn0gjs/index.html