Jawaban:
Breakout
Gim yang mudah karena Anda tidak perlu khawatir (ini adalah susunan nilai bata - jika Anda hanya memiliki satu warna bata, ini adalah susunan bendera), tidak ada AI, dan Anda bisa melakukan sedikit fisika untuk membuat bola memantul dengan benar.
Solitaire
Aturannya sedikit lebih kompleks daripada Breakout dan antarmuka untuknya jauh berbeda. Ini memaksa Anda untuk berpikir tentang berbagai metode penerapan permainan. yaitu, apa yang berhasil di satu game belum tentu apa yang akan Anda gunakan di game lain.
Pac-Man
Yang ini bagus karena Anda bisa mengerjakan sedikit AI. Memiliki hantu mengikuti pemain (tetapi tidak terlalu baik - Anda ingin pemain memiliki kesempatan) dapat dengan cepat dilaksanakan, dan Anda akan memiliki permainan kecil yang menyenangkan yang dapat Anda tweak dan pamerkan ke teman dan keluarga (umpan balik positif selalu hal yang baik ketika Anda memulai).
Saya menemukan bahwa jika Anda mencari inspirasi dalam permainan video awal, Anda dapat menemukan banyak ide yang relatif mudah diterapkan. Selain itu, Anda dapat pergi dengan karya seni dan suara super sederhana karena Anda menyalin sesuatu yang begitu sederhana. Ini memungkinkan Anda untuk fokus pada hal-hal dasar terlebih dahulu - membuat loop game Anda aktif dan berjalan, mencari tahu cara mendapatkan piksel Anda ke layar, memainkan suara, menjaga skor, memasukkan input pemain ke dalam game.
Hampir benar-benar tidak masalah permainan mana yang Anda pilih pertama - pastikan Anda memilih sesuatu yang sederhana yang dapat Anda peroleh dengan cepat, dengan cara itu Anda dapat bergerak pada hari berikutnya dan membuat yang lain. Dan satu lagi. Dan lainnya - semakin banyak yang Anda hasilkan, semakin Anda akan mendorong diri sendiri, dan akhirnya Anda akan membuat game yang kompleks sebelum Anda menyadarinya.
Saya sangat merekomendasikan bahwa programmer pemula harus memulai dengan permainan paling sederhana yang sebenarnya ingin mereka tulis . Seperti yang disebutkan oleh Matt Rix, sebagian besar dari penulisan game vs demo mendorong hal-hal sialan sampai selesai - kredit, menu, uji coba, skor tinggi, jeda, uji coba, tingkat kesulitan, bersihkan transisi kondisi permainan, mainkan menguji, dll. Hal itu membutuhkan setidaknya setengah dari waktu yang akan Anda habiskan dan itu tidak menyenangkan. Bukan itu. Jadi, kecuali Anda menyukai konsep dan benar-benar termotivasi, Anda akan menyerah dan melanjutkan sebelum permainan adalah permainan .
Jika Anda ingin menulis RPG, cari konsep RPG paling sederhana dan paling mudah dikelola yang bisa Anda buat dan ingin Anda lakukan dan lakukan. Sama jika Anda ingin melakukan sci-fi shooter, atau platformer bertema horor, atau apa pun. Pilih sesuatu yang akan Anda selesaikan, yang masih ingin Anda selesaikan setelah semua kesenangan dilakukan tetapi Anda masih melihat lusinan jam kerja sebelum Anda benar-benar selesai.
Game terbaik untuk "mendapatkan sayapmu" dengan? Yang Anda selesaikan. Saya tidak peduli berapa banyak demo PONG / Breakout / Galaga / Tetris yang sudah setengah jadi yang telah Anda tulis, Anda bukan pengembang game sampai Anda telah merilis game yang benar-benar selesai.
Ditambah lagi, tidak ada yang mau memainkan versi lain dari game yang berusia 40 tahun itu, dan setidaknya beberapa poin dari penulisan game adalah untuk dimainkan orang , bukan?
Saya memposting tangga ini di TIGsource beberapa waktu lalu. Mulai dari yang sangat mendasar hingga yang sangat kompleks.
Aturan terpenting dalam mempelajari pemrograman game: belajar pemrograman itu sulit. Belajar desain game itu sulit. Mempelajari cara membuat seni permainan atau audio yang baik itu sulit. Mencoba melakukan semua hal ini pada saat yang sama adalah resep kegagalan. Pelajari satu hal sekaligus.
Konsekuensi: memprogram permainan di mana desain, seni, dan suara sudah dilakukan. Buat klon, bukan gim asli.
Di kelas saya, saya selalu merekomendasikan game ini untuk memulai, dalam rangka:
1) Tetris. Seni ini berwarna empat persegi panjang, yang bahkan dapat ditampilkan secara total oleh Microsoft Paint. Anda tidak butuh suara. Pemrogramannya relatif sederhana, tetapi masih memerlukan beberapa hal utama: memahami perbedaan antara kondisi permainan internal dan apa yang digambar di layar; bisa menggambar di layar, titik (mungkin melibatkan sprite dan blitting); bisa menerima input pengguna secara realtime daripada hanya menggunakan getch () atau scanf () di mana Anda harus menunggu mereka.
2) Breakout / Arkanoid. Seni masih berwarna persegi panjang, dan Anda masih tidak perlu suara. Menggunakan semua konsep dasar Tetris, ditambah beberapa deteksi tabrakan dasar dan fisika 2D karena bola harus bergerak dan melambung dengan lancar.
3) Gradius / Tipe-R. Anda mungkin dapat menemukan beberapa tilesets freeware untuk membuatnya. Di sini latar belakang sedang bergulir, jadi Anda harus belajar lebih banyak tentang cara kerja memori grafis, menggunakan teknik seperti membalik halaman dan buffering ganda dan menggambar hal-hal di luar batas layar yang terlihat. Anda juga cenderung memiliki musuh yang dinamis dan memunculkan peluru, jadi Anda harus belajar untuk membersihkan diri sendiri (yaitu menyingkirkan musuh dan peluru yang meninggalkan layar sehingga permainan Anda tidak membocorkan memori seperti saringan).
4) Super Mario Bros. Mirip dengan proyek gulir sebelumnya, kecuali gulir sekarang di bawah kendali pemain dan tidak otomatis. Anda juga harus berurusan dengan gravitasi dan semua hal tabrakan seru yang menyertainya (seperti tidak jatuh ke lantai hanya karena Anda beberapa piksel di atas dalam bingkai terakhir dan ingin pindah ke beberapa piksel di bawah di bingkai berikutnya) ). Juga perhatikan bahwa gravitasi bersyarat: itu mempengaruhi pemain dan beberapa musuh, tetapi biasanya bukan platform atau koin mengambang atau apa pun, yang sedikit berbeda dari dunia nyata.
Jika Anda dapat melakukan keempatnya, Anda harus dapat melakukan hampir semua game 2D yang Anda inginkan; semua alat ada di sana. Jika Anda ingin membuat game 3D ... pelajari 2D terlebih dahulu karena jauh lebih mudah dan Anda tidak perlu memahami matematika secara mendalam dan Anda perlu memahami hal-hal 2D ... dan kemudian ketika Anda nyaman dengan itu, mulai bekerja dengan beberapa alat 3D dasar (baik perpustakaan seperti Torque atau Unity, atau game open-source seperti Doom and Quake yang asli).
Semoga berhasil!
Sekarang ini adalah pertanyaan bagus yang sebenarnya. Saya tidak tahu di mana Anda berada, jadi saya akan berayun ke langit, dan menganggap Anda tidak pernah menulis sederet kode dalam hidup Anda. Potong bagian hidung apa pun yang menyinggung Anda, hingga menyalahgunakan frasa.
Saya pikir saya sebenarnya akan menjawab pertanyaan yang sedikit berbeda dari apa yang Anda tanyakan, dan saya akan memberikan contoh untuk memuaskan pertanyaan yang Anda ajukan di tempat. Alasan saya melakukannya dengan cara itu sedikit, tetapi saya percaya perbedaan yang signifikan dalam sudut pandang: itu tidak begitu banyak game spesifik yang penting, sebanyak pola pikir yang dibawa game-game itu kepada seorang desainer.
Anda tahu bagaimana orang berbicara tentang Anda seharusnya belajar berbagai bahasa pemrograman, untuk memakan pola pikir dan hati mereka dan hati mereka, dan dengan demikian mendapatkan kekuatan besar mereka? Ada kebenaran nyata untuk itu - setelah bahasa pemrograman murni atau hampir murni pertama Anda, bahkan dalam bahasa imperatif, Anda akan akhirnya menulis sebagian besar fungsi bebas efek samping karena mereka jauh lebih baik didefinisikan, dan semua yang Anda tulis bahkan dalam bahasa bukan bentuk itu akan lebih baik untuk itu. Tidak masalah apa bahasa itu - haskell, ml / ocaml / smlnj, formulaONE, templat c ++, apa pun - Anda masih akan belajar bagaimana melakukan banyak kelas pekerjaan tanpa mengandalkan status efek samping. Pertama kali Anda belajar bahasa pemrograman yang kasar dan dekat dengan mesin, Anda kita akan belajar tentang abstraksi tipe ukuran. Pertama kali Anda belajar bahasa deklaratif atau kendala, Anda akan belajar tentang batasan sebagai alat diskresioner. Pertama kali Anda mempelajari bahasa penelusuran yang mundur, Anda akan belajar berdoa Ia! Ia! C'thulhu F'tagn Nagn !, dan kemudian kita kembali makan hati dan hati, dan lingkaran kehidupan terpenuhi.
Desain game tidak berbeda. Anda tidak perlu belajar game tertentu, secara paralel dengan bahasa tertentu, melainkan mempelajari beberapa game representatif simbolik yang menangani pola pikir itu, seperti keluarga karakteristik bahasa. Juga, ada banyak hati dan hati makan. Dapatkan kerupuk lada.
Gag di sini (seperti yang saya lihat setidaknya) adalah bahwa Anda ingin membahas daftar besar topik. Ini seperti menandai keahlian pada lembar karakter - Anda membuat lebih banyak mekanisme untuk menangani situasi tertentu bagi Anda. Ya, mereka mampu level, tetapi memiliki satu atau dua poin dalam banyak hal yang Anda bisa di seluruh papan berarti bahwa ketika tiba saatnya untuk menggunakan satu, Anda tidak memulai dari awal, dan Anda tahu taktik apa yang tersedia bagi Anda untuk meningkatkan.
Jadi, lihat.
Pertama, Anda ingin memotong gigi. Ini juga berguna ketika Anda belajar menargetkan platform baru, atau ketika Anda sedang pulih dari amnesia. Ini dimaksudkan untuk menjadi cepat, tidak luar biasa.
Dalam urutan:
Setelah Anda melakukannya, Anda siap untuk menargetkan platform, dan pembelajaran dapat dimulai.
Ini tidak ada urutan tertentu. Anda dapat mengatur ulang sesuai keinginan Anda. Saya akan memberikan beberapa contoh dengan masing-masing, tetapi mereka tidak normatif; jika gim yang berbeda memberi Anda pengalaman yang sama, dan cukup kecil untuk menjadi bagian dari serangkaian pelajaran, jangan ragu untuk menukarnya. Untuk alasan praktis, sebaiknya mahir dalam merender layar dan input relatif cepat; Anda akan sering menggunakannya. Tunggu beberapa game sebelum mencoba menulis kelas abstraksi; Anda tidak ingin terjebak dalam abstraksi yang naif.
... eh Aku bosan.
Tetris
Gim yang sangat umum, banyak klon sumber terbuka di luar sana yang akan rusak jika Anda buntu. Mengajarkan dasar-dasar grafik 2D, penanganan input, penilaian, dll.
Kemudian ambil ide orisinal ini dan putar. Saya belajar dasar-dasar grafis 3D / OpenGL dengan menulis versi 3D Tetris untuk kelas grafis komputer saya di perguruan tinggi.
GameDev.net memiliki artikel bagus yang merekomendasikan perkembangan game untuk belajar tentang pengembangan game secara bertahap. Saran favorit saya dari daftar adalah untuk benar-benar memoles permainan ini. Selesai total, ke keadaan yang bisa dirilis.
Daftarnya adalah sebagai berikut (beberapa di antaranya telah diberikan dalam jawaban lain):
Saya suka memulai semua orang dengan Monopoly. Saya biasanya menggunakan monopoli "kode kata" dari Brett Schuchert sebagai dasar dari latihan ini, tetapi saya menambahkan banyak ke dalamnya. Ada beberapa alasan mengapa saya sangat suka melakukan ini.
Saya sangat peduli tentang praktik pengkodean yang baik (pola desain, TDD, SOLID, integrasi berkelanjutan, dll.) Dan menempatkan banyak kendala pada pengembang saya ketika mereka melakukan latihan ini.
Hampir semua orang tahu aturan Monopoli, dan seluruh permainan bisa diselesaikan dalam satu hari. Ini memberi pengembang baru kemenangan cepat dan benar-benar meningkatkan keterlibatan mereka.
Persyaratan awal dimulai dengan kontrol keyboard, tetapi kemudian saya menambahkan persyaratan untuk kontrol mouse nanti. Hal ini membuat pengembang memikirkan beberapa hal, bagaimana cara memperbaiki kode yang ada, memprogram bagian-bagian yang berubah dari sistem menjadi antarmuka alih-alih kelas-kelas konkret, abstraksi yang lebih baik / tepat, tes apa yang harus dilakukan, uji unit, tes unit apa, mengapa uji unit, dan apa membuat untuk tes unit BAIK.
Terkadang kita memasang AI yang lebih canggih, kadang tidak. Terkadang kami bekerja dengan permainan papan lainnya dengan logika yang sedikit lebih rumit seperti Chutes and Ladders atau sesuatu. Terkadang kita melepaskan diri sepenuhnya dari permainan papan, dan melakukan permainan poker atau selikuran.
Bagian yang sangat penting, bagi saya, adalah orang-orang mendapatkan kemenangan cepat, dan mereka melihat betapa fleksibelnya Anda dapat membuat perangkat lunak ketika Anda mengikuti standar pemrograman yang baik. Latihan-latihan ini membangun kepercayaan diri dengan sangat cepat. Kadang-kadang, pengembang yang lebih berpengalaman suka melakukan ini sendiri, hanya untuk mendapatkan istirahat dari proyek yang lebih rumit atau untuk mempraktikkan teknik baru yang baru saja mereka pelajari (hukum demeter?).
Pilih-Petualangan Anda
Dapatkan tip ini dari teman yang memulai pemrograman dengan membuat game, mirip dengan memilih buku petualangan Anda . Ini pada dasarnya adalah game petualangan teks sederhana dengan output seperti ini:
You are standing in a forest clearing in the middle of the night. You hear
some wolves howl in the distance. Should you:
a) make camp for the night
b) go further north
> _
Membuat game seperti itu akan mengajarkan Anda untuk membuat gameloop, input konsol dasar, dan skrip dasar. Ini sangat sederhana untuk diterapkan dan mudah bagi pemula untuk melompat karena Anda tidak memerlukan mesin grafis untuk menulis permainan. Pemula mahir mungkin akan menulis mesin scripting.
Dalam pengalaman saya dengan programmer pemula, progresi ini biasanya berlangsung seperti ini:
Breakout, Pong, atau Asteroid.
Ada perbedaan besar antara gim dan prototipe gim . Jika Anda serius untuk menyelesaikan game impian Anda, maka Anda harus menyelesaikan game "entry level" Anda. Membuat gameplay bagian dari permainan hanya setengah pertempuran. Semua hal-hal ekstra seperti menu dan skor tinggi sering diabaikan atau diabaikan, tetapi mereka mengambil lebih banyak waktu daripada yang diharapkan siapa pun.
Ada beberapa saran bagus di jawaban lain, tetapi saya hanya ingin memberikan suara saya untuk memilih: Mulailah dengan sesuatu yang tampaknya terlalu kecil untuk ditangani.
Pong adalah contoh yang bagus.
Tujuannya adalah: buat game-desain dan aturan-set begitu mati otak sehingga Anda dapat memusatkan semua perhatian Anda pada belajar hal baru yang Anda pelajari (bahasa, platform, API) dan tidak harus terus-menerus istirahat sejenak untuk mencari tahu bagaimana game ini bekerja.
Setelah Anda mulai, Anda akan menemukan bahwa pong sebenarnya sedikit lebih rumit daripada yang terlihat pada blush on pertama. (Saya mengajar seorang pria pemrograman dan dia menggunakan pong sebagai proyek pembelajarannya. Kami menambahkan beberapa fitur, dan sekarang dia semakin teralihkan dari belajar ke program dengan belajar bagaimana melakukan semua fitur keren ini :)
Setelah Anda selesai melakukan aplikasi # 1 hingga siap untuk memberikan / menjual kepada orang lain, MAKA mengambil sesuatu yang sedikit lebih rumit (Tetris, petualangan atau apa pun yang Anda suka) tetapi, untuk memulai mempelajari teknologi baru, buatlah hal yang Anda program sederhana mati otak.
Contoh lain:
Tetapi, sekali lagi - mulailah dengan sesuatu yang terlalu mudah, sehingga Anda dapat benar-benar menyelesaikan sesuatu dan melihat ke belakang dan melihat apa yang terlibat. Perbedaan antara telah menulis SATU aplikasi dalam bahasa / platform / SDK / engine dan memiliki aplikasi NOL yang ditulis adalah BESAR . Perbedaan antara 1 & 2, atau 2 & 5, jauh lebih sedikit, sehingga Anda dapat mengambil langkah yang lebih besar, tetapi membuat langkah 0 hingga 1 menjadi langkah yang sangat kecil; itu akan lebih besar dari yang Anda pikirkan!
Flappy Bird
-seperti. Sebagai seorang programmer profesional, ini adalah pekerjaan siang hari (yah, akhir pekan untuk mendapatkannya "bagus") tetapi, ketika mengajar program lain, kami belajar bahwa sebenarnya ada banyak komplikasi kecil. Sekali lagi, satu pengalaman yang jauh lebih banyak daripada nol dan, begitu Anda memilikinya, Anda akan memiliki gagasan yang jauh lebih baik tentang cara untuk maju.
Lihatlah situs web ini: 12 ide proyek permainan sains komputer
Beberapa dari permainan ini mencakup apa yang dikatakan orang lain seperti:
Tetapi juga berbicara tentang beberapa game lain yang bisa Anda coba buat seperti:
Selain itu, ini memberikan pengertian tentang apa yang harus Anda coba lakukan terlebih dahulu karena memberikan rasa kesulitan untuk setiap permainan (dan karenanya rencana bagaimana Anda harus menangani permainan):
Banyak orang mulai dengan Breakout karena fitur:
Bagian tersulit tentang menulis game - atau perangkat lunak apa pun - adalah mencari tahu apa yang harus dilakukan. Anda benar-benar membutuhkan spec! Itulah bagian yang menyenangkan tentang membuat tiruan dari gim yang ada: spek sudah ada. Spek Anda adalah "Produk harus melakukan semua hal yang dilakukan oleh Produk Lain," dan jika Anda memiliki salinan gim lainnya, maka cukup mudah untuk memverifikasi itu.
Setelah Anda mengetahui apa yang perlu Anda lakukan, cari tahu caranya melakukannya benar-benar tidak sulit jika Anda seorang programmer yang kompeten. Maksud saya bukan programmer yang terampil atau berpengalaman; itu menyiratkan bahwa Anda sudah tahu bagaimana melakukan sebagian besar dari apa yang Anda coba lakukan. Tetapi Anda perlu memahami cara berpikir dalam abstraksi dan memiliki keterampilan pemecahan masalah dan pemikiran logis yang mendasar untuk pemrograman. Jika Anda bisa melakukan itu, maka Anda bisa melakukan apa saja.
Karena itu, saya tidak setuju dengan apa yang dikatakan kebanyakan orang tentang mencoba belajar menulis game dengan menulis sesuatu yang sangat sederhana. Hadiah itu berbanding lurus dengan upaya yang Anda lakukan. Jika Anda belajar menulis game dengan menulis game yang benar-benar sederhana, yang Anda tahu pada akhirnya adalah bagaimana menulis game yang benar-benar sederhana, dan itu tidak akan banyak membantu Anda.
Di sisi lain, jika Anda memulai dengan sesuatu yang luar biasa, Anda tidak akan pernah menyelesaikannya. Jadi mulailah dengan sesuatu yang cukup menantang yang akan membuat Anda berurusan dengan masalah serius. Membangun RPG bergaya konsol 2D atau platformer gulir samping adalah cara yang sangat baik untuk mempelajari konsep pemrograman game nyata.
Itu benar-benar tergantung pada apa kompetensi Anda saat ini. Jika Anda relatif baru dalam pemrograman, maka pergilah dengan salah satu game spesifik yang disarankan orang. Jika tidak, Anda harus memikirkan jenis permainan apa yang memungkinkan Anda memanfaatkan pengalaman Anda dengan baik.
Ketika saya memulai game pertama saya, saya tidak memiliki pengalaman pengembangan game, tetapi saya telah melakukan pengembangan aplikasi enterprise / lini bisnis selama beberapa tahun. Proyek game pertama saya adalah game strategi berbasis giliran, dan secara arsitektur, itu tidak terlihat jauh berbeda dari aplikasi perusahaan. Itu menggunakan sistem klien / server, dan komunikasi terjadi melalui saluran layanan WCF duplex. Sebagian besar operasi pemain diantrekan sebagai "pesanan" dan dikirim ke server pada akhir pergantian. Semua proses belokan terjadi di server, setelah itu pembaruan game universe dikirim ke setiap klien.
Proyek pertama itu memberi saya jalan masuk ke pengembangan game sambil memulai saya di wilayah yang sudah dikenal. Seiring perkembangan proyek, saya belajar berpikir lebih seperti pengembang game dan kurang seperti pengembang aplikasi perusahaan. Hasil akhirnya bekerja cukup baik, dan itu sedikit lebih mengesankan daripada Battleship atau Tic-Tac-Toe :).
AI, Grafik, Gameplay, Kontrol yang relatif sederhana, dan mereka tidak harus memiliki efek suara atau musik kecuali jika Anda ingin menambahkannya. Saya mulai dengan keduanya ketika belajar bagaimana memprogram dalam QBasic untuk MS-DOS dan saya pikir mereka adalah game pertama yang bagus. Pac-Man akan menjadi pilihan saya yang lain.
Permainan gaya Moonlander sangat bagus (di mana Anda memiliki roket yang dipengaruhi oleh gravitasi, arah kendali pemain dan daya dorong, bahan bakar terbatas saat menggunakan daya dorong). Dapatkan pengalaman menerapkan fisika yang sangat sederhana dan sistem tumbukan bisa sangat primitif. Tidak perlu khawatir tentang AI dan yang paling penting menyenangkan dan membuat ketagihan :)
Sesuatu seperti Gauntlet, karena Anda memerlukan sistem entitas, AI musuh, pickup, ubin-peta, deteksi tabrakan, penilaian dll. Ini memiliki semuanya, tetapi tidak dengan cara yang luar biasa.
Klon Zelda mini bagus dan melatih beberapa keterampilan yang belum banyak disebutkan di sini. Menggulir peta besar ubin dan kontrol gerakan 8 arah yang sederhana itu baik untuk diketahui. Poin bonus jika kamu bisa melakukan musuh, tapi aku tidak akan terlalu khawatir tentang itu.
Saya telah membuat lebih dari beberapa klon Tetris. Setiap kali saya melakukannya saya melakukannya sedikit berbeda. Saat ini, saya biasanya membuat beberapa jenis klon asteroid. Saya juga telah membuat lebih dari beberapa spinoff Perintah Rudal.
Saya sudah mulai dengan permainan dasar permainan dan kemudian pindah ke menambahkan lebih banyak barang, power up dll .. untuk itu.
Saya selalu terbiasa memulai dengan game Tank / Gorillas / Worms. Ini membuat Anda berolahraga dalam tampilan grafis sederhana, dan membaca input pengguna, ditambah loop permainan menerapkan gravitasi ke proyektil dan menguji untuk deteksi tabrakan.
Setelah itu akan muncul game seperti platformer yang sangat sederhana atau shoot-em-up di mana Anda perlu membaca input pengguna secara real time, daripada pernyataan INPUT yang bekerja untuk Gorillas :)
Solitaire (atau benar-benar permainan kartu apa saja) adalah permainan yang bagus untuk membuat tangan Anda kotor dengan sistem UI baru, karena ini melatih banyak widget dan mekanisme umpan balik interaksi pengontrol yang perlu Anda gunakan. Ditambah logika untuk itu mudah dan tidak ambigu, sehingga Anda dapat berkonsentrasi pada pembelajaran dan tidak begitu banyak pada desain game.
Untuk permainan simulasi waktu nyata, saya selalu merekomendasikan Pong sebagai titik awal sederhana yang bagus, sekali lagi karena desainnya sederhana, serta antarmuka pengontrolnya, sehingga Anda dapat melihat daging dari sistem - simulasi fisik.
Saya selalu menegaskan bahwa jika Anda seorang programmer game, Anda harus dapat membuat beberapa bentuk Space Invaders . Heck, gim ini cukup sederhana sehingga Anda juga bisa membuat grafiknya sendiri.
Memiliki pilihan gim kecil dalam portofolio Anda sebagai manfaat tambahan karena cukup bermanfaat, misalnya, jika saya mempelajari bahasa atau kerangka kerja pemrograman baru, saya akan sering memasukkan salah satu gim sederhana saya untuk melihat bagaimana cara baru melakukan hal-hal yang cocok dengan cara aslinya ditulis.
Itu benar-benar tergantung pada keterampilan apa sebagai programmer reguler yang sudah Anda miliki. Apakah matematika Anda perlu bekerja? Pengetahuan grafis Anda? Apakah Anda memiliki keduanya tersembunyi?
Meskipun secara umum saya pikir Tetris dan Breakout akan menjadi dua starter saya juga. Apa pun yang lebih mudah dari itu tidak menawarkan stimulus yang cukup. Tetris adalah tes yang baik dalam cara tata letak data Anda, algojo adalah contoh matematika ringan. Saya selalu memberitahu orang-orang untuk membidik tinggi, tujuannya adalah untuk terjebak dan menghasilkan solusi.
Setelah itu, langit adalah batasnya. Sekali lagi, bidik tinggi. Coba platformer dengan medan miring, parralax dan Anda punya tas yang bagus berguna teknologi 2d. Tambahkan pinball (bersiaplah untuk frustrasi) dan matematika Anda akan meningkat.
Dari sana pergi ke dimensi ketiga, pelajari keterampilan inti (anim, rendering) dan Anda harus memiliki perlengkapan yang relatif baik untuk menghadapi beragam permainan yang bagus.
Saya akan mengatakan jenis permainan Tower Defense adalah tempat terbaik untuk memulai. Anda juga dapat mulai dengan memodulasi game / mesin yang sudah ada (WarCraft III / HalfLife2 SDK / dll.) Untuk memahami keseluruhan logika yang dibutuhkan, kemudian beralih menggunakan basis kode Anda sendiri.
Game pertamaku adalah Super Mario.
Bergeraklah, hindari rintangan, melompat. Dan semua tugas itu dapat dengan mudah dilakukan tanpa perhitungan fisika.
Ideal untuk mengambil hal 2D sederhana, karena Anda tidak akan banyak bergantung pada implementasi / kerangka / mesin tertentu.