Saya ingin mengunduh kode sumber game Open Source, jadi saya bisa mengenal arsitektur game. Apakah ada yang tahu permainan dengan kode sumber yang dapat dibaca, dan mudah dimengerti?
Sunting: Setelah beberapa pemikiran, saya ingin membuat game yang dapat dimainkan di desktop atau ponsel Android dengan grafis 2D.
architecture
open-source
source-code
jumpnett
sumber
sumber
Jawaban:
Saya tidak yakin jenis permainan apa yang Anda minta tetapi ada permainan opensource bernama OpenTTD yang ditulis dalam c ++. Saya pikir Anda bisa menggunakannya sebagai sampel yang bagus.
beberapa fitur yang membuat game ini unik:
--Edit--
Baru hari ini saya sudah mulai membaca kode mereka dari awal. Untuk memahami apa yang telah mereka tulis, Anda harus menjadi programmer C dan C ++ yang layak (meskipun kode mereka dikomentari dengan baik)! Maksud saya, Anda harus menguasai kedua bahasa karena mereka menggunakan struktur dari keduanya! jadi jika Anda tidak cukup percaya diri tentang keterampilan pemrograman Anda, jangan mendekati kode itu! itu kode paling kotor yang pernah saya lihat! (dan saya sendiri seorang programmer yang kotor tetapi mereka adalah sesuatu yang lain!)
Saya pikir sekarang saya dapat menyarankan Anda memeriksa kode supertux . itu adalah permainan platformer (seperti super mario) dan sejauh ini kodenya tampak sangat bersih (saya telah memeriksa tonggak sejarah 1.3). mereka memiliki beberapa komentar dalam kode itu tetapi hanya untuk tempat-tempat yang mungkin membuat Anda bingung.
sumber
Saya pikir mungkin pendekatan yang baik adalah memilih game yang Anda suka dan memeriksa game open source seperti itu. The Open source klon permainan daftar mungkin bisa membantu dengan langkah terakhir, banyak.
sumber
Ada andalan seperti Quake 3 atau jika Anda menginginkan sesuatu yang lebih sederhana (dan dalam 2D) lihatlah game indie Gish . Keduanya menggunakan OpenGL dan juga cross-platform.
Gish agak sedikit berantakan.
sumber
Saya sarankan Anda terlebih dahulu mempersempit fokus Anda tentang jenis arsitektur game yang Anda tertarik pelajari - 3d pipeline, fisika, AI, dll.
Dengan permintaan umum untuk contoh pemrograman game yang bagus, saya pikir space invaders gl sulit dikalahkan karena memiliki kode bersih dan permainan terbuka serta antarmuka permainan yang terbuka sambil menjaga hal-hal yang cukup sederhana.
Bersulang
sumber
Meskipun membaca kode bisa bermanfaat, jika Anda seorang pemula di domain, Anda tidak akan belajar apa pun. Terutama jika Anda melihat kode proyek besar seperti Q3A atau OpenTTD. Itu dibuat oleh seluruh tim, dengan masing-masing orang memiliki praktik pengkodean yang berbeda, gagasan berbeda tentang cara membuat sesuatu. Anda hanya akan mendapatkan gambaran besar, bukan detail kecil yang membuat semuanya tetap bersatu.
Kembangkan, gagal, coba lagi sampai Anda menemukan sesuatu yang tampaknya baik, gagal lagi, bilas dan ulangi sampai Anda memiliki sesuatu yang baik. Pengembang berbeda berarti ide berbeda tentang cara mengimplementasikan barang. Hanya karena telah dikodekan oleh Carmack / Setiap pengembang terkenal yang telah membuat game yang bagus tidak berarti itu yang terbaik sejak memotong roti, dan implementasi yang berbeda mungkin lebih jelas dan lebih cepat.
sumber
Saya pikir salah satu hal paling penting yang dapat Anda lakukan adalah memilih permainan yang Anda sukai. Ini akan membantu Anda tetap tertarik padanya dan akan membuat Anda lebih terbiasa dengan bagaimana kode itu sendiri diterjemahkan ke dalam perspektif pemain.
Setelah memilih gim itu, berapa pun besarnya, Anda tidak perlu mencoba mencari tahu bagaimana setiap baris kode bekerja. Ambil sepotong dan lihat itu. Misalnya, coba cari tahu bagaimana data pemain disimpan atau bagaimana item menu diambil, dll.
Hal berikutnya yang dapat Anda lakukan, yang sejalan dengan bit saya sebelumnya, adalah mencoba mengubah sesuatu. Bukan sesuatu yang besar (pada awalnya), hanya sesuatu yang sederhana dan nyata dalam game. Bahkan sesuatu yang sederhana seperti teks pada tombol pada menu atau menambahkan item menu atau mengubah perhitungan kerusakan. Mungkin Anda berpikir mereka seharusnya melakukan sesuatu yang berbeda, cobalah mengubahnya sendiri.
Ketika saya pertama kali tertarik mengembangkan game, saya benar-benar menyukai RPG online 2D. Jadi saya menemukan sumber untuk satu online dan saya mulai membangunnya. Menambahkan fitur saya sendiri dan memperbaiki hal-hal, memperbaiki bug, dll. Itu di VB6 beberapa tahun yang lalu dan sekarang saya menggunakan C # dan XNA dan menulis permainan saya sendiri dari awal. Karena saya menikmati permainan, itu memotivasi saya untuk ingin mengerjakannya, untuk membuatnya lebih baik. Secara kebetulan, ini juga bagaimana saya belajar banyak teknik pemrograman, debugging dan pemecahan masalah yang saya gunakan hari ini di pekerjaan harian terkait non-gamedev saya.
Ini juga sangat membantu jika gim ini memiliki komunitas modders yang dapat Anda ajukan pertanyaan dan mendapatkan bantuan serta contoh. Tetapi sekali lagi, bahkan jika itu tidak ada, Anda sudah ada di sini dan kami siap membantu.
sumber
Game platform 2D Android open source yang menonjol adalah Replica Island .
The sumber adalah di Google Code dan pengembangan itu dicatat dalam penulis blog dev .
Berikut daftar 15 game sumber terbuka untuk Android yang juga bisa berguna untuk dilihat.
sumber
Lihatlah penumbra . Sepertinya tempat yang tepat untuk belajar.
sumber
The Scrolling Game Development Kit 2 memungkinkan Anda untuk benar-benar membuat 2D game dan bermain mereka menggunakan GUI tanpa menulis kode. Tetapi juga memungkinkan Anda untuk melihat dan mengedit kode yang tertanam dalam proyek yang mewakili kerangka / mesin di balik permainan. Sebagian besar kode diekspos melalui GUI, meskipun sebagian kecil dari itu dihasilkan kode berdasarkan tempat Anda meletakkan sprite dan peta apa yang Anda buat. Namun bahkan kode ini terlihat jika Anda menghasilkan proyek dan kemudian buka file yang dihasilkan dalam Visual C # Express. Seluruh program (IDE) itu sendiri juga open source. Itu dibangun di perpustakaan OpenTK (yang digunakan untuk berinteraksi dengan OpenGL dari C #), yang juga merupakan open source.
sumber