Cross Platform Mesin Grafis 2D [ditutup]

57

Saya mencari mesin grafis 2D yang memungkinkan saya untuk merilis ke Windows, Mac dan iPhone, seperti halnya Unity untuk 3D.

Apakah ada mesin bagus yang melakukan ini dan khusus untuk 2D?

Kevin Laity
sumber
Jika Anda merasa ingin bertualang, Anda selalu dapat melihat salah satu game 2D bersumber terbuka, seperti Aquaria, Gish, dan seluruh Bundel Indie Humble.
MarkovCh1
6
Anda lupa linux, tidak ada cinta untuk orang-orang itu?
Derek

Jawaban:

37

Selalu ada siaga lama, SDL . Levelnya cukup rendah, tetapi kesederhanaan itulah yang memungkinkannya untuk diport ke platform-platform tambahan (termasuk windows, linux, mac, nintendo DS, wii, dll.). Ada port iPhone , yang belum pernah saya gunakan, tetapi tampaknya cukup dewasa.

davr
sumber
Tampaknya mereka belum memiliki versi "stabil" 1.3 yang merupakan versi yang Anda inginkan untuk dukungan iphone. Anda mungkin perlu mengambil versi 1.3 dari repo HG mereka dan membuatnya sendiri.
Casey
22

Sebenarnya tidak ada alasan Anda tidak dapat menggunakan Unity3D untuk membuat game "2D". Anda dapat menggunakan paha depan bertekstur dan kamera ortografi, dan Anda memiliki game 2D. Bahkan ada beberapa solusi unik seperti menggunakan sistem animasi kerangka dan meletakkan sprite di atas sendi yang berbeda, atau menggunakan kamera perspektif yang sangat ketat untuk mendapatkan paralaks yang murah.

Bahkan ada penyedia middleware untuk Unity untuk memberikan solusi manajemen sprite yang lebih baik. Seperti manajer sprite 2 .

Tetrad
sumber
2
Sebenarnya saya sudah melakukan ini. Saya menemukan bahwa aspek 3D dari kesatuan meskipun cenderung menghalangi sejauh menyangkut antarmuka pengguna. Juga saya selalu membuat adegan tiruan yang tidak memiliki apa-apa selain kamera dengan script root saya terpasang. Saya akan memeriksa tautan yang Anda sebutkan!
Kevin Laity
20

SFML adalah mesin grafis platform silang yang modern, Berorientasi Objek, dan bagus. Ini adalah akselerasi perangkat keras (berdasarkan OpenGL), dan memiliki binding untuk

  • C ++
  • C
  • .Net (C #, VB.Net, C ++ / CLI, ...)
  • Python
  • D
  • Rubi
  • Ocaml
a_m0d
sumber
4
+1 untuk SFML. Ini hebat, tetapi satu-satunya masalah adalah kurangnya port iphone.
Bebek Komunis
12

SDL, Allegro, OpenGL
SDL dan Allegro tidak hanya lib grafis, tetapi lib pengembangan game secara keseluruhan.
Satu sisi dari SDL adalah ia mengambil alih main Anda () dan mendefinisikannya kembali, membuatnya sulit untuk menggabungkannya dengan perpustakaan lain. (QT dalam pengalaman saya)
Hal buruk lainnya adalah bahwa SDL hanya memungkinkan satu jendela (ini adalah versi stabil 1.2, versi pengembangan tidak, tetapi belum sepenuhnya didukung atau didokumentasikan)
Saya dapat menyebutkan titik lemah SDL karena saya tahu yang terbaik dan bekerja dengannya, tetapi meskipun begitu, ini sangat kuat, banyak emulator, termasuk port Mame dan ScummVM, serta game yang menggunakannya.
OpenGL, meskipun menggunakan 3D yang populer, adalah perpustakaan grafis, dan dengan demikian, juga memungkinkan grafik 2D melalui manipulasi tingkat piksel permukaan, dan membuat penggunaan luas akselerasi perangkat keras baik dalam 3D maupun 2D.

rev Petruza
sumber
Saya gunakan untuk membuat game di Allegro sepanjang waktu. Menyukainya.
Nada
Qt tidak mengambil alih main, bahkan dengan loop acara di QCoreApplication. Anda dapat memanggil qApp-> processEvents di setiap loop yang Anda inginkan dan Qt akan senang.
Mircea Chirea
1
Apakah SDL harus mengambil alih loop utama Anda? Saya pikir Anda bisa menghindarinya dengan tidak memasukkan SDLmain.h dan berhati-hati untuk melakukan hal-hal itu sendiri ...
Ricket
2
SDL tidak mengambil alih loop game utama Anda. Anda biasanya membuat sendiri, dan di dalam panggilan itu SDL_PollEvent untuk mendapatkan acara yang diketahui SDL (input keyboard, gerakan mouse, dll).
dcarrigg
6

Anda dapat melihat Troll2D

Box2D digunakan untuk banyak platform. Termasuk iPhone. Tetapi Anda harus menemukan cara untuk menampilkan objek-objek itu. Karena Box2D hanya menangani simulasi fisika 2D.

Ólafur Waage
sumber
Olafur - Saya akan mengatakan Troll2D adalah jawaban Anda sehingga Anda harus mulai dengan itu. Box2d harus menjadi renungan.
Iain
5

LÖVE adalah mesin 2D yang memungkinkan pengembangan game dalam bahasa Lua dengan mudah dan cepat .

Ini berjalan di Mac (PPC dan Intel), Windows dan Linux (32 dan 64bit) dan gim-gim tersebut mudah didistribusikan sebagai file ".love" yang dijalankan dengan satu file.

Mereka pada dasarnya adalah versi zip dari gim Anda dengan ekstensi zip diganti namanya menjadi love .

Sayangnya, tidak ada port iPhone (sejauh ini).

Linus
sumber
5

Cocos2D berasal dari Mac / Windows dengan Python dan tersedia dalam rasa Objective-C di bawah iPhone . Ini populer dalam pengembangan game iPhone 2D. Ray Wenderlich memiliki beberapa tutorial Cocos2D untuk iPhone .

Karena mereka pindah dari Python ke Objective-C, saya menduga Anda tidak akan dapat melakukan kompilasi silang antara semua platform lagi dari basis kode yang sama.

Joost Schuur
sumber
Benar, ada banyak port cocos2d tetapi semuanya menggunakan bahasa mereka sendiri. Objective-C untuk iPhone, Java untuk Android, Javascript untuk Web, Python untuk versi PC asli, dan C ++ untuk port Windows baru yang mungkin atau mungkin tidak mendukung Windows Mobile (tidak jelas tentang itu). Selain filosofi nama dan desain, keduanya tidak dapat saling dipertukarkan.
LearnCocos2D
Saya pikir Cocos2d-x sekarang cukup stabil dan lintas platform, dengan satu bahasa implementasi: C ++ (termasuk iPhone juga).
legends2k
4

Jika Anda tidak khawatir tentang iPhone, selalu ada Flash yang dikemas sebagai UDARA - Anda kehilangan iPhone tetapi Anda mendapatkan Linux dan penyebaran web. Anda kemudian dapat memilih mesin game / fisika / rendering yang sesuai dengan proyek Anda, mis. FlashPunk, Flixel, Box2d.

Iain
sumber
Anda juga mendapatkan dukungan ponsel Android (setidaknya yang lebih baru), dan mungkin juga dukungan Palm / Blackberry / Windows Mobile di masa depan.
davr
iOS sekarang didukung sedangkan Linux tidak.
Danik
4

Anda bisa mencoba Mesin Angel . Ini didasarkan pada C ++, OpenGL, Box2D, dan menggunakan Python untuk skrip. Sebagian besar untuk prototyping, tetapi versi terbaru tampaknya fokus untuk membuat game penuh.

Carnby
sumber
3

torque2D mendukung PC dan mac di luar kotak. ITorque2D mendukung penyebaran ke iphone. Ini juga memungkinkan untuk mendapatkan penyebaran konsol.

Cubed2D
sumber
2

PlayN mendukung HTML5, Android, iOS, Flash dan desktop Java.

Anda menulis kode di Java dan menangani konversi kode Java ke JavaScript (melalui GWT) untuk HTML, ke perakitan ARM (melalui IKVM untuk beralih dari Java bytecode ke CLR bytecode, lalu MonoTouch untuk mengkompilasi bytecode CLR ke aplikasi iOS asli), ke ActionScript melalui backend GWT khusus yang menghasilkan ActionScript alih-alih JavaScript, dan ke Android dan desktop Java tanpa konversi.

samskivert
sumber
2

Moai SDK adalah kerangka kerja yang dapat dijalankan * pada platform ini. Ini adalah open source jadi periksa repo github mereka .

Moai juga dapat dipublikasikan ke Google Chrome dan Android.

* Saya tidak berpikir penerbitan adalah untuk mac atau windows (yaitu ke .app atau .exe) tersedia saat ini tetapi dapat ditambahkan.

pengguna14992
sumber
1

Haxe + NME mendukung HTML5, Flash, Android, iOS, Blackberry, Windows, Mac, Linux, WebOS. Ini mendukung grafis 2D (bitmap sprite, gambar vektor, plus efek seperti drop shadow dan blur).

amitp
sumber
0

Saya telah mendengar banyak tentang MonoTouch belakangan ini untuk orang-orang yang melakukan pengembangan iPhone dan iPod touch. Kerangka ini di atas Mono, yang sudah lintas platform yang kompatibel.

mikeschuld
sumber
Sayang sekali ini melanggar perjanjian toko iTunes, karena Anda menulis sesuatu yang bukan C / C ++ / ObjC, dan menggunakan lapisan terjemahan. Anda mungkin masih disetujui, tetapi mereka bisa menarik Anda di masa depan. Secara pribadi saya tidak akan mengambil risiko.
davr
@davr monotouch tidak melanggar ketentuan perjanjian pada> 1 tahun yang lalu.
dodgy_coder
@dodgy_coder Ya saya ingat ketika Apple akhirnya mengeluarkan aturan terbelakang itu (yang bertujuan hanya untuk merugikan Adobe, saya percaya). Komentar asli saya benar pada saat saya mempostingnya :)
davr
-1

Unity3d adalah alat dan mesin pengembangan game 2d terbaik. sebagai alternatif, monogame. html5 dan flash tidak sesuai untuk topik ini. sudah flash mati.

zihnibabuz
sumber