Bagaimana cara membuat prototipe game online? [Tutup]

8

Saya ingin tahu apakah kalian tahu ada perpustakaan, mesin, atau bahkan hanya pola desain yang sangat menyederhanakan tugas berbagi informasi dan mengirim pesan antara program jaringan, sehingga orang dapat fokus pada tweaker gameplay daripada menulis ulang kode jaringan, sementara membuat prototip game berjaringan. Karena ini dimaksudkan untuk prototipe, kemudahan penggunaan dan fleksibilitas jauh lebih penting daripada kecepatan dan keamanan.

Piyama Panda
sumber
1
Yah, saya pernah mendengar bahwa Unity mampu membuat game bergaya MMO, namun ini adalah Engine yang berfokus pada 3D, Anda dapat melakukan 2D tetapi Anda hanya perlu sedikit kreatif (seperti membuat pesawat yang berisi sprite 2D sebagai tekstur dan mengatur kamera untuk melihat ke bawah.) Saya tahu 3D buzz membuat tutorial tentang pemrograman Unity MMO, tapi saya pikir itu tidak tersedia untuk umum. Saya sarankan Anda menggunakan Paper Prototyping, yaitu di mana Anda mencoba membuat game menggunakan kertas cut out dan memindahkan barang sendiri, itu adalah cara yang baik untuk mendapatkan umpan balik tanpa membuat game penuh, hanya menangani acara online sendiri.
Benjamin Danger Johnson
1
ZMQ luar biasa untuk mengurangi boilerplate jaringan.
Anko
@ BenjaminDangerJohnson Saya telah menggunakan Unity, tetapi komponen jaringan mereka terlalu spesifik untuk berbagi posisi objek. Anda harus menulis mesin Anda sendiri di atasnya jika Anda ingin menggunakannya untuk sesuatu yang lain, dan itu mengalahkan seluruh tujuan pembuatan prototipe.
Piyama Panda
@Anko 0MQ tampaknya menarik, dan saya akan mencobanya. Saya khawatir itu mencoba menyederhanakan lapisan transport , yang kemungkinan besar berarti bahwa pada akhirnya, Anda harus menulis protokol aplikasi Anda sendiri, yang persis apa yang ingin saya hindari untuk fase prototyping.
Panda Pajama
2
Berdasarkan penulisan ulang, 0MQ (atau RabbitMQ) akan berfungsi dengan baik. Tidak ada sistem olahpesan yang dapat mengotomatiskan replikasi data gim Anda, konten pesan akan selalu terserah Anda untuk membuat dan menafsirkannya. Heck, pada LAN Anda bisa dengan mudah mengirimkan siaran spam dan siapa pun yang mendengarkan dapat memilih paket yang ditujukan untuk mereka, data dapat berupa XML atau JSON atau aliran pasangan teks kunci yang mudah karena untuk membuat prototipe secara lokal Anda dijamin memiliki banyak bandwidth. Tetapi Anda masih harus melakukan pekerjaan kode.
Patrick Hughes

Jawaban:

4

Cara termudah untuk membuat prototipe game online, yang memungkinkan Anda untuk dengan cepat mengubah hampir semua hal dalam game (bahkan faktor-faktor seperti real-time vs berbasis giliran), adalah dengan mengimplementasikan prototipe sebagai permainan fisik. Kumpulkan semua desainer dalam satu ruangan, dapatkan banyak kartu, atau dadu, atau komponen papan permainan, atau apa pun yang diperlukan untuk membuat prototipe interaksi permainan umum. Lalu mainkan game.

Anda dapat melakukan ini tanpa perlu membayar programmer atau artis. Mencoba variasi aturan permainan yang berbeda hanya membutuhkan satu atau dua menit alih-alih membutuhkan jam atau hari (atau minggu!) Pekerjaan pemrograman, dan Anda dapat mengetahui apakah permainan Anda berfungsi dengan benar-benar memainkannya, alih-alih harus merancang terlebih dahulu. implementasi dan membuat tebakan tentang apa yang akan atau tidak akan berhasil. Plus, programmer Anda masih akan menyukai Anda di akhir proses. :)

  • Ketika melakukan ini, saya sarankan memiliki setidaknya satu orang yang bertindak sebagai pengamat; tidak ikut serta dalam permainan itu sendiri, dan orang lain yang tugasnya mencatat tentang siapa yang melakukan apa dan kapan. Data tentang apa yang sebenarnya terjadi selama setiap pertandingan bisa menjadi sangat berguna sambil menyesuaikan aturan yang ditetapkan di antara permainan.

Pena, kertas, dadu, kartu, papan, token. Itu benar-benar yang Anda butuhkan. Dan untuk membuat prototipe desain game, itu lebih baik daripada yang lain.

Trevor Powell
sumber
6
Di sisi lain. Jika teman kerja Anda menolak untuk melakukan apa yang terbukti merupakan cara tercepat dan paling ekonomis bagi perusahaan untuk dengan cepat beralih pada desain game prototipe, maka Anda tidak berada dalam lingkungan profesional.
Trevor Powell
2
Jangan mengubahnya menjadi diskusi di tempat kerja. Tentu saja prototyping fisik sangat bagus, tetapi itu tidak selalu memungkinkan, dan tidak semua game dapat dimainkan secara sepele secara fisik. Saya biasanya dapat meretas ide permainan 2D pemain tunggal dalam beberapa jam, dan memodifikasinya untuk melihat apakah itu menarik. Saya hanya ingin dapat melakukan hal yang sama untuk game multi-pemain.
Piyama Panda
5
Kaulah yang membawa lingkungan kerja, bukan aku. Jika Anda tidak ingin membicarakannya, itu tidak masalah. Tapi jangan berharap saya tetap diam saat Anda membuat klaim bahwa prototipe fisik entah bagaimana tidak dapat bekerja di lingkungan kerja "profesional". Karena itu tidak benar.
Trevor Powell
2
Selain itu, tidak semua gim dapat ditiru secara fisik. Permainan puzzle dan strategi mudah dilakukan dengan proposal Anda, tetapi game aksi, musik, balap, olahraga, dan simulasi mungkin tidak demikian.
Piyama Panda
1
Tidak ada metode yang secara ajaib akan membuat prototipe 'sepele' untuk semua jenis game (apalagi untuk setiap jenis game). Ragu jadi ketika jaringan terlibat. Bahwa itu 'tidak sepele' bukan alasan untuk memberhentikan setiap metode prototyping, karena Anda tidak akan pernah menemukan metode yang adalah sepele.
Trevor Powell
2

relatively simple rule changes such as "let's try this in real time instead of turn-based"Itu terdengar seperti perubahan mendasar bagi saya, bukan perubahan aturan sederhana. Saya pikir pilihan desain mendasar seperti itu harus dibuat sebelum Anda bahkan bisa menulis kode jaringan apa pun, baik dengan prototipe offline atau bahkan prototipe kertas.

Artinya, prototipe gameplay tanpa melakukan jaringan apa pun. Itu berarti menulis game yang multipemain secara lokal (mis. Kedua pemain berada di komputer yang sama) untuk menguji ide gameplay.

Maksud saya, pada pekerjaan saya, kami pernah mengambil game yang sudah setengah jalan dikembangkan berbasis giliran dan mengubahnya menjadi waktu nyata, dan ya itu melibatkan penulisan ulang besar-besaran kode jaringan. Dalam retrospeksi, itu adalah cara yang sangat tidak efisien untuk mendekati sesuatu, dan kami cukup banyak memutuskan "tidak pernah lagi."

jhocking
sumber
Tidak juga, jika tidak jaringan, mengubah permainan berbasis giliran menjadi waktu nyata tidak terlalu sulit. Masalah dengan mencoba di komputer yang sama adalah Anda terbatas pada dua, atau mungkin hingga empat pengguna sekaligus. Ngomong-ngomong, itu adalah salah satu contoh, tetapi ada banyak hal lain yang ingin saya uji yang pasti dapat menjadi lebih mudah untuk diuji jika mereka benar-benar jaringan ...
Piyama Panda
Tidak mengerti maksud kalimat pertama Anda. Itulah yang saya maksud, membuat perubahan gameplay itu mudah jika game tidak terhubung jaringan. Dan jika ada hal-hal lain yang hanya dapat diuji setelah jaringan benar-benar ada (mis. Sinkronisasi melalui internet) maka buat keputusan sebanyak mungkin sebelum Anda mulai mengkhawatirkan hal itu.
jhocking
0

Saya tidak dapat membayangkan perlunya alat seperti itu karena saya percaya logika jaringan paling baik dilakukan melalui analisis yang kuat tentang informasi apa yang perlu dituju.

Tetapi, jika saya terpaksa menciptakan hal seperti itu untuk seseorang yang menginginkannya, saya akan menggunakan:

  • bahasa pemrograman Python
  • 0MQ untuk olahpesan (via pyzmq )
  • modul acar untuk mengirim data acak (seperti yang diberikan dalam contoh di sini )

Ini mencakup semua masalah transportasi yang dapat diandalkan, penggambaran pesan, dan serialisasi / deserialisasi. (Namun, Acar tidak aman untuk apa pun selain penggunaan intranet.)

Anda masih perlu mengatur logika untuk memutuskan apa yang harus dilakukan dengan data, membuat dan mengimplementasikan keputusan yang menghubungkan komputer ke komputer lain, dan sebagainya. Dan itu tidak mendukung pengiriman pesan yang tidak dapat diandalkan, atau panggilan prosedur jarak jauh, atau replikasi keadaan otomatis, dll. Itu sebabnya biasanya lebih baik hanya merencanakan apa yang Anda inginkan dan menulis seperti itu.

Kylotan
sumber