2 poin oleh GN⁺ 2024-01-28 | 1 komentar | Bagikan ke WhatsApp
  • 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

 
GN⁺ 2024-01-28
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

    • Jika ditelusuri lebih jauh, sebagian idenya mungkin berasal dari saya: https://hachyderm.io/deck/@bazzargh/111829275276749971
      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
    • Karena tiap bola menempati setidaknya area 1x1, bola lawan tidak bisa menguasai 100%
    • Semakin kecil areanya, semakin sering bola itu memantul per satuan waktu dibanding lawannya, dan peluang untuk memperluas area juga bertambah
      Jadi situasi ketika satu bola terkurung secara ekstrem sulit berlangsung sangat lama
    • Kita bisa melihat apa yang terjadi saat bola kiri hanya punya satu tile dan bola kanan memiliki semua sisanya:
      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))
    • Sepertinya akan ada kesetimbangan yang cukup stabil
      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?

    • Saya pernah melihat istilah gim tanpa pemain (zero-player game) dipakai untuk hal seperti ini
      Ada juga artikel Wikipedia singkat: https://en.wikipedia.org/wiki/Zero-player_game
    • Saya suka istilah mainan, dalam sudut pandang yang mirip dengan “executive toy”
    • Bukankah ini bisa dianggap sebagai sistem chaos? Dalam arti sistem yang sepenuhnya deterministik tetapi sangat sensitif terhadap kondisi awal
      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
    • Simulasi” sepertinya cukup mencakup secara umum
    • Dalam istilah di kepala saya, saya menyebutnya simulasi
      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

    • Sepertinya dengan cara itu ia mengatur diri sendiri, seperti permainan kartu “War”
      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

    • Tampaknya ia juga sampai tingkat tertentu memodelkan yin-yang, baik dalam hal yang disimulasikan gimnya maupun tampilan visualnya
  • 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

  • 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