Di mana harus mulai dengan pengembangan game? [Tutup]

65

Saya menanyakan hal ini sebelumnya di utas ini di stackoverflow.com. Salah satu komentar awal mengarahkan saya di sini ke gamedev.stackexchange.com, jadi saya melakukan reposting di sini.

Mencari pertanyaan terkait Saya menemukan sejumlah pertanyaan yang sangat spesifik, tetapi saya khawatir spesifikasinya terbukti tidak berhasil bagi saya dan setelah 4 jam di Google saya tidak lebih dekat dari yang saya mulai, jadi saya merasa menjangkau komunitas mungkin dalam urutan.

Pertama, tujuan saya: Saya belum pernah membuat permainan sebelumnya, meskipun saya sudah bingung tentang kemungkinan beberapa kali. Saya memutuskan untuk akhirnya duduk dan mulai belajar cara membuat kode game, menggunakan mesin game, dll. Semua sehingga suatu hari (mudah-mudahan segera) saya akan dapat membuat game fungsional (walaupun sederhana). Saya dapat mulai menambahkan kompleksitas nanti, untuk saat ini saya akan senang memiliki kamera yang dikendalikan keyboard yang bergerak di dunia 3D tanpa interaksi di luar itu.

Latar belakang saya: Saya telah bekerja dalam beberapa bahasa pemrograman BEBERAPA mulai dari PHP hingga C ++ ke Java ke ASM. Saya tidak takut dengan tantangan yang datang dengan mempelajari sintaks baru atau batasan yang melekat dalam bahasa baru. Semua pengalaman pemrograman saya di masa lalu, bagaimanapun, telah benar-benar non-grafis dan biasanya dengan sedikit atau interaksi yang sangat sederhana selama eksekusi. Saya telah membuat algoritma yang luas dan brilian untuk memecahkan masalah logis dan matematis serta masalah grafik. Namun dalam setiap kasus input didefinisikan dalam file, melewati formulir formulir HTML, atau diketik ke konsol. Interaksi real-time dengan pengguna adalah sesuatu yang saya tidak punya pengalaman.

Pertanyaan saya: Di mana saya harus mulai mencoba membuat game? Lebih baik lagi- di mana saya harus mulai mencoba menciptakan lingkungan 3D yang dapat dilewati papan tombol? Dalam pencarian online, saya menemukan beberapa sumber daya yang menghubungkan mesin game, mesin grafis, dan mesin fisika. Berikut ini ringkasan singkat pengalaman saya dengan beberapa mesin yang saya coba:

Unreal SDK: Video tutorial mengasumsikan bahwa Anda sudah memiliki pengetahuan mendalam tentang pemodelan 3D, mesin grafis, animasi, dll. Halaman "Persiapan" tidak menawarkan penjelasan formal tentang pengembangan game, tetapi melompat ke bagaimana Unreal dapat merampingkan proses yang diasumsikan Anda. sudah terbiasa. Setelah mengunduh SDK dan meluncurkannya untuk melihat apakah alat itu seintuitif yang mereka klaim, saya disambut dengan sekitar 60 tombol dan kekosongan kosong untuk pemodelan 3D saya. Mengklik "tambahkan volume" (untuk mencoba menambah kubus dasar) saya bertemu dengan menu 30 pilihan. Karena panik, saya menutup editor.

Crystal Space: Situs web ini kelihatannya agak informatif, menjelaskan bahwa Crystal Space hanya untuk grafik dan perangkat lunak pendampingnya, CEL, menyediakan logika entitas untuk membuat game. Sebuah game demo disediakan, yang dibangun menggunakan "CELStart", alat sederhana mereka untuk orang-orang yang tidak memiliki pengetahuan pemrograman game. Saya meluncurkan game untuk melihat apa yang mungkin ingin saya ciptakan. Membeku beberapa kali, menunya buggy, ada ribuan gangguan grafis, musuh tidak merespons kerusakan, dan ketika saya menutup permainan itu terkunci. Menyerahkan mesin itu.

IrrLicht: Tutorial ini mengasumsikan saya memiliki Visual Studio 6.0 (Saya punya Visual Studio 2010). Mengikuti instruksi mereka, saya tidak dapat mengimpor perpustakaan dengan benar ke Visual Studio dan tidak dapat memanggil salah satu fungsi yang mereka terus gunakan. Menyalin file header, file kelas, dan DLL secara manual ke folder proyek saya - proyek gagal dikompilasi dengan benar.

Jelas saya bukan awal yang baik dan saya akan berputar-putar. Bisakah seseorang mengarahkan saya ke arah yang benar? Haruskah saya mulai dengan mengunduh program seperti Blender dan mempelajari pemodelan 3D, atau haruskah saya belajar cara menggunakan mesin grafis? Haruskah saya mencari mesin permainan yang inklusif, atau lebih baik mencoba dan membuat kode logika permainan saya sendiri? Jika ada yang benar-benar membuat game sendiri, saya lebih suka mendengar bagaimana mereka memulai permainan mereka.

Juga mengambil kelas di sekolah saya bukanlah pilihan. Tidak ada yang ditawarkan.

stevendesu
sumber
3
+1 Latar belakang pemrograman yang baik mencari kebutuhan spesifik.
Will Marcouiller
6
+1, ini adalah pertanyaan yang dipikirkan dengan matang dan diteliti tentang cara memulai pengembangan game. Juga, saya merasakan sakit Anda tentang Unreal SDK.
James
Saya merekomendasikan memeriksa tutorial Raven67854 untuk UDK. Mereka terdaftar di bawah video, orang-orang sepertinya menyukainya.
Jesse Dorsey
Saran saya adalah mulai membuat sesuatu. Biasanya orang yang mengajukan pertanyaan semacam ini ingin membuka jalan mereka secara linear (karena saya pernah mengajukan pertanyaan yang sama). Namun, dari pengalaman masa lalu saya, kurva belajar pengembangan game adalah kurva non-linear. Saya biasanya pindah dari masalah ke masalah --- jika saya macet, maka saya meminta / mencari jawaban. Karena itu, cobalah saja hal-hal, belajarlah dari coba-coba. Biasanya saya mulai dengan tutorial. Namun, tutorial ini tidak pernah memberikan detail yang cukup, jadi saya harus bertanya / mencari / mencoba jawaban.
user1542

Jawaban:

38

Saya telah mengajukan pertanyaan seperti itu ketika saya bergabung dengan GD. Berikut adalah beberapa tautan yang mungkin menarik bagi Anda yang saya harap akan memandu Anda menuju tujuan Anda.

Singkatnya, saya akan pergi XNA Game Studiountuk menguasai pengembangan game. Kemudian, bergerak maju ke apa yang ingin Anda capai sebagai ilmu / teknologi. XNAmengajari saya tentang bekerja dengan sprite, dan memungkinkan saya untuk menerapkan beberapa pengetahuan saya sejak awal kurva belajar saya sehingga saya bisa mendapatkan pemahaman yang cukup cepat untuk memahami bagaimana saya harus merancang permainan saya untuk menggunakan kelas sambil bekerja dengan injeksi ketergantungan dan sebagainya. Jadi, saya membuat Anda tidak menunggu lagi.

  1. Di mana mulai menulis game, tutorial atau sejenisnya?
  2. Apa dasar-dasar pengembangan game? (Pertanyaan menarik, IMHO)
  3. Memisahkan fisika dan logika game dari kode UI
  4. Memindahkan sprite saya di XNA menggunakan kelas

Mengapa XNA akan Anda tanyakan? Hanya karena latar belakang Java Anda. XNA menggunakan C # yang mirip dengan Java pada beberapa cara, dan juga kerangka kerja sederhana untuk menggunakan abstrak dari Game Loop dan hal-hal lain sehingga Anda dapat berkonsentrasi pada apa yang penting.

Saya benar-benar berharap ini akan membantu Anda memulai. =)

Will Marcouiller
sumber
1
Maaf atas tanggapan yang tertunda =) Saya membaca setiap posting yang Anda arahkan saya ke (Juga, salah satu posting yang terhubung ke halaman MSDN tentang membuat game 3D dengan XNA, yang membuat saya tertarik karena halaman mesin game XNA awalnya tampak seperti itu hanya untuk game 2D). Saya pasti berpikir ini adalah titik awal yang baik. Terima kasih. Saya akan mengunduh XNA malam ini dan pergi tidur, semoga besok saya bisa mencoba membuat Pong atau apalah.
stevendesu
@ Seven: Tidak masalah! Saya memposting jawaban ini untuk membantu pengembang yang antusias sama seperti saya yang meminta panduan! Saya sangat berharap Anda akan menikmati melakukannya! Tantangan pertama dan masih saya adalah untuk mengembangkan permainan sederhana seperti Arkanoid di mana saya harus bekerja dengan cara saya untuk deteksi tabrakan sambil menulis kelas saya satu untuk setiap pesawat ruang angkasa, bola energi dan batu bata. Kemudian, Game1kelas saya digunakan sebagai pengontrol permainan, yang menurut saya adalah kelas yang akan mengontrol dan memberi tahu kelas lain apa yang harus dilakukan, dll. Saya menjelaskan sedikit aspek ini tautan # 4 dan # 5.
Will Marcouiller
Saya mungkin akan mengajukan pertanyaan lain segera (besok) xx Mengunduh XNA Game Studio 4.0, memasangnya .... Dan tidak ada instruksi yang jelas untuk apa yang harus dilakukan selanjutnya. Seluruh situs web resmi XNA hanya mengatakan "buat game untuk Windows Phone 7" semuanya - tidak ada artinya membuat game untuk Windows. Saya akan mencari tahu di pagi hari atau bertanya di sini jika saya tidak bisa. Waktu tidur =)
stevendesu
1
Buat proyek baru menggunakan Visual Studio, lalu, pilih XNA di suatu tempat Anda dapat memilih jenis proyek. Lalu, mulailah membuat game untuk windows! Template proyek game XNA Anda (proyek baru) akan dikompilasi dan dijalankan di Windows secara asli. XNA adalah perpustakaan Microsoft untuk pengembangan game, dengan demikian, Anda dapat mengembangkan game untuk Windows dan XBox.
Will Marcouiller
1
Demi masa depan, perlu ditunjukkan bahwa XNA pada dasarnya sudah usang, tetapi Monogame tetap hidup. Sebagian besar, kode yang sama akan berfungsi.
Magus
8

Anda dapat mencoba Unity 3D , karena

  • itu dapat diprogram dalam JavaScript, C # atau Boo
  • ini memiliki tutorial yang bagus di sini
  • kurva belajarnya tidak terlalu curam
  • ada Jawaban Persatuan , tempat Anda menemukan lebih banyak sumber daya.

(Penafian: Saya sama sekali tidak terkait dengan pembuat Unity, saya hanya menggunakannya sendiri dan menemukan itu alat yang hebat untuk mempelajari dasar-dasarnya).

Tapi ya - Anda mengatur diri Anda untuk beberapa tugas. Saya sekarang di semester 6 saya belajar desain game, dan saya masih merasa seperti tidak tergores lebih dari permukaan. Tidak heran industri memiliki spesialis untuk hampir setiap aspek dari proses pembuatan game.

Sunting: Ada komentar tentang Unity yang dilihat sebagai bukan mesin permainan yang "tepat", yang bisa disalahpahami seperti yang saya katakan - karena itu memunculkan komentar di bawah ini. Bukan maksud saya untuk menyarankan bahwa Unity tidak dapat digunakan untuk melakukan desain game yang tepat, sebaliknya. Saya menggunakannya sendiri, dan saya menyukainya. ;)

xeophin
sumber
3
Apa yang tidak pantas tentang itu?
lathomas64
Saya juga ingin tahu.
Jesse Dorsey
Mungkin fakta bahwa (seperti Flash atau Java) memerlukan program wadah untuk dijalankan, jadi ia menganggapnya "tidak layak" karena tidak dapat dikompilasi dan didistribusikan ke khalayak luas tanpa kerumitan? Either way, saya sedang mencari XNA sekarang. Saya dapat memeriksa Unity3D jika XNA terbukti terlalu sulit.
stevendesu
Yah, saya mendengar orang mengatakan bahwa untuk desain game yang "tepat", Unity tidak harus dianggap serius. Seperti yang dikatakan sebelumnya - Saya menggunakannya sendiri, dan saya cukup senang dengannya. Dalam beberapa kasus, Unity hanya membuat berbagai hal mencurigakan menjadi mudah, saya kira ...;) Saya hanya melakukan lindung nilai, karena saya tidak tahu bagaimana orang akan bereaksi di sini untuk menyebut Unity. Mungkin itu yang menyebabkan downvote?
xeophin
@steven_desu: Sebenarnya, Anda hanya perlu program wadah untuk pemain web. Game yang dikompilasi untuk dijalankan di Windows atau Mac sepenuhnya mandiri.
xeophin
2

Nah jika Anda memiliki masalah dengan irrlicht, Anda juga harus mencoba Ogre3D; itu tidak mudah, tetapi mungkin bekerja lebih baik jika Anda meluangkan waktu ke dalamnya. Hal penting yang harus Anda pahami adalah apa itu framelistener, cara mendapatkan waktu sejak frame terakhir ditampilkan, dan itu cukup banyak satu-satunya hal yang harus Anda pahami jika Anda ingin membuat aplikasi ini yang sedang Anda bicarakan.

Saya juga mengalami beberapa kesulitan dengan irrlicht, tutorialnya tidak terlalu terkini, tetapi Anda harus mencoba sampelnya!

Saya juga banyak berlari di lingkaran di awal, bermain-main dengan panda3d dan hal-hal lain seperti pygame dll. Cobalah untuk fokus pada beberapa ide permainan dan menerapkan satu hal pada satu waktu.

Dan cobalah untuk mengingat beberapa matrik matematika, itu akan ada gunanya dalam 3D!

jokoon
sumber
2

Saya baru saja memulai pengejaran yang sama seperti Anda. Saya bertemu dengan mesin java murni yang disebut jMonkeyEngine yang telah menuntun saya melalui serangkaian tutorial yang fantastis. Saya tidak tahu apakah itu benar-benar menjelaskan desain game ke tingkat yang luas tetapi itu membantu Anda memulai di bagian grafis.

Ini menyarankan / tautan ke alat-alat yang mungkin Anda gunakan untuk pemodelan dan memiliki contoh-contoh yang dapat disalin dan ditempel dengan baik untuk membantu Anda dengan meletakkan kotak di layar untuk menyiapkan mesin fisika.

Pasti layak dibaca - saya punya ide bagus tentang apa yang saya lakukan setelah hanya beberapa jam.

Brian
sumber
Tutorialnya patut dibaca bahkan jika Anda tidak menggunakan mesin. Ada juga tutorial bagus tentang beberapa matematika 3D.
DMan
2

Anda harus benar-benar mencoba Flixel http://flixel.org/ Saya membuat game "demo" pertama saya menggunakan flixel. Komunitas yang bagus, tutorial yang bagus.

Ini bukan 3D tetapi memiliki banyak fitur bagus yang membuat langkah pertama Anda ke dalam lingkungan pemrograman game mudah.

Sedemikian rupa: Menampilkan ribuan objek bergerak
Tabrakan dasar antar objek
Mengelompokkan objek bersama-sama untuk kesederhanaan
Menghasilkan dan memancarkan partikel dengan mudah
Membuat level game menggunakan tilemaps
Tampilan teks, simpan game, gulir
input mouse & keyboard Input
matematika & utilitas warna

Dan gratis untuk penggunaan komersial, yang luar biasa.

pengguna9471
sumber
1

Jika Anda belum pernah bekerja dengan grafik sama sekali. Sebelumnya, pelajari saja open gl atau direct x adalah awal. Saya memprogram game pertama saya dengan cara itu. Engine perusahaan kami ada di rumah dan sebagian besar sistem mendukung gl terbuka dalam beberapa bentuk. Saya belajar sambil mencari kode yang ditulis sebelum saya mulai bekerja. Anda mungkin ingin melihat beberapa proyek sumber terbuka untuk melihat bagaimana struktur game diatur dan mulai memodifikasi mereka sampai Anda merasa nyaman memulai hal Anda sendiri. Saya juga menyarankan "Game coding complete" sebagai referensi yang bagus untuk semua bagian kecil dari pemrograman game yang tidak Anda sadari, seperti struktur file yang tepat dan manajemen sumber daya.

pengguna5877
sumber
1

Coba Sumber Mesin . Sangat mudah untuk mengembangkan game di dalamnya dan Anda bisa mendapatkan platform distribusi (Steam) dan menjual game Anda secara gratis jika Anda menandatangani perjanjian dengan Valve Corportaion.

Triang3l
sumber
1

Saya akan merekomendasikan memulai dengan game flash, karena Anda benar-benar memiliki semua yang Anda butuhkan dalam satu paket untuk membuat game sederhana. Ada banyak blog dengan penelusuran, misalnya Emanuele Feronato . Dia bahkan memiliki buku dengan 10 game lengkap atau lebih.

Saya telah menggunakan FlashDevelop, yang cukup untuk pengembangan.

"Menciptakan Asteroid Flash Game" karya Chris Moeller adalah contoh yang sangat bagus, dengan pendekatan langkah demi langkah lengkap menggunakan pengembangan flash.

Untuk game berbasis Tile, ada tutorial yang sangat bagus di Ironcoding .

Berbekal semua itu, rekomendasi saya adalah untuk menemukan tempat di mana ada tantangan video game, dengan komunitas orang membangun game. Buat satu video game sebulan, dengan fokus pada sesuatu yang kecil yang bisa Anda selesaikan, poles, dan sajikan sebelum melanjutkan ke proyek Anda berikutnya. Saya berpartisipasi dalam tantangan gim video bulanan di sini .

Pertahankan ukurannya kecil agar Anda bisa menyelesaikannya dan melepaskannya.

NetSquirrel
sumber