Mesin Game 2D yang Direkomendasikan untuk pembuatan prototipe [tertutup]


76

Mesin game tingkat tinggi apa yang akan Anda rekomendasikan untuk mengembangkan prototipe game 2D di windows? (atau mac / linux jika Anda mau)

Hal-hal yang saya maksud dengan "tingkat tinggi" termasuk (tapi jelas tidak terbatas pada):

  • tidak harus mengelola hal-hal tingkat rendah seperti buffer layar, konteks grafis
  • memiliki API untuk menggambar bentuk geometris
  • baik, saya akan menghilangkannya tapi saya kira didasarkan pada bahasa "tingkat tinggi" yang sebenarnya adalah nilai tambah (manajemen sumber daya otomatis dan keberadaan seperangkat struktur data yang masuk akal di perpustakaan standar datang ke pikiran).

Sepertinya saya bahwa Flash adalah gajah pepatah di ruangan untuk pertanyaan ini, tetapi saya sangat ingin melihat jawaban yang berbeda berdasarkan semua jenis bahasa atau SDK.

Jawaban:


31

Saya telah menggunakan pygame secara luas, dan memiliki banyak hal positif:

  • itu adalah perpustakaan untuk Python, yang merupakan bahasa tingkat tinggi
  • punya dokumentasi yang jelas dan bagus
  • ada komunitas yang aktif

Pygame adalah pembungkus SDL, pustaka grafis 2D lintas platform. Pygame juga memiliki pembungkus untuk suara, musik, dll. Perhatikan bahwa meskipun Python merupakan bahasa pemrograman tingkat tinggi, pygame adalah (sebagian besar) perpustakaan grafis tingkat rendah.


3
Anda mungkin ingin menyebutkan bahwa meskipun dalam bahasa tingkat tinggi, sebagai kerangka permainan masih tingkat rendah.
Henk

5
Ya, Anda dapat dengan mudah menghabiskan beberapa minggu perlahan membangun mesin game di PyGame tanpa banyak game yang sebenarnya untuk ditampilkan untuk itu. Ini adalah pustaka yang hebat, tetapi dalam pengalaman saya Anda harus membangun beberapa kode kerangka kerja dari waktu ke waktu sebelum itu akan bekerja untuk pembuatan prototipe cepat dari ide-ide yang lebih terlibat.
James

35

Jika Anda ingin melihat hal-hal lain. Anda dapat memeriksa Löve (yang menggunakan Lua)


4
Wah, itu sepertinya cara yang sangat menyenangkan untuk belajar lua!
GloryFish

9
Sebagai catatan, saya menulis komentar di atas pada 22 September 2010. 7 hari kemudian saya duduk dan pada suatu malam menciptakan game Löve pertama saya tanpa pernah menulis Lua sebelumnya. Sejak itu saya telah membuat beberapa game dengan Lua dan Löve dan saya saat ini memindahkan game Löve ke iOS. Ini adalah bahasa prototipe yang bagus dan cara yang bagus untuk belajar Lua.
GloryFish

2
Itu luar biasa untuk didengar: D
aflafur Waage

20

Saya menemukan XNA menjadi bahasa yang sangat bagus untuk prototipe. Sangat mudah untuk mengumpulkan ide-ide cepat untuk melihat bagaimana permainan game / mekanik akan bekerja, dan cukup kuat untuk benar-benar menyelesaikan pekerjaan. Ini juga memiliki komunitas yang hebat di forum untuk bantuan, dan beberapa alat pihak ke-3 (mesin fisika / perpustakaan pembantu / dll.)


Karena Microsoft XNA adalah DOA, hal terbaik berikutnya adalah Monogame (implementasi open-source XNA).
ashes999

2
Mereka masih akan mendukungnya, dan Anda masih bisa membuat prototipe game dengannya. Mereka hanya tidak mengirim fitur baru. Saya tidak akan menyebutnya mati, melainkan di masa pensiun :)

18

GameMaker terlihat seperti alat pembuatan prototipe game atau perkakas yang bagus. Ini didasarkan pada drag-and-drop "tanpa perlu menulis satu baris kode", jadi sepertinya ditujukan untuk pemula. (Saya tidak pernah menggunakannya, hanya terjadi di atasnya - tetapi situs web mereka pasti terlihat apik. :)



14

Flixel milik Adam Atomic juga layak disebut. Mesin game sederhana, modern, bertelanjang tulang yang ditulis dalam Flash. Anda dapat mempelajarinya dalam hitungan menit, bukan hari. Dan menggunakan Flash (atau Pemrosesan / Java) membuat Anda terhindar dari salah satu perangkap prototipe paling berbahaya: Anda tidak dapat menggunakan kode prototipe di platform serius apa pun. Ini permainan yang ingin Anda prototipe, bukan kode.


1
+1 Untuk Flixel. Mesin yang bagus. Kami menggunakannya di Global Game Jam (dan menang :). Tidak bisa mengeluarkan prototipe semi-dipoles lebih cepat dari 48 jam!
michael.bartnett

Benar-benar hebat. Saya sudah bermain pagi ini dan itu mengajari saya actioncript dari awal.
mcintyre321

@ michael.bartnett, dapatkah Anda menautkan ke permainan kemenangan Anda? Hanya penasaran :)
James McMahon

@JamesMcMahon Saya menghargai keingintahuan Anda :) Bisakah Anda menelepon saya tentang hal itu? Juga, saya ingin menyebutkan untuk pembaca komentar masa depan bahwa saya lebih menyukai Flashpunk daripada Flixel saat ini di antara mereka berdua.
michael.bartnett

8

Ini bukan mesin game khusus, tetapi melihat ke dalam Pengolahan . Beberapa poin bagus adalah:

  • Diperlukan pengaturan minimal. Anda dapat memiliki sesuatu di layar dalam 30 detik.
  • Dapat mencelupkan ke dalam Java kapan saja untuk hal-hal seperti koleksi, tetapi banyak sintaksis gambar, animasi dan interaksi jauh lebih sedikit bertele-tele daripada Java langsung.
  • Apa pun yang Anda tulis akan kompatibel dengan Processing.js , sehingga Anda dapat menggunakannya di mana pun Anda memiliki peramban modern.

8

Saya menggunakan Novashell.

Saya menggunakan Game Maker sebagai alat utama, tetapi saya memiliki masalah dengan YoYo Games (saya tidak akan menjelaskannya di sini sekarang), kemudian saya menemukan Novashell.

Novashell BENAR-BENAR alat prototyping, itu dibuat oleh orang yang juga membuat "LORD" (Legend of Red Dragon) dan "Dink Smallwood" sehingga ia bisa membuat game cepat untuk Ludumdare (kompetisi permainan 48 jam), ia memiliki editor peta , mendukung skrip LUA, dibuat dalam C ++, memiliki lisensi zlib (artinya Anda dapat melakukan apa pun yang Anda inginkan dengan sumbernya, tidak mengklaim bahwa Anda menemukan hal-hal yang tidak Anda temukan), dan memiliki mesin fisika (Box2D), sistem partikel (Linear Particle for ClanLIB), mendukung MikMod dan Fmod, bekerja di Linux, Mac dan Windows, sudah mati mudah digunakan, dan Anda dapat meminta barang ke Seth!

EDIT: Seth adalah nama programmer (yang juga membuat TUHAN)


Terima kasih! belum pernah mendengar yang ini sebelumnya tetapi daftar fitur cukup menarik untuk mencobanya. juga open source
Nek

Ya! Versi Novashell saya sendiri sedikit lebih baik dalam kaitannya dengan versi resmi, tetapi akan membutuhkan waktu lama sebelum saya dapat merilisnya :( (bahkan tidak di komputer yang secara fisik dekat saya)
speeder

lagi pula saya tidak punya waktu untuk mempelajarinya sebelum Ludum Dare pada akhir pekan ini. Semoga Anda akan merilisnya sebelum LD berikutnya.
Nek

juga keynote LD ini adalah oleh Seth sendiri!
Nek

Yap :) Seth luar biasa ... Saya tidak mengikuti LDs :( Jadi saya tidak tahu bahkan kapan LD berikutnya akan.
speeder

7

Game Maker sangat keren, pada dasarnya melakukan semua yang telah Anda jelaskan. Ini memiliki ikon drag and drop untuk pemula dan kode untuk pengguna tingkat lanjut. Namun, setelah menggunakan C ++ secara eksklusif selama lebih dari setahun, kembali ke Game Maker ... menyakitkan.

Kerugian:

  • Tidak ada struktur data yang ditentukan pengguna (tidak seperti kelas C struct atau C ++, hanya "objek")
  • Secara dinamis diketik (ketik "varAwesome = 0" dan oh my god itu baru saja muncul)
  • Game YoYo itu jahat

Kelebihan:

  • Mudah digunakan, sulit dikuasai
  • Apakah banyak hal tingkat rendah untuk Anda
  • Komunitas yang bersemangat dan aktif

Saya mulai membuat game menggunakan Game Maker pada tahun 2002. :)


6
lol di diketik secara dinamis - downside ...
RCIX

Ya, itu dan pengetikan yang lemah. Saya mendapat beberapa bug yang sangat aneh sebelum menyadari bahwa operator modulus mengembalikan jawaban dalam floating point.
James

Tidak ada struktur data yang ditentukan pengguna yang merepotkan. Jika Anda perlu mengembalikan lebih dari satu nilai dari suatu fungsi, Anda harus membuat objek untuk itu, tetapi semua objek adalah aktor permainan penuh dengan posisi, peristiwa, dll. Anda tidak dapat membagikan array (jika Anda tidak menentukan sebuah indeks, ia akan menganggap [0])
Bart van Heukelom

Saya merekomendasikan GameMaker juga jika Anda ingin dengan cepat membuat prototipe desain game Anda. GameMaker sangat kuat dan saya telah melihat beberapa hal luar biasa dilakukan dengannya. Anda berpotensi menghemat banyak waktu dan kesedihan jika Anda membuat prototipe desain gim Anda di GameMaker terlebih dahulu sebelum beralih untuk mengembangkan mesin gim di C ++ atau XNA.
Cooper

Saya sebenarnya memiliki perpustakaan skrip alokasi memori dinamis khusus untuk mengatasi masalah kurangnya struktur data. Saya akan mengatakan bahwa memiliki perpustakaan seperti itu dan bisa melakukannya dalam versi lite tentu membuatnya sangat mudah untuk dikerjakan.
The Great Duck

5

Saya telah menggunakan DarkBASIC Professional selama 2 tahun dan sangat menikmatinya. Jika Anda tidak mampu membeli versi lengkap, Anda dapat mengunduh versi gratis iklan yang didukung. The Game Creators, pembuat DBPro, juga merilis buletin reguler yang membuat bacaan yang cukup bagus, ditambah mereka memiliki komunitas aktif yang cukup besar; semua hal di atas dapat ditemukan di sini:

https://www.thegamecreators.com/

Lihatlah, semoga Anda dapat menemukan sesuatu di sana.

Cheers, BFM


5

cocos2d yang menggunakan pyglet . Saya menggunakan dua pustaka Python ini secara ekstensif untuk membuat prototipe.

Jauh lebih mudah digunakan daripada pygame.

Saya terkejut itu belum disebutkan!


5

Saya akan merekomendasikan Scirra Construct untuk pemula dan membuat prototipe cepat.

Mesin gim itu sendiri diabstraksikan, sehingga Anda bisa fokus sepenuhnya pada gim Anda. Plugin mengaktifkan fungsionalitas tambahan, "kode" terbuat dari peristiwa yang dapat diseret, kondisi dan blok tindakan dll.

Construct sedang dalam pengembangan aktif dan memiliki komunitas yang aktif juga.


3

The Scrolling Game Development Kit versi 2 adalah iterasi utama kedua (menulis ulang) dari IDE pengembangan game dan kerangka untuk persis semacam ini prototyping dan pengembangan game 2-D yang sederhana. Sebagai iterasi kedua, itu mengambil keuntungan dari bahasa modern (C #) dan teknologi (refleksi pada kode kustom) serta mengerjakan beberapa kelemahan mendasar dalam desain (sekarang ini memungkinkan Anda untuk menempatkan sprite langsung di editor peta daripada hanya jalur yang harus terhubung secara eksternal dengan sprite, dan itu tidak mencoba menjadi editor Wysywig karena ada beberapa hal yang Anda inginkan terjadi pada waktu berjalan saja dan yang lain yang Anda inginkan pada waktu desain saja).

Beberapa fitur yang menarik:

  1. Sebagian besar kode kerangka kerja diekspos dan dapat diedit dalam IDE. Jika Anda tidak menyukai cara fungsi built-in "PushTowardSprite", Anda dapat membuka editor dan mengubahnya, atau menambahkan Anda sendiri yang akan muncul dalam daftar tepat bersama dengan semua perintah built-in.
  2. Anda menyebutkan kemampuan untuk menggambar poligon. Kerangka kerja ini didasarkan pada OpenTK, yang merupakan pembungkus .NET di sekitar OpenGL. Jadi Anda memiliki semua kekuatan OpenGL di ujung jari Anda. Ada satu kelas "Display.cs" dalam kode kerangka kerja yang dapat Anda edit dalam IDE jangan menambahkan fitur menggambar apa pun yang Anda inginkan.
  3. Sebagian besar kerangka kerja ditargetkan sebagai fisika side-scroller (berjalan di lereng, platform berkuda, dll), sehingga banyak kode yang sudah dilakukan untuk Anda; tentu saja Anda dapat menyesuaikan atau mengabaikannya untuk jenis game 2-D lainnya. Sebuah game Tetris telah ditulis dengannya.
  4. Pengguliran paralaks
  5. Alpha translucency dapat disematkan dalam grafik atau diterapkan pada gambar dari grafik apa pun.
  6. Semua data proyek disimpan dalam satu file XML (set data .NET). Editor eksternal dapat mengakses file sehingga memperluas fitur yang tersedia di IDE jika perlu.
  7. Proyek dikompilasi terlebih dahulu untuk proyek C # (kompatibel dengan Visual Studio) dan kemudian ke file EXE (dengan semua sumber daya yang tertanam). Jika perlu, Anda dapat memuat proyek ke Visual Studio untuk peningkatan debugging atau antarmuka pengembangan kode.

3

Dengan PreviewLabs, sebuah perusahaan yang berspesialisasi dalam pembuatan prototipe cepat , kami sering menggunakan Unity3D untuk membuat prototipe Game 2D.

Meskipun ini adalah mesin 3D, ada beberapa cara untuk menggunakannya untuk pembuatan prototipe 2D. Inilah keuntungan utama:

  • Ini gratis untuk digunakan untuk platform PC dan Mac
  • Versi berbayar juga berfungsi untuk iOS dan Android, memungkinkan Anda untuk melihat bagaimana konsep Anda akan bekerja pada platform yang berbeda.
  • Muncul dengan mesin fisika, yang juga dapat Anda gunakan saat membuat prototipe game 2D.

Saya sedang menulis serangkaian posting blog tentang bagaimana Unity3D dapat digunakan untuk pembuatan prototipe game 2D; ini yang pertama: Memprototipe Game 2D di Unity3D


3

The Kerangka Slick ditulis di Jawa adalah pilihan yang baik. Itu yang pertama kali saya pelajari untuk diprogram. Keuntungannya adalah menjalankan lintas platform, dapat menghasilkan applet untuk web, dan memiliki dukungan alat / perpustakaan yang luar biasa melalui Eclipse atau apa pun yang dimiliki lingkungan Java. Yang mengatakan saya akhirnya beralih ke Flash hanya karena jika Anda ingin mendistribusikan game Anda tidak ada yang lebih mudah atau lebih efektif.


2

Saya mulai menggunakan FlashPunk untuk proyek pengembangan game pertama saya, dan sejauh ini benar-benar apik. Ini adalah perpustakaan Flash yang dibangun untuk desain game. Ini adalah mesin gim tanpa tulang yang mirip dengan Flixel, tetapi lebih seperti GameMaker, lebih ramah pengguna untuk pemula daripada Flixel. FlashPunk bersama dengan Ogmo Editor membuatnya sangat efisien untuk mendapatkan desain level yang tepat tanpa harus menghabiskan banyak waktu pada pengkodean. Info lebih lanjut tentang ketiganya dapat ditemukan di Flash Game Dojo .


1

Saya akan kedua menyebutkan Game Maker. Saya akan mengatakan, jika setiap mesin gim jatuh pada kontinum dari "mudah digunakan / dipelajari tetapi terbatas pada apa yang dapat Anda lakukan" hingga "benar-benar kuat, tetapi membutuhkan waktu lama untuk dikuasai" ... Game Maker cukup banyak definisi dari ekstrim yang mudah digunakan. Seperti yang dikatakan Cyclops, sebagian besar fungsi dasar (sprite, membuat objek game, gerakan, deteksi tabrakan, skor, dll) adalah ikon drag-and-drop. Ini sebenarnya termasuk bahasa scripting yang cukup kuat yang dapat Anda gunakan juga, setelah Anda mulai menjadi baik ... tetapi ketika Anda mulai menulis seluruh permainan Anda dalam bahasa scripting yang disematkan, mungkin sekarang saatnya untuk "beralih" ke bahasa scripting seperti Flash atau PyGame.

Tetap saja, saya telah sukses besar dengan Game Maker sebagai alat pemula, tanpa pemrograman yang diperlukan untuk siswa desain game, dan tidak cukup merekomendasikannya.


1

Saya seorang pemula dalam pembuatan game, dan saya terkesan bisa membuat sesuatu dari pygame dengan cepat dan mudah. Python + SDL = kemudahan terjamin.


1

Nah, jika itu untuk prototipe Anda tidak benar-benar membutuhkan back-end yang licin dengan manajemen sumber daya dan hal-hal seperti itu. Selama Anda dapat memuat gambar dan menampilkannya, Anda sebagian besar sudah diatur. Saya menentang arus dan mengusulkan 'menulis milikmu sendiri'. Anda akan kehilangan nol waktu mencari tahu cara menggunakan api seseorang. Jika write-your-own benar-benar bukan pilihan, DirectX dilengkapi dengan kerangka kerja sampel yang menyediakan sebagian besar layanan dasar. Tidak terikat oleh suatu kerangka kerja berarti tidak kehilangan waktu mengikuti aturannya, dan tidak dibatasi oleh ruang lingkupnya. Saya telah membuat prototipe sebagai pekerjaan, dan hasil tercepat saya adalah ketika saya hanya bisa menampar kode tanpa harus khawatir, atau dihambat oleh, kerangka kerja. Pembungkus 2D benar-benar tidak lebih dari memuat gambar dan dapat menampilkannya pada x, y - mungkin dengan skala, rotasi dan jika Anda ingin menjadi trippy, shader. Sisanya Anda dapat kode yang Anda butuhkan. Untuk prototipe - kode tidak akan baik.


1

Torque-2d oleh GarageGames adalah mesin permainan yang hebat dengan komunitas yang hebat, beberapa add-ons yang sangat mengesankan, dan dukungan bawaan untuk Windows, Mac, dan Wii, dan bahkan iOS (pada lisensi terpisah). Harganya $ 99.

Unity3d (Anda dapat mengembangkan game 2d di atasnya) adalah mesin game berkualitas tinggi lainnya dengan penghalang yang relatif rendah untuk masuk. Sekali lagi, komunitas yang hebat, dan dukungan multi-platform yang sangat keren, termasuk iOS dan Android, selain Win / Mac, Wii, Xbox, Playstation, dan web.

Mesin game iPhone centric yang hebat adalah cocos2d untuk iOS.


1

Pertanyaan Anda adalah tentang apa yang diperlukan untuk menulis prototipe game 2D, tapi saya pikir ada hal lain yang perlu dipertimbangkan: keuntungan terbesar Flash adalah apa yang diperlukan untuk membagikan prototipe itu dengan yang lain. Hampir semua orang sudah menginstal Flash. Saya dapat mengunggah SWF dan meneruskan URL ke seseorang melalui obrolan atau email. Tanpa unduhan, tanpa pemasangan, tanpa unzip, tanpa exe, tanpa masalah lintas platform. Saya akhirnya memilih Flash karena sangat mudah untuk berbagi dan mendapatkan umpan balik. Iterasi melibatkan pengunggahan lagi dan menyuruh mereka memuat ulang, dan saya ingin iterasi cepat untuk pembuatan prototipe. (Javascript + Canvas / SVG adalah pilihan lain yang bermanfaat, dan saya yakin kita akan segera melihat perpustakaan seperti Flixel / Flashpunk untuk JS).


1

HGE Tampak Hebat. Ada Editor Partikel, Editor GUI, Dan digunakan oleh programmer pro.


1

Selalu ada GLBasic .

Ini adalah bahasa tingkat yang cukup tinggi dan baru-baru ini memperluas dukungan selulernya.

  • Ini 2D dan 3D
  • Gratis untuk non komersial
  • Perintah sprite dasar, dengan tabrakan piksel atau blok
  • Menulis sekali dan menyebarkan ke banyak perangkat dan platform (kebanyakan)
  • Memiliki dukungan Box2D via wrapper (forum pencarian)
  • TIPE data khusus dengan fungsi (dekat dengan kelas tetapi tidak memiliki banyak fungsi OOP)
  • Dapat membuat sprite bergerak di layar dalam waktu singkat dengan beberapa baris kode

1

PixieEngine adalah IDE berbasis web dan lingkungan pengembangan game. Ini menggunakan CoffeeScript untuk scripting dan menyediakan editor bawaan untuk pixel art dan efek suara.

IDE PixieEngine


1

Saya telah melakukan pencarian serupa dan menemukan beberapa alat lain yang tidak disebutkan di sini:

  • Stencylworks adalah lingkungan IDE / dev untuk membuat game Flash dengan sangat cepat dan mudah, antarmuka visual untuk modul yang ada. tampaknya 100% gratis, bukan open source, dan keuntungan utama termasuk apik, pengkodean tanpa kode (tidak seperti skrip skitzoid Gamemaker / antarmuka visual). Saya khawatir tentang batas antarmuka visual - tidak jelas seberapa benar berorientasi objek itu sebenarnya; tentu memiliki hal-hal sederhana; mungkin editor skrip javascript ada di suatu tempat, tetapi belum melihatnya. Tampaknya dimaksudkan untuk pengembangan kolaboratif pada intinya (obrolan dibangun ke IDE; semua sumber daya dan perilaku yang di-host di server, kontribusi pengguna). Itu bisa menjadi BESAR untuk pengembangan prototipe. Saya belum melakukan banyak hal dengan itu tetapi tutorial itu sederhana, dan ada

Saya sudah mencoba beberapa yang lebih aneh juga.

Alice adalah lingkungan permainan / dev 3D yang bersifat open source - terlihat agak kikuk.

Kodu, melampaui Gamemaker dengan spektrum mudah / terbatas, ditujukan untuk anak-anak, memungkinkan Anda membuat game dengan pengontrol Xbox. bebas dari Microsoft Research

Scratch, dari MIT Labs, adalah 2D gratis dan benar-benar dasar, yang ditujukan untuk memasukkan anak-anak ke dalam pengkodean. Kikuk secara visual. Meskipun fleksibel.

Kembali ke LOGO Papert, Microworlds JR memungkinkan Anda menulis logo, katanya. Perlu pembaruan agar bermanfaat, IMO.

Bagi saya, sejauh ini, turun ke Construct 2 vs Stencylworks ... meskipun saya akan melihat betapa mudahnya membangun game 2D yang layak di Unity, seperti yang saya tahu dan sukai Unity.


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.